ci: fix the release run lookup in the /release skill
All checks were successful
PR Check — Frontend / frontend (pull_request) Successful in 1m54s
PR Check — Rust / rust (pull_request) Successful in 3m41s

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 <noreply@anthropic.com>
This commit is contained in:
le king fu 2026-10-10 19:43:57 -04:00
parent 71a4e1e88f
commit f19b027c5d
2 changed files with 9 additions and 4 deletions

View file

@ -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/<run_number>/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.

View file

@ -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