docker-mastodon/.github/workflows/deploy.yml
2021-05-20 21:33:08 +02:00

52 lines
1.6 KiB
YAML

name: build
on:
workflow_dispatch:
push:
branches: [ master ]
schedule:
# Build the image regularly (each Friday)
- cron: '13 22 * * 5'
jobs:
build:
name: Build, scan & push
runs-on: "ubuntu-20.04"
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build an image from Dockerfile
run: |
docker build \
-t ghcr.io/wonderfall/mastodon \
-t ghcr.io/wonderfall/mastodon:$(grep -oP '(?<=MASTODON_VERSION=).*' Dockerfile | head -c8) \
-t ghcr.io/wonderfall/mastodon:$(grep -oP '(?<=MASTODON_VERSION=).*' Dockerfile | head -c3) \
.
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
image-ref: 'ghcr.io/wonderfall/mastodon'
format: 'template'
template: '@/contrib/sarif.tpl'
output: 'trivy-results.sarif'
severity: 'CRITICAL,HIGH'
vuln-type: "os"
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: 'trivy-results.sarif'
- name: Docker login
run: >-
echo "${{ secrets.GHCR_TOKEN }}"
| docker login -u "${{ github.actor }}" --password-stdin ghcr.io
- name: Push image to GitHub
run: |
docker push ghcr.io/wonderfall/mastodon
docker push ghcr.io/wonderfall/mastodon:$(grep -oP '(?<=MASTODON_VERSION=).*' Dockerfile | head -c8)
docker push ghcr.io/wonderfall/mastodon:$(grep -oP '(?<=MASTODON_VERSION=).*' Dockerfile | head -c3)