From d153f71be6627ffc4946919a10d2cd74c59eddc7 Mon Sep 17 00:00:00 2001 From: Archicratia Date: Tue, 3 Mar 2026 12:26:11 +0100 Subject: [PATCH] ci: fix proposer apply workflow (checkout before APP_DIR detect) --- .gitea/workflows/proposer-apply-pr.yml | 63 ++++++++------------------ 1 file changed, 20 insertions(+), 43 deletions(-) diff --git a/.gitea/workflows/proposer-apply-pr.yml b/.gitea/workflows/proposer-apply-pr.yml index 8609ab1..11c6f9f 100644 --- a/.gitea/workflows/proposer-apply-pr.yml +++ b/.gitea/workflows/proposer-apply-pr.yml @@ -108,22 +108,6 @@ jobs: echo "✅ context:" sed -n '1,120p' /tmp/proposer.env - - name: Detect app dir (repo-root vs ./site) - run: | - set -euo pipefail - source /tmp/proposer.env - - APP_DIR="." - if [[ -d "site" && -f "site/package.json" ]]; then - APP_DIR="site" - fi - - echo "APP_DIR=$APP_DIR" >> /tmp/proposer.env - echo "✅ APP_DIR=$APP_DIR" - ls -la "$APP_DIR" | sed -n '1,80p' - test -f "$APP_DIR/package.json" || { echo "❌ package.json missing in APP_DIR=$APP_DIR"; exit 1; } - test -d "$APP_DIR/scripts" || { echo "❌ scripts/ missing in APP_DIR=$APP_DIR"; exit 1; } - - name: Gate on label state/approved run: | set -euo pipefail @@ -233,6 +217,25 @@ jobs: git fetch --depth 1 origin "$DEFAULT_BRANCH" git -c advice.detachedHead=false checkout -q FETCH_HEAD git log -1 --oneline + echo "✅ workspace:" + ls -la | sed -n '1,120p' + + - name: Detect app dir (repo-root vs ./site) + run: | + set -euo pipefail + source /tmp/proposer.env + [[ "${SKIP:-0}" != "1" ]] || { echo "ℹ️ skipped"; exit 0; } + + APP_DIR="." + if [[ -d "site" && -f "site/package.json" ]]; then + APP_DIR="site" + fi + + echo "APP_DIR=$APP_DIR" >> /tmp/proposer.env + echo "✅ APP_DIR=$APP_DIR" + ls -la "$APP_DIR" | sed -n '1,120p' + test -f "$APP_DIR/package.json" || { echo "❌ package.json missing in APP_DIR=$APP_DIR"; exit 1; } + test -d "$APP_DIR/scripts" || { echo "❌ scripts/ missing in APP_DIR=$APP_DIR"; exit 1; } - name: NPM harden (reduce flakiness) run: | @@ -284,7 +287,7 @@ jobs: export GITEA_OWNER="$OWNER" export GITEA_REPO="$REPO" - export FORGE_BASE="$API_BASE" # fallback utile pour apply-ticket si FORGE_API absent + export FORGE_BASE="$API_BASE" LOG="/tmp/proposer-apply.log" set +e @@ -310,32 +313,6 @@ jobs: echo "END_SHA=$END_SHA" >> /tmp/proposer.env fi - - name: Comment issue on failure - if: ${{ always() }} - env: - FORGE_TOKEN: ${{ secrets.FORGE_TOKEN }} - run: | - set -euo pipefail - source /tmp/proposer.env || true - [[ "${SKIP:-0}" != "1" ]] || exit 0 - - RC="${APPLY_RC:-0}" - if [[ "$RC" == "0" ]]; then - exit 0 - fi - - BODY="(no log)" - [[ -f /tmp/proposer-apply.log ]] && BODY="$(tail -n 160 /tmp/proposer-apply.log | sed 's/\r$//')" - - MSG="❌ Proposer Apply échoué (rc=${RC}).\n\n\`\`\`\n${BODY}\n\`\`\`\n" - PAYLOAD="$(node --input-type=module -e 'console.log(JSON.stringify({body: process.argv[1]||""}))' "$MSG")" - - curl -fsS -X POST \ - -H "Authorization: token $FORGE_TOKEN" \ - -H "Content-Type: application/json" \ - "$API_BASE/api/v1/repos/$OWNER/$REPO/issues/$ISSUE_NUMBER/comments" \ - --data-binary "$PAYLOAD" - - name: Push bot branch if: ${{ always() }} env: -- 2.49.1