From cd6f8d84e454b6d0cae1cdfdeddbb83612776ec7 Mon Sep 17 00:00:00 2001 From: Jover Date: Tue, 23 May 2023 12:28:33 -0700 Subject: [PATCH 1/3] devel/download-latest: Explicitly get latest `main` version Add explicit check for the latest `main` version by pulling all package files and then filtering for the `main` label and finding the max `version`. --- devel/download-latest | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/devel/download-latest b/devel/download-latest index 2c5116b..5090160 100755 --- a/devel/download-latest +++ b/devel/download-latest @@ -8,10 +8,11 @@ CONDA_SUBDIR="${CONDA_SUBDIR:-$("$repo"/devel/conda-subdir)}" export CONDA_SUBDIR wget "$( - curl -fsSL https://api.anaconda.org/release/nextstrain/nextstrain-base/latest | jq -r ' - .distributions + curl -fsSL https://api.anaconda.org/package/nextstrain/nextstrain-base/files | jq -r ' + map(select(.labels|index("main"))) | map(select(.attrs.subdir == env.CONDA_SUBDIR)) - | .[0].download_url + | max_by(.version) + | .download_url | if startswith("//") then "https:\(.)" else . end ' )" From d50578840029d61097fa4899730e5c689a09966c Mon Sep 17 00:00:00 2001 From: Jover Date: Tue, 23 May 2023 12:54:36 -0700 Subject: [PATCH 2/3] devel/download-latest: Explicitly find max build number Explicitly downloads the max `build_number` for available distributions so that we are using the latest build. --- devel/download-latest | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/devel/download-latest b/devel/download-latest index 5090160..85a80cb 100755 --- a/devel/download-latest +++ b/devel/download-latest @@ -11,7 +11,10 @@ wget "$( curl -fsSL https://api.anaconda.org/package/nextstrain/nextstrain-base/files | jq -r ' map(select(.labels|index("main"))) | map(select(.attrs.subdir == env.CONDA_SUBDIR)) - | max_by(.version) + | (max_by(.version) | .version) as $max_version + | . + | map(select(.version == $max_version)) + | max_by(.attrs.build_number) | .download_url | if startswith("//") then "https:\(.)" else . end ' From 804a435ede9477a80e7b3f5cefb4ffc92ce3f17e Mon Sep 17 00:00:00 2001 From: Jover Lee Date: Tue, 23 May 2023 14:13:41 -0700 Subject: [PATCH 3/3] Refactor devel/download-latest Thanks @tsibley for pointing out that `max_by` accepts an array of paths and will sort in order of the provided array. Co-authored-by: Thomas Sibley --- devel/download-latest | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/devel/download-latest b/devel/download-latest index 85a80cb..31b10c0 100755 --- a/devel/download-latest +++ b/devel/download-latest @@ -11,10 +11,7 @@ wget "$( curl -fsSL https://api.anaconda.org/package/nextstrain/nextstrain-base/files | jq -r ' map(select(.labels|index("main"))) | map(select(.attrs.subdir == env.CONDA_SUBDIR)) - | (max_by(.version) | .version) as $max_version - | . - | map(select(.version == $max_version)) - | max_by(.attrs.build_number) + | max_by([.version, .attrs.build_number]) | .download_url | if startswith("//") then "https:\(.)" else . end '