-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mise à jour Elixir 1.15 -> 1.16 et Erlang 24 -> 25 #3815
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concernant Credo, comme discuté, je recommande vu le nouveau warning qui apparaît à l'upgrade, de créer une issue pour ne pas le perdre, puis de le désactiver par configuration.
Voir:
- Mises à jour de toutes les librairies (Elixir) possibles #3814 (comment)
- https://hexdocs.pm/elixir/naming-conventions.html#trailing-question-mark-foo
- https://github.com/etalab/transport-site/blob/master/.credo.exs
Il sera préférable d'avoir une PR dédiée à ce correctif pour ne pas rater d'autres choses.
@thbar j’ai des warnings sur des dépendances tierces lors de la compilation, voir ici https://app.circleci.com/pipelines/github/etalab/transport-site/9715/workflows/e13a436d-ee05-4f6b-803b-67d3a39ffb0c/jobs/42963/parallel-runs/0/steps/0-107 Rien de grave, à ton avis, on en fait quoi ? Juste je note ces warnings ici et quelles librairies ça concerne ? |
L'idéal c'est effectivement de noter ça en TODOs (façon Github L'enquête (qui n'a pas besoin d'être forcément d'être poussée) est une bonne opportunité de prendre le pouls de chaque dépendance, voir si elle est bien mise à jour régulièrement ou pas, et dans ce cas voir s'il y a ou pas déjà une issue/PR pour traiter ces warnings (qui ne posent pas problème à court terme), ou bien d'en ouvrir une nous-même pour faire avancer le schmilblick. |
C'est prêt à review, mais ne pas merger !!! |
Quelques points avant de partir en week-end:
Je décroche, on en reparle mardi ! |
Il reste un peu de test HTTP (historisation) que je ferai cet après-midi. Par ailleurs j'ai décalé la dizaine d'issues que j'avais déterré dans un ticket à part: Donc @vdegove je regarde le dernier point manquant (historisation HTTP) et après on pourra déployer à mon avis. |
J'ai refait un petit tour des téléchargements HTTP (point parfois sensible sur les mises à jour OTP), je ne vois rien de choquant, ça me paraît bon ! On mergera demain matin pour suivre tout ça. Script: DB.Resource
|> DB.Repo.all
|> Enum.reject(fn(x) -> x.dataset_id == 641 end)
|> Task.async_stream(fn(resource) ->
IO.puts "Processing #{resource.title} (#{resource.id})"
path = Path.expand(__ENV__.file <> "/../../cache-dir/test-regression-resource-#{resource.id}.dat")
report_path = path <> ".report"
unless File.exists?(report_path) do
result = Transport.Jobs.ResourceHistoryJob.download_resource(:req, resource, path)
File.write!(report_path, :erlang.term_to_binary(result))
end
result = File.read!(report_path) |> :erlang.binary_to_term()
IO.inspect(result, IEx.inspect_opts)
result
end, max_concurrency: 25, timeout: 60_000)
|> Stream.map(fn({:ok, res}) -> res end)
|> Enum.group_by(fn(x) ->
case x do
{:error, _} -> :error
{:ok, _, _} -> :ok
end
end, fn(x) ->
case x do
{:error, x} -> x
{:ok, _, _} -> 1
end
end)
|> IO.inspect(IEx.inspect_opts) |
Je vais mettre l'OS à jour - il y a eu une nouvelle release, et avec les histoires de |
@etalab/transport-tech pour avancer sur ce déploiement, j'ai besoin que l'un d'entre vous review etalab/transport-ops#58 pour mettre à jour l'OS avec les derniers patchs. Après cela je créerai une nouvelle image là-bas, et je mettrai à jour ici, et je ferai un dernier déploiement sur |
Déploiement fonctionnel en test très rapide sur |
Hum, test qui plante à nouveau ce n'était pas "temporaire". Je regarde. |
|
Pour le test, c'était au final non lié à la PR: On peut déployer. |
@@ -165,8 +165,7 @@ defmodule DB.Contact do | |||
|
|||
def organization_name(orgs) do | |||
certified_orgs = | |||
orgs | |||
|> Enum.filter(fn %DB.Organization{badges: badges} -> Enum.any?(badges, &match?(&1, %{"kind" => "certified"})) end) | |||
Enum.filter(orgs, fn %DB.Organization{badges: badges} -> %{"kind" => "certified"} in badges end) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cette partie gagnera à être retravaillée car c'est en fait une égalité stricte actuellement, et la construction précédente était "confusante" pour moi.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀 🎸 🚅
👏 bravo |
@ptitfred merci ! |
Changelogs :
ℹ️ On ne passe pas en OTP 26 pour le moment (voir #3315) en particulier car il y a des histoires d'ordre de clés dans les maps à mieux investiguer sur la code base et nos dépendances.
EDIT: pas mal de tickets créés sur des dépendances, mais rien de bloquant dans l'immédiat.
TODOs
Envisager de passer à OTP 26? (voir Notes pour la mise à jour à OTP 26 #3315) => c’est envisagé et c’est non.prochainement
)Points restants
EDIT: ne pas éditer ici, j'ai "décalé" ces points vers:
Note @thbar, à discuter
function set_flag/2 is unused
(mint)Regex.regex?/1 is deprecated
https://github.com/boydm/phoenix_markdown n'est pas maintenu (depuis 6 ans) - voir Replace phoenix_markdown axelclark/ex338#1219 ou similairesPlug.Conn.Query.decode_pair/2 is deprecated
Mise à jour "majeure" LiveView (0.19 -> 0.20) à prévoir #3831Correctifs de codes et mises à jour de librairies
Kernel.match?/2
fixe une erreur à la compilation.Warnings initiaux
Compilation
### Credo
Etc.
Note : résolu par Credo 1.7.2 https://hexdocs.pm/credo/changelog.html#1-7-2
Dialyzer
Tests
Warnings non traités de compilation de dépendances tierces après la PR