Skip to content

Commit

Permalink
Merge pull request #2 from axoflow/feat-trivy
Browse files Browse the repository at this point in the history
feat(ci): add trivy image scan
  • Loading branch information
OverOrion authored Feb 14, 2024
2 parents e3710fd + b70f9cc commit 74e1725
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 3 deletions.
32 changes: 32 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ jobs:
id-token: write
packages: write
contents: write
security-events: write

strategy:
matrix:
Expand Down Expand Up @@ -49,6 +50,7 @@ jobs:
echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- uses: goreleaser/goreleaser-action@v5
id: goreleaser-action
with:
distribution: goreleaser
version: v1.24.0
Expand All @@ -62,3 +64,33 @@ jobs:
with:
name: all-artifacts
path: dist/*/*

- name: Install jq
run: sudo apt-get install -y jq

- name: Extract Docker image with digest
id: image-with-digest
shell: bash
run: |
echo '${{ steps.goreleaser-action.outputs.artifacts }}' >> output-artifacts.json
DOCKER_IMAGE=$(jq -r '.[] | select(.type == "Docker Manifest" and (.path | test(":[0-9]+"))) | "\(.path)@\(.extra.Digest)"' ./output-artifacts.json)
echo "DOCKER_IMAGE=$DOCKER_IMAGE" >> "$GITHUB_OUTPUT"
- name: Run Trivy vulnerability scanner
uses: aquasecurity/[email protected]
with:
image-ref: ${{ steps.image-with-digest.outputs.DOCKER_IMAGE }}
format: sarif
output: trivy-results.sarif

- name: Upload Trivy scan results as artifact
uses: actions/upload-artifact@v4
with:
name: "[${{ github.job }}] Trivy scan results"
path: trivy-results.sarif
retention-days: 5

- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: trivy-results.sarif
5 changes: 2 additions & 3 deletions cmd/goreleaser/internal/configure.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,8 @@ func Generate(imagePrefixes []string, dists []string) config.Project {
NameTemplate: "{{ .ProjectName }}_checksums.txt",
},

Builds: Builds(dists),
Archives: Archives(dists),
//NFPMs: Packages(dists),
Builds: Builds(dists),
Archives: Archives(dists),
Dockers: DockerImages(imagePrefixes, dists),
DockerManifests: DockerManifests(imagePrefixes, dists),
}
Expand Down

0 comments on commit 74e1725

Please sign in to comment.