bglug.it/.gitea/workflows/build_and_push.yaml

66 lines
1.7 KiB
YAML

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@v4
with:
context: .
file: ./Dockerfile
platforms: |
linux/amd64
# linux/arm64
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@v4
with:
context: .
file: ./Dockerfile
platforms: |
linux/amd64
# linux/arm64
push: true
tags: git.libreschool.org/bglug/bglug.it:latest