Update build process with requested changes

- push to both Docker Hub and Github registry
- use git tags for versioning
- update Docker tags to reflect the git tags and commit SHA
This commit is contained in:
Kovah 2022-05-05 20:32:48 +02:00 committed by James Long
parent 3124c29052
commit 3df101a91d

View file

@ -1,9 +1,10 @@
name: Build Docker Image
# Docker Images are only built when a new tag is created
on:
push:
branches:
- master
tags:
- 'v*.*.*'
jobs:
build:
@ -18,12 +19,39 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Github
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
# Push to both Docker Hub and Github Container Registry
images: |
actualbudget/actual-server
ghcr.io/actualbudget/actual-server
# Creates the following tags:
# - actual-server:latest
# - actual-server:1.3
# - actual-server:1.3.7
# - actual-server:sha-90dd603
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=sha
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push standard image
uses: docker/build-push-action@v2
with:
@ -39,4 +67,4 @@ jobs:
push: true
file: Dockerfile.alpine
platforms: linux/amd64,linux/arm64
tags: ${{ secrets.DOCKERHUB_PROJECT }}:alpine
tags: ${{ steps.meta.outputs.tags }}