diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 20e038f..c198387 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -186,15 +186,35 @@ jobs: run: | pnpm store prune pnpm install --no-frozen-lockfile - - name: ๐Ÿงน Lint - if: github.event.inputs.skip_checks != 'true' - run: pnpm --filter @mintel/web lint --max-warnings 999 - - name: ๐Ÿ” Typecheck - if: github.event.inputs.skip_checks != 'true' - run: pnpm --filter @mintel/web typecheck - name: ๐Ÿงช Test if: github.event.inputs.skip_checks != 'true' run: pnpm --filter @mintel/web test + - name: Inspect on Failure + if: failure() + run: | + echo "Listing root directory:" + ls -la + echo "Listing _at-mintel:" + ls -la _at-mintel || true + echo "Checking .npmrc:" + # Only redact the actual hex part, keep prefix for debugging + cat .npmrc | sed -E 's/authToken=[a-f0-9]{5}.*/authToken=REDACTED/' + - name: Extract QA Error Logs + if: failure() + run: | + mkdir -p logs + echo "Capturing state for debugging..." > logs/qa_state.log + ls -R >> logs/qa_state.log + + # Attempt to zip up for debugging + tar -czf logs/ci_state_qa.tar.gz . --exclude=.git --exclude=node_modules || true + + SSH_KEY_FILE=$(mktemp) + echo "${{ secrets.ALPHA_SSH_KEY }}" > "$SSH_KEY_FILE" + chmod 600 "$SSH_KEY_FILE" + + scp -v -o StrictHostKeyChecking=no -i "$SSH_KEY_FILE" logs/* root@alpha.mintel.me:/var/www/mintel.me/logs/ + rm "$SSH_KEY_FILE" # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ # JOB 3: Build & Push @@ -474,11 +494,17 @@ jobs: sed -i 's|../at-mintel|./_at-mintel|g' package.json - name: ๐Ÿ” Registry Auth run: | - echo "@mintel:registry=https://${{ vars.REGISTRY_HOST || 'npm.infra.mintel.me' }}" > .npmrc - echo "//${{ vars.REGISTRY_HOST || 'npm.infra.mintel.me' }}/:_authToken=${{ secrets.REGISTRY_PASS }}" >> .npmrc + TOKEN="${{ secrets.NPM_TOKEN }}" + if [ -z "$TOKEN" ]; then TOKEN="${{ secrets.MINTEL_PRIVATE_TOKEN }}"; fi + if [ -z "$TOKEN" ]; then TOKEN="${{ secrets.GITEA_PAT }}"; fi + if [ -z "$TOKEN" ]; then echo "โŒ Missing NPM_TOKEN / MINTEL_PRIVATE_TOKEN / GITEA_PAT secret!"; exit 1; fi + echo "Configuring .npmrc for git.infra.mintel.me..." + echo "@mintel:registry=https://git.infra.mintel.me/api/packages/mmintel/npm/" > .npmrc + echo "//git.infra.mintel.me/api/packages/mmintel/npm/:_authToken=${TOKEN}" >> .npmrc + echo "always-auth=true" >> .npmrc + echo "NPM_TOKEN=${TOKEN}" >> $GITHUB_ENV - name: Install dependencies - run: | - pnpm install --no-frozen-lockfile + run: pnpm install --no-frozen-lockfile - name: ๐Ÿฅ App Health Check shell: bash env: