|
28 | 28 | is_version_prerelease: ${{ steps.variables.outputs.is_version_prerelease }} |
29 | 29 | does_pull_request_exist: ${{ steps.pr_exists.outputs.does_pull_request_exist }} |
30 | 30 | pr_number: ${{ steps.pr_exists.outputs.pr_number }} |
| 31 | + skip_trivy_package: ${{ steps.skip_trivy.outputs.skip_trivy_package }} |
31 | 32 | steps: |
32 | 33 | - name: "Checkout code" |
33 | 34 | uses: actions/checkout@v5 |
|
66 | 67 | echo "does_pull_request_exist=false" >> $GITHUB_OUTPUT |
67 | 68 | echo "pr_number=" >> $GITHUB_OUTPUT |
68 | 69 | fi |
| 70 | + - name: "Determine if Trivy package scan should be skipped" |
| 71 | + id: skip_trivy |
| 72 | + env: |
| 73 | + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 74 | + PR_NUMBER: ${{ steps.pr_exists.outputs.pr_number }} |
| 75 | + run: | |
| 76 | + if [[ -z "$PR_NUMBER" ]]; then |
| 77 | + echo "No pull request detected; Trivy package scan will run." |
| 78 | + echo "skip_trivy_package=false" >> $GITHUB_OUTPUT |
| 79 | + exit 0 |
| 80 | + fi |
| 81 | +
|
| 82 | + labels=$(gh pr view "$PR_NUMBER" --json labels --jq '.labels[].name') |
| 83 | + echo "Labels on PR #$PR_NUMBER: $labels" |
| 84 | +
|
| 85 | + if echo "$labels" | grep -Fxq 'skip-trivy-package'; then |
| 86 | + echo "skip_trivy_package=true" >> $GITHUB_OUTPUT |
| 87 | + else |
| 88 | + echo "skip_trivy_package=false" >> $GITHUB_OUTPUT |
| 89 | + fi |
69 | 90 | - name: "List variables" |
70 | 91 | run: | |
71 | 92 | export BUILD_DATETIME_LONDON="${{ steps.variables.outputs.build_datetime_london }}" |
|
89 | 110 | build_epoch: "${{ needs.metadata.outputs.build_epoch }}" |
90 | 111 | nodejs_version: "${{ needs.metadata.outputs.nodejs_version }}" |
91 | 112 | python_version: "${{ needs.metadata.outputs.python_version }}" |
| 113 | + skip_trivy_package: ${{ needs.metadata.outputs.skip_trivy_package == 'true' }} |
92 | 114 | terraform_version: "${{ needs.metadata.outputs.terraform_version }}" |
93 | 115 | version: "${{ needs.metadata.outputs.version }}" |
94 | 116 | secrets: inherit |
|
0 commit comments