Skip to content

Merge branch 'ayufan:master' into publish #8

Merge branch 'ayufan:master' into publish

Merge branch 'ayufan:master' into publish #8

Workflow file for this run

name: Publish Docker image as release
on:
push: {}
pull_request: {}
jobs:
build:
name: Push Docker image to gchr.io
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set App Version
run: |
echo "PBS_VERSION=$(cat release-version)" >> $GITHUB_ENV
- name: Set Tag Image Name
run: |
export NEED_IMAGE_PUSH=no
export BASE_IMAGE_NAME="ghcr.io/${{ github.repository_owner }}/pve-backup-server"
export IS_LATEST_IMAGE=n
echo "${GITHUB_REF}" | grep "refs/tags" >/dev/null && export NEED_IMAGE_PUSH=true && export IS_LATEST_IMAGE=y && export TAG_IMAGE_NAME="${BASE_IMAGE_NAME}:release-${GITHUB_REF#refs/*/v}" || true
echo "NEED_IMAGE_PUSH=${NEED_IMAGE_PUSH}" >> $GITHUB_ENV
echo "TAG_IMAGE_NAME=${TAG_IMAGE_NAME:-}" >> $GITHUB_ENV
[ "${IS_LATEST_IMAGE}" = "n" ] || echo "LATEST_IMAGE_NAME=${BASE_IMAGE_NAME}:latest" >> $GITHUB_ENV
- name: Set Commit Image Name
if: ${{ env.TAG_IMAGE_NAME == '' && env.GITHUB_REF_NAME == 'publish' }}
run: |
echo "TAG_IMAGE_NAME=${BASE_IMAGE_NAME}:commit-${GITHUB_SHA::8}" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
if: ${{ env.NEED_IMAGE_PUSH == 'true' }}
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.CR_PAT }}
- name: build and push
uses: docker/build-push-action@v2
with:
context: .
file: Dockerfile
build-args: |
VERSION=${{ env.PBS_VERSION }}
push: ${{ env.NEED_IMAGE_PUSH == 'true' }}
tags: |
${{ env.LATEST_IMAGE_NAME }}
${{ env.TAG_IMAGE_NAME }}