-
-
Notifications
You must be signed in to change notification settings - Fork 31
50 lines (47 loc) · 1.56 KB
/
docker.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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 }}