pasty/.github/workflows/docker.yml

51 lines
1.6 KiB
YAML

name: docker
on:
push:
branches:
- master
- develop
paths-ignore:
- '**.md'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: checkout code
uses: actions/checkout@v2
- name: define branch name
run: echo "BRANCH=$(git rev-parse --abbrev-ref HEAD)" >> $GITHUB_ENV
- name: define commit hash
run: echo "COMMIT_HASH=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- name: define staging tag
if: env.BRANCH == 'develop'
run: echo "TAG=staging" >> $GITHUB_ENV
- name: define latest tag
if: env.BRANCH == 'master'
run: echo "TAG=latest" >> $GITHUB_ENV
- name: set up qemu
uses: docker/setup-qemu-action@v1
- name: set up buildx
id: docker_buildx
uses: docker/setup-buildx-action@v1
- name: log in to ghcr
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.SERVICE_USER }} # Defined in secrets for auth to registry
password: ${{ secrets.GITHUB_TOKEN }}
- name: build and push
uses: docker/build-push-action@v2
with:
builder: ${{ steps.docker_buildx.outputs.name }}
platforms: linux/amd64, linux/arm64
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}, ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.COMMIT_HASH }}
build-args:
PASTY_VERSION=${{ env.BRANCH }}-${{ env.COMMIT_HASH }}