|
33 | 33 | is_version_prerelease: ${{ steps.variables.outputs.is_version_prerelease }} |
34 | 34 | does_pull_request_exist: ${{ steps.pr_exists.outputs.does_pull_request_exist }} |
35 | 35 | pr_number: ${{ steps.pr_exists.outputs.pr_number }} |
| 36 | + skip_trivy_package: ${{ steps.skip_trivy.outputs.skip_trivy_package }} |
36 | 37 | steps: |
37 | 38 | - name: "Checkout code" |
38 | 39 | uses: actions/checkout@v5 |
|
72 | 73 | echo "does_pull_request_exist=false" >> $GITHUB_OUTPUT |
73 | 74 | echo "pr_number=" >> $GITHUB_OUTPUT |
74 | 75 | fi |
| 76 | + - name: "Determine if Trivy package scan should be skipped" |
| 77 | + id: skip_trivy |
| 78 | + env: |
| 79 | + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 80 | + PR_NUMBER: ${{ steps.pr_exists.outputs.pr_number }} |
| 81 | + run: | |
| 82 | + if [[ -z "$PR_NUMBER" ]]; then |
| 83 | + echo "No pull request detected; Trivy package scan will run." |
| 84 | + echo "skip_trivy_package=false" >> $GITHUB_OUTPUT |
| 85 | + exit 0 |
| 86 | + fi |
75 | 87 |
|
| 88 | + labels=$(gh pr view "$PR_NUMBER" --json labels --jq '.labels[].name') |
| 89 | + echo "Labels on PR #$PR_NUMBER: $labels" |
| 90 | +
|
| 91 | + if echo "$labels" | grep -Fxq 'skip-trivy-package'; then |
| 92 | + echo "skip_trivy_package=true" >> $GITHUB_OUTPUT |
| 93 | + else |
| 94 | + echo "skip_trivy_package=false" >> $GITHUB_OUTPUT |
| 95 | + fi |
76 | 96 | - name: "List variables" |
77 | 97 | run: | |
78 | 98 | export BUILD_DATETIME_LONDON="${{ steps.variables.outputs.build_datetime_london }}" |
|
96 | 116 | build_epoch: "${{ needs.metadata.outputs.build_epoch }}" |
97 | 117 | nodejs_version: "${{ needs.metadata.outputs.nodejs_version }}" |
98 | 118 | python_version: "${{ needs.metadata.outputs.python_version }}" |
| 119 | + skip_trivy_package: ${{ needs.metadata.outputs.skip_trivy_package == 'true' }} |
99 | 120 | terraform_version: "${{ needs.metadata.outputs.terraform_version }}" |
100 | 121 | version: "${{ needs.metadata.outputs.version }}" |
101 | 122 | # secrets: inherit |
|
0 commit comments