From f19b027c5dba91842104f2b4112176095a4a1019 Mon Sep 17 00:00:00 2001 From: le king fu Date: Sat, 10 Oct 2026 19:43:57 -0400 Subject: [PATCH] ci: fix the release run lookup in the /release skill The /actions/tasks endpoint ignores `limit` and returns the whole list, newest first, so `?limit=5` promised five rows it does not give. The skill now selects the release.yml run of the tag directly (python3, as verify-release.sh does), checked on v0.17.1: run 508, `v20.20.2`. Also clarify check-frontend.yml's concurrency comment: same setup as check-rust.yml, not the same group. Refs #376 Co-Authored-By: Claude Opus 5.5 --- .claude/skills/release/SKILL.md | 8 ++++++-- .forgejo/workflows/check-frontend.yml | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.claude/skills/release/SKILL.md b/.claude/skills/release/SKILL.md index ee64745..6589d44 100644 --- a/.claude/skills/release/SKILL.md +++ b/.claude/skills/release/SKILL.md @@ -45,10 +45,14 @@ updated: 2026-10-10 ``` Le script (token `~/.forgejo-token`) lit la release par tag, compte les 7 artefacts **par suffixe** (`.exe` NSIS, `.deb`, `.rpm`, leurs 3 signatures `.sig`, `latest.json` — les noms exacts varient selon la version de Tauri), puis télécharge `latest.json` (il pilote l'auto-update des installations existantes) et vérifie : `version`, `pub_date`, signature non vide et URL contenant la version pour `linux-x86_64` et `windows-x86_64`, notes non vides. Toute ligne `MANQUANT`, `VIDE` ou `MAUVAISE VERSION` bloque l'étape 10. Durée observée du run : 22 à 30 min sur les 12 dernières releases — poser le `Monitor` puis passer à autre chose. - **Lire aussi le Node.js du run.** `release.yml` n'est exercé qu'au tag : une montée de Node (Node 20 → 24 par #376) ne se prouve que dans ce journal. Il passe par la route web (l'API v1 des journaux répond 404) ; le `run_number` est celui de la ligne `release.yml` dont `head_branch` vaut le tag, dans `GET https://git.lacompagniemaximus.com/api/v1/repos/maximus/simpl-resultat/actions/tasks?limit=5` : + **Lire aussi le Node.js du run.** `release.yml` n'est exercé qu'au tag : une montée de Node (Node 20 → 24 par #376) ne se prouve que dans ce journal. Il passe par la route web (l'API v1 des journaux répond 404). Le `run_number` vient de `/actions/tasks`, qui rend toute la liste, la plus récente en tête (le paramètre `limit` y est ignoré) : ```bash + TAG=vX.Y.Z + RUN=$(curl -s -H "Authorization: token $(cat ~/.forgejo-token)" \ + "https://git.lacompagniemaximus.com/api/v1/repos/maximus/simpl-resultat/actions/tasks" \ + | python3 -c "import json,sys; print(next(t['run_number'] for t in json.load(sys.stdin)['workflow_runs'] if t['workflow_id']=='release.yml' and t['head_branch']==sys.argv[1]))" "$TAG") curl -sL -H "Authorization: token $(cat ~/.forgejo-token)" \ - "https://git.lacompagniemaximus.com/maximus/Simpl-Resultat/actions/runs//jobs/0/logs" \ + "https://git.lacompagniemaximus.com/maximus/Simpl-Resultat/actions/runs/$RUN/jobs/0/logs" \ | grep -m1 -E 'Z v[0-9]+\.[0-9]+\.[0-9]+\s*$' ``` Attendu : `v24.x`. C'est la sortie de `node --version` dans l'étape « Install base tools and runtimes », seule ligne de ce format dans le journal (la v0.17.1, run 508, affichait `v20.20.2`). Toute autre majeure est à expliquer avant l'étape 10. diff --git a/.forgejo/workflows/check-frontend.yml b/.forgejo/workflows/check-frontend.yml index 061a937..35758c6 100644 --- a/.forgejo/workflows/check-frontend.yml +++ b/.forgejo/workflows/check-frontend.yml @@ -25,8 +25,9 @@ on: - '*.md' - 'LICENSE' -# Same concurrency key as check-rust.yml, whose comment says what it does on -# Forgejo 8.0.3 (#376) and why each workflow has its own group. +# Same concurrency setup as check-rust.yml (own group, cancel-in-progress), +# whose comment says what it does on Forgejo 8.0.3 (#376) and why each +# workflow has its own group. concurrency: group: ci-frontend-${{ github.ref }} cancel-in-progress: true