diff --git a/.github/workflows/trivy.yml b/.github/workflows/trivy.yml new file mode 100644 index 0000000..9ad0040 --- /dev/null +++ b/.github/workflows/trivy.yml @@ -0,0 +1,79 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Trivy-scan + +on: + push: + branches: [ "master" ] + pull_request: + # The branches below must be a subset of the branches above + branches: [ "master" ] + schedule: + - cron: '31 17 * * 2' +#env: + #TRIVY_JAVA_DB_REPOSITORY: github/aquasecurity/trivy-java-db:1 + #TRIVY_DB_REPOSITORY: github/aquasecurity/trivy-db:2 + +permissions: + contents: read + +jobs: + build: + permissions: + contents: read # for actions/checkout to fetch code + security-events: write # for github/codeql-action/upload-sarif to upload SARIF results + actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status + name: Build + runs-on: "ubuntu-22.04" + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Check disk space + run: df -h + #- name: Clear Git Untracked Files + #run: | + # git clean -fdx + #- name: Clear GitHub Actions Cache + # uses: actions/cache@v2 + # with: + # key: ${{ runner.os }}-build-${{ hashFiles('**/lockfile') }} + # path: | + # node_modules + # ~/Library/Caches/ + # action: clean + - name: Build an image from Dockerfile + run: | + # docker build -t docker.io/my-organization/my-app:${{ github.sha }} . + sudo docker system prune -f + sudo docker image prune -f + sudo docker container prune -f + sudo mkdir -p /etc/systemd/system/docker.service.d + sudo systemctl daemon-reload + sudo systemctl restart docker + cd ./ivsr_ffmpeg_plugin + ./build_docker.sh --enable_ov_patch true --ov_version 2022.3 + - name: Check disk space + run: df -h + + - name: Run Trivy vulnerability scanner + uses: aquasecurity/trivy-action@7b7aa264d83dc58691451798b4d117d53d21edfe + env: + TRIVY_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-db + TRIVY_JAVA_DB_REPOSITORY: public.ecr.aws/aquasecurity/trivy-java-db + with: + image-ref: 'ffmpeg_ivsr_sdk_ov2022.3' + #format: 'template' + #template: '@/contrib/sarif.tpl' + format: 'sarif' + ignore-unfixed: true + vuln-type: 'os,library' + output: 'trivy-ivsr-results.sarif' + severity: 'CRITICAL,HIGH' + + - name: Upload Trivy scan results to GitHub Security tab + uses: github/codeql-action/upload-sarif@v3 + with: + sarif_file: 'trivy-ivsr-results.sarif'