From 867475c3ff53503fb93f480c04030840f0b314bd Mon Sep 17 00:00:00 2001 From: Archicratia Date: Mon, 16 Mar 2026 12:14:01 +0100 Subject: [PATCH] fix(actions): tolerate empty label payload in proposer gate --- .gitea/workflows/proposer-apply-pr.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/proposer-apply-pr.yml b/.gitea/workflows/proposer-apply-pr.yml index 7db74c7..9e3bcfb 100644 --- a/.gitea/workflows/proposer-apply-pr.yml +++ b/.gitea/workflows/proposer-apply-pr.yml @@ -122,21 +122,25 @@ jobs: echo "Context:" sed -n '1,200p' /tmp/proposer.env - - name: Early gate + - name: Early gate (tolerant on empty issue label payload) run: | set -euo pipefail source /tmp/proposer.env + echo "event=$EVENT_NAME label=${LABEL_NAME:-}" + if [[ "$EVENT_NAME" == "issues" ]]; then - if [[ "$LABEL_NAME" != "state/approved" ]]; then - echo "issues/labeled but label=$LABEL_NAME -> skip" + # Gitea peut fournir un payload "issues/labeled" sans label exploitable. + # On ne skip QUE si le label est explicitement présent ET différent de state/approved. + if [[ -n "${LABEL_NAME:-}" && "$LABEL_NAME" != "state/approved" ]]; then + echo "issues/labeled with explicit non-approved label=$LABEL_NAME -> skip" echo 'SKIP=1' >> /tmp/proposer.env - echo 'SKIP_REASON="label_not_state_approved"' >> /tmp/proposer.env + echo 'SKIP_REASON="label_not_state_approved_event"' >> /tmp/proposer.env exit 0 fi fi - echo "Proceed" + echo "Proceed to API-based selection/gating" - name: Checkout default branch run: | @@ -284,6 +288,11 @@ jobs: [[ "${SKIP:-0}" == "1" ]] || exit 0 [[ "${EVENT_NAME:-}" != "push" ]] || exit 0 + if [[ "${SKIP_REASON:-}" == "label_not_state_approved_event" || "${SKIP_REASON:-}" == "label_not_state_approved" ]]; then + echo "Skip reason=${SKIP_REASON} -> no comment" + exit 0 + fi + test -n "${FORGE_TOKEN:-}" || exit 0 ISSUE_TO_COMMENT="${ISSUE_NUMBER:-0}" -- 2.49.1