Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a1cc5e0dbc | |||
| aaf550a4b5 | |||
| da4608fdf8 | |||
| 1147b5ac88 | |||
| 80609edb4a | |||
| e88b912005 | |||
| f17d07ebd5 | |||
| bdbbf62d54 | |||
| 755e1d877b | |||
| 21d6d0a0d4 | |||
| a1df1e3972 | |||
| 96f653553f | |||
| 18b347368a | |||
| 4b9138d8f8 |
@@ -10,15 +10,15 @@ jobs:
|
|||||||
name: Release
|
name: Release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Increment tag
|
- name: Increment tag
|
||||||
id: tag
|
id: tag
|
||||||
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@8d27605e8e6b2990e92e5aa75d703e602b8c4b2a # 0.1.28
|
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@d6ea474a97989499561ba86fa974ad33215369f0 # 0.1.36
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITEA_TOKEN }}
|
token: ${{ secrets.GITEA_TOKEN }}
|
||||||
- name: Push tag
|
- name: Push tag
|
||||||
uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@8973a9f9ff51c16b937364e0047e7ad07e937d3f # 0.1.4
|
uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@38c1bbd8bad3e7965744d03de85faa4a5b808d1b # 0.2.4
|
||||||
with:
|
with:
|
||||||
tag: ${{ steps.tag.outputs.new-tag }}
|
tag: ${{ steps.tag.outputs.new-tag }}
|
||||||
|
|||||||
@@ -8,16 +8,16 @@ jobs:
|
|||||||
name: Prerelease
|
name: Prerelease
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Increment tag
|
- name: Increment tag
|
||||||
id: tag
|
id: tag
|
||||||
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@8d27605e8e6b2990e92e5aa75d703e602b8c4b2a # 0.1.28
|
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@d6ea474a97989499561ba86fa974ad33215369f0 # 0.1.36
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITEA_TOKEN }}
|
token: ${{ secrets.GITEA_TOKEN }}
|
||||||
prerelease: true
|
prerelease: true
|
||||||
- name: Push tag
|
- name: Push tag
|
||||||
uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@8973a9f9ff51c16b937364e0047e7ad07e937d3f # 0.1.4
|
uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@38c1bbd8bad3e7965744d03de85faa4a5b808d1b # 0.2.4
|
||||||
with:
|
with:
|
||||||
tag: ${{ steps.tag.outputs.new-tag }}
|
tag: ${{ steps.tag.outputs.new-tag }}
|
||||||
|
|||||||
@@ -23,6 +23,11 @@ on:
|
|||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: ""
|
default: ""
|
||||||
|
scan-fs:
|
||||||
|
description: "Run Trivy file system scan on the repository root."
|
||||||
|
required: false
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
outputs:
|
outputs:
|
||||||
merged-sarif-artifact:
|
merged-sarif-artifact:
|
||||||
description: "Artifact name containing the merged SARIF file (download this artifact; file inside is merged-sarif.json)."
|
description: "Artifact name containing the merged SARIF file (download this artifact; file inside is merged-sarif.json)."
|
||||||
@@ -36,9 +41,9 @@ jobs:
|
|||||||
if: inputs.scan-config
|
if: inputs.scan-config
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-trivy@1.4.4
|
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-trivy@a6508d695d7bb6137f14372392d5c312c98225cf # 1.4.7
|
||||||
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-db@1.4.4
|
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-db@a6508d695d7bb6137f14372392d5c312c98225cf # 1.4.7
|
||||||
- run: |
|
- run: |
|
||||||
trivy config --cache-dir "$TRIVY_CACHE_DIR" --exit-code 0 --format sarif --output config-sarif.json .
|
trivy config --cache-dir "$TRIVY_CACHE_DIR" --exit-code 0 --format sarif --output config-sarif.json .
|
||||||
env:
|
env:
|
||||||
@@ -52,12 +57,12 @@ jobs:
|
|||||||
if: inputs.scan-images
|
if: inputs.scan-images
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-trivy@1.4.4
|
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-trivy@a6508d695d7bb6137f14372392d5c312c98225cf # 1.4.7
|
||||||
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-db@1.4.4
|
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-db@a6508d695d7bb6137f14372392d5c312c98225cf # 1.4.7
|
||||||
- name: Get images from files
|
- name: Get images from files
|
||||||
id: get-images
|
id: get-images
|
||||||
uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/get-images-from-files@1.4.4
|
uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/get-images-from-files@a6508d695d7bb6137f14372392d5c312c98225cf # 1.4.7
|
||||||
with:
|
with:
|
||||||
files: ${{ inputs.image-scan-files }}
|
files: ${{ inputs.image-scan-files }}
|
||||||
- name: Pull images
|
- name: Pull images
|
||||||
@@ -97,7 +102,7 @@ jobs:
|
|||||||
TRIVY_CACHE_DIR: ${{ runner.temp }}/trivy
|
TRIVY_CACHE_DIR: ${{ runner.temp }}/trivy
|
||||||
- name: Merge image SARIF files
|
- name: Merge image SARIF files
|
||||||
if: steps.get-images.outputs.images != '[]' && steps.scan.outputs.count != '0'
|
if: steps.get-images.outputs.images != '[]' && steps.scan.outputs.count != '0'
|
||||||
uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/merge-sarif-files@1.4.4
|
uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/merge-sarif-files@a6508d695d7bb6137f14372392d5c312c98225cf # 1.4.7
|
||||||
with:
|
with:
|
||||||
files: ${{ steps.scan.outputs.files }}
|
files: ${{ steps.scan.outputs.files }}
|
||||||
output-file: image-sarif.json
|
output-file: image-sarif.json
|
||||||
@@ -110,9 +115,28 @@ jobs:
|
|||||||
name: image-sarif
|
name: image-sarif
|
||||||
path: image-sarif.json
|
path: image-sarif.json
|
||||||
|
|
||||||
|
fs-scan:
|
||||||
|
if: inputs.scan-fs
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
|
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-trivy@a6508d695d7bb6137f14372392d5c312c98225cf # 1.4.7
|
||||||
|
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-db@a6508d695d7bb6137f14372392d5c312c98225cf # 1.4.7
|
||||||
|
- run: |
|
||||||
|
server="${{ inputs.trivy-server-url }}"
|
||||||
|
args=(fs --cache-dir "$TRIVY_CACHE_DIR" --exit-code 0 --format sarif --output fs-sarif.json --scanners vuln .)
|
||||||
|
[ -n "$server" ] && args+=(--server "$server")
|
||||||
|
trivy "${args[@]}"
|
||||||
|
env:
|
||||||
|
TRIVY_CACHE_DIR: ${{ runner.temp }}/trivy
|
||||||
|
- uses: https://github.com/ChristopherHX/gitea-upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: fs-sarif
|
||||||
|
path: fs-sarif.json
|
||||||
|
|
||||||
merge:
|
merge:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [config-scan, image-scan]
|
needs: [config-scan, image-scan, fs-scan]
|
||||||
if: always() && (needs.config-scan.result == 'success' || needs.config-scan.result == 'skipped') && (needs.image-scan.result == 'success' || needs.image-scan.result == 'skipped') && (inputs.scan-config || inputs.scan-images)
|
if: always() && (needs.config-scan.result == 'success' || needs.config-scan.result == 'skipped') && (needs.image-scan.result == 'success' || needs.image-scan.result == 'skipped') && (inputs.scan-config || inputs.scan-images)
|
||||||
outputs:
|
outputs:
|
||||||
merged-sarif-artifact: ${{ steps.outputs.outputs.merged-sarif-artifact }}
|
merged-sarif-artifact: ${{ steps.outputs.outputs.merged-sarif-artifact }}
|
||||||
@@ -145,12 +169,15 @@ jobs:
|
|||||||
if [ "${{ inputs.scan-images }}" = "true" ] && [ -f image-sarif-artifact/image-sarif.json ]; then
|
if [ "${{ inputs.scan-images }}" = "true" ] && [ -f image-sarif-artifact/image-sarif.json ]; then
|
||||||
[ -n "$files" ] && files="$files"$'\n'" - image-sarif-artifact/image-sarif.json" || files="- image-sarif-artifact/image-sarif.json"
|
[ -n "$files" ] && files="$files"$'\n'" - image-sarif-artifact/image-sarif.json" || files="- image-sarif-artifact/image-sarif.json"
|
||||||
fi
|
fi
|
||||||
|
if [ "${{ inputs.scan-fs }}" = "true" ] && [ -f fs-sarif-artifact/fs-sarif.json ]; then
|
||||||
|
[ -n "$files" ] && files="$files"$'\n'" - fs-sarif-artifact/fs-sarif.json" || files="- fs-sarif-artifact/fs-sarif.json"
|
||||||
|
fi
|
||||||
echo "files<<EOF" >> "$GITHUB_OUTPUT"
|
echo "files<<EOF" >> "$GITHUB_OUTPUT"
|
||||||
echo "$files" >> "$GITHUB_OUTPUT"
|
echo "$files" >> "$GITHUB_OUTPUT"
|
||||||
echo "EOF" >> "$GITHUB_OUTPUT"
|
echo "EOF" >> "$GITHUB_OUTPUT"
|
||||||
- name: Merge SARIF files
|
- name: Merge SARIF files
|
||||||
id: merge-step
|
id: merge-step
|
||||||
uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/merge-sarif-files@1.4.4
|
uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/merge-sarif-files@a6508d695d7bb6137f14372392d5c312c98225cf # 1.4.7
|
||||||
with:
|
with:
|
||||||
files: ${{ steps.file-list.outputs.files }}
|
files: ${{ steps.file-list.outputs.files }}
|
||||||
output-file: merged-sarif.json
|
output-file: merged-sarif.json
|
||||||
|
|||||||
Reference in New Issue
Block a user