Merge pull request 'ci(forgejo): limit json_field extraction to top-level keys' (#30) from fix/forgejo-release-json-field-id into release/1.0.6
Reviewed-on: #30
This commit is contained in:
commit
2f443e5450
1 changed files with 8 additions and 4 deletions
|
|
@ -236,12 +236,16 @@ jobs:
|
|||
printf '%s' "$s"
|
||||
}
|
||||
|
||||
# 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.
|
||||
# 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".
|
||||
json_field() {
|
||||
local file="$1" field="$2"
|
||||
sed -n "s/.*\"$field\"[[:space:]]*:[[:space:]]*\"\?\([^\",}]*\)\"\?.*/\1/p" "$file" | head -1
|
||||
head -3 "$file" | sed -n "s/.*\"$field\"[[:space:]]*:[[:space:]]*\"\?\([0-9][0-9]*\)\"\?.*/\1/p" | head -1
|
||||
}
|
||||
|
||||
# 1. Vérifier si la release existe déjà pour ce tag.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue