Skip to content

feat(ci): make main workflow reusable #94

feat(ci): make main workflow reusable

feat(ci): make main workflow reusable #94

Workflow file for this run

name: trivy
on:
push:
schedule:
- cron: '44 19 * * 4'
workflow_call:
permissions:
contents: read
env:
DOCKERHUB_USERNAME: ${{ vars.DOCKERHUB_USERNAME }}
DOCKERHUB_REPOSITORY: ${{ vars.DOCKERHUB_REPOSITORY }}
TRIVY_DB_REPOSITORY: 'public.ecr.aws/aquasecurity/trivy-db'
TRIVY_JAVA_DB_REPOSITORY: 'public.ecr.aws/aquasecurity/trivy-java-db'
jobs:
scan:
permissions:
contents: read
security-events: write
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v4
- name: Build an image from Dockerfile
run: |
docker build -t ${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPOSITORY }}:dev .
- name: Run Trivy vulnerability scanner
uses: aquasecurity/[email protected]
with:
image-ref: '${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPOSITORY }}:dev'
format: 'table'
exit-code: 0
ignore-unfixed: true
severity: 'CRITICAL,HIGH'
- name: Store Trivy vulnerability scanner output
uses: aquasecurity/[email protected]
with:
image-ref: '${{ env.DOCKERHUB_USERNAME }}/${{ env.DOCKERHUB_REPOSITORY }}:dev'
format: 'sarif'
output: 'trivy-results.sarif'
ignore-unfixed: true
severity: 'CRITICAL,HIGH'
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: 'trivy-results.sarif'