Trivy Periodic Image Scan #99
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# | |
# This workflow scans the published container images | |
# for new vulnerabilities daily, publishing findings. | |
# Findings will be associated with the 'main' branch | |
# of the repo' in the GitHub Security tab. | |
# | |
name: Trivy Periodic Image Scan | |
on: | |
schedule: | |
# run daily | |
- cron: "0 0 * * *" | |
jobs: | |
lower-case: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Ensure image name is lower case | |
id: image_name | |
uses: vishalmamidi/lowercase-action@v1 | |
with: | |
string: ghcr.io/${{ github.repository }}:main # if rebuilding for a new tag does not also rebuild 'main', then change this to scan the latest tag | |
outputs: | |
lowercase: ${{ steps.image_name.outputs.lowercase }} | |
periodic-scan: | |
needs: lower-case | |
uses: "./.github/workflows/trivy.yml" | |
with: | |
SOURCE_TYPE: image | |
IMAGE_NAME: ${{ needs.lower-case.outputs.lowercase }} | |
# If scan failed, rebuild the image | |
update-image: | |
needs: periodic-scan | |
runs-on: ubuntu-latest | |
if: ${{needs.periodic-scan.outputs.trivy_conclusion == 'failure' }} | |
# tag the repo to trigger a new build | |
steps: | |
- name: Bump version and push tag | |
id: tag_version | |
uses: mathieudutour/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
... |