ci(forgejo): build JSON bodies in pure bash, no python3 #29

Merged
notazof merged 1 commit from fix/forgejo-release-bash-json into release/1.0.6 2026-08-17 02:18:10 +01:00
Owner

Le run Forgejo Actions du tag 1.0.6 échoue au step publication avec command not found (exit 127). L'image runner pazof/yavsc-build-env n'a pas python3 (ni jq, ni node) — on l'a vu tout au long de cette session.

Le step publication Forgejo utilisait python3 pour générer les bodies JSON (POST /releases, PATCH /releases/{id}) et pour extraire le id de la réponse.

Fix : deux fonctions bash pures :

  • json_escape : escaping JSON des chaînes (\, ", \n, \r, \t).
  • json_field : extraction d'un champ scalaire depuis un fichier JSON via sed.

Suffisant pour les bodies qu'on envoie (tag_name, name, body, prerelease) et le champ qu'on lit (id).

Le run Forgejo Actions du tag `1.0.6` échoue au step publication avec `command not found` (exit 127). L'image runner `pazof/yavsc-build-env` n'a pas python3 (ni jq, ni node) — on l'a vu tout au long de cette session. Le step publication Forgejo utilisait python3 pour générer les bodies JSON (POST /releases, PATCH /releases/{id}) et pour extraire le `id` de la réponse. **Fix** : deux fonctions bash pures : - `json_escape` : escaping JSON des chaînes (\\, \", \n, \r, \t). - `json_field` : extraction d'un champ scalaire depuis un fichier JSON via sed. Suffisant pour les bodies qu'on envoie (tag_name, name, body, prerelease) et le champ qu'on lit (id).
L'image runner pazof/yavsc-build-env n'a pas python3 (ni jq, ni
node). Le step de publication Forgejo utilisait python3 pour générer
les bodies JSON (POST /releases, PATCH /releases/{id}) et pour
extraire le 'id' de la réponse.

Fix : deux fonctions bash :
- json_escape : escaping JSON des chaînes (\\, \", \n, \r, \t)
- json_field : extraction d'un champ scalaire d'un fichier JSON via sed

Suffisant pour les bodies qu'on envoie (tag_name, name, body,
prerelease) et les champs qu'on lit (id).
notazof merged commit 3222c56ddb into release/1.0.6 2026-08-17 02:18:10 +01:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
notazof/yavsc!29
No description provided.