🐛 [scanner] fix: add nil guards for k8s client in API handlers #27661
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Preview Status Labels | |
| on: | |
| # Trigger when deployment status changes | |
| deployment_status: | |
| # Also trigger on PR close to clean up | |
| pull_request: | |
| types: [closed] | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| jobs: | |
| update-preview-label: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - name: Add preview-ready label on successful deployment | |
| if: | | |
| github.event_name == 'deployment_status' && | |
| github.event.deployment_status.state == 'success' && | |
| contains(github.event.deployment.environment, 'preview') | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| DEPLOY_URL: ${{ github.event.deployment_status.target_url }} | |
| REF: ${{ github.event.deployment.ref }} | |
| REPOSITORY: ${{ github.repository }} | |
| run: | | |
| # Extract PR number from deployment | |
| echo "Deployment URL: $DEPLOY_URL" | |
| # Get the PR number from the deployment ref | |
| echo "Deployment ref: $REF" | |
| # Find PR for this ref | |
| PR_NUM=$(gh api "repos/$REPOSITORY/pulls" \ | |
| --jq '.[] | select(.head.ref == env.REF) | .number' | head -1) | |
| if [ -n "$PR_NUM" ]; then | |
| echo "Found PR #$PR_NUM for ref $REF" | |
| # Create label if it doesn't exist | |
| gh label create "preview-ready" --repo "$REPOSITORY" \ | |
| --color "0e8a16" --description "Netlify preview deployment is ready" 2>/dev/null || true | |
| # Add label to PR | |
| gh pr edit "$PR_NUM" --repo "$REPOSITORY" --add-label "preview-ready" | |
| echo "Added preview-ready label to PR #$PR_NUM" | |
| else | |
| echo "No PR found for ref $REF" | |
| fi | |
| - name: Remove preview-ready label on failed deployment | |
| if: | | |
| github.event_name == 'deployment_status' && | |
| github.event.deployment_status.state == 'failure' && | |
| contains(github.event.deployment.environment, 'preview') | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| REF: ${{ github.event.deployment.ref }} | |
| REPOSITORY: ${{ github.repository }} | |
| run: | | |
| PR_NUM=$(gh api "repos/$REPOSITORY/pulls" \ | |
| --jq '.[] | select(.head.ref == env.REF) | .number' | head -1) | |
| if [ -n "$PR_NUM" ]; then | |
| gh pr edit "$PR_NUM" --repo "$REPOSITORY" --remove-label "preview-ready" 2>/dev/null || true | |
| echo "Removed preview-ready label from PR #$PR_NUM" | |
| fi | |
| - name: Remove preview-ready label on PR close | |
| if: github.event_name == 'pull_request' && github.event.action == 'closed' | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| PR_NUM: ${{ github.event.pull_request.number }} | |
| REPOSITORY: ${{ github.repository }} | |
| run: | | |
| gh pr edit "$PR_NUM" --repo "$REPOSITORY" --remove-label "preview-ready" 2>/dev/null || true | |
| echo "Removed preview-ready label from closed PR #$PR_NUM" |