name: Container Publish on: push: tags: - '*' schedule: - cron: "0 12 * * *" jobs: build-image: runs-on: ubuntu-latest container: image: catthehacker/ubuntu:act-latest steps: - uses: actions/checkout@v4 with: submodules: true # Fetch Hugo themes (true OR recursive) fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker BuildX uses: docker/setup-buildx-action@v3 - name: Login to registry uses: docker/login-action@v3 with: registry: git.libreschool.org username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_TOKEN }} - name: Build and publish uses: docker/build-push-action@v5 with: context: . file: ./Dockerfile platforms: linux/amd64 load: true tags: git.libreschool.org/bglug/bglug.it:latest - name: Run Trivy vulnerability scanner id: scan uses: aquasecurity/trivy-action@master with: image-ref: "git.libreschool.org/bglug/bglug.it:latest" format: "json" output: "trivy-results.json" - name: check output run: if [ $(jq '.Results[0].Vulnerabilities|length' trivy-results.json) -ne "0" ] ; then exit 1 ; fi - name: Build and publish uses: docker/build-push-action@v5 with: context: . file: ./Dockerfile platforms: linux/amd64 push: true tags: git.libreschool.org/bglug/bglug.it:latest - name: send mattermost notification uses: mattermost/action-mattermost-notify@master with: MATTERMOST_WEBHOOK_URL: ${{ secrets.MM_WEBHOOK_URL }} TEXT: | :white_check_mark: `${{ github.repository }}` A new container image has been pushed to `git.libreschool.org/bglug/bglug.it:latest` MATTERMOST_ICON: https://cdn3.iconfinder.com/data/icons/system-basic-vol-4-1/20/icon-note-attention-alt3-512.png