Compare commits

..

No commits in common. "2f443e5450b950c021a78d67ab275403a268b69b" and "3222c56ddbf35d75ae9f3dbd4bd26ba2f4162673" have entirely different histories.

View file

@ -236,16 +236,12 @@ jobs:
printf '%s' "$s"
}
# Extraction d'un champ JSON scalaire de premier niveau depuis un
# fichier. On ne lit que les premières lignes pour éviter de
# matcher un champ homonyme dans un objet imbriqué (par ex.
# le champ "id" de l'auteur d'une release Forgejo, qui vaut
# typiquement 1 pour le premier user du repo). Sans cette
# restriction, le PATCH sur /releases/<id extrait> tombe en
# 404 "The target couldn't be found".
# Extraction d'un champ JSON scalaire (string ou number) depuis
# un fichier. Utilise sed basique, suffisant pour les champs
# id / tag_name que l'API renvoie en clair.
json_field() {
local file="$1" field="$2"
head -3 "$file" | sed -n "s/.*\"$field\"[[:space:]]*:[[:space:]]*\"\?\([0-9][0-9]*\)\"\?.*/\1/p" | head -1
sed -n "s/.*\"$field\"[[:space:]]*:[[:space:]]*\"\?\([^\",}]*\)\"\?.*/\1/p" "$file" | head -1
}
# 1. Vérifier si la release existe déjà pour ce tag.