Skip to content

BETA Build -- Create and publish a Docker image #192

BETA Build -- Create and publish a Docker image

BETA Build -- Create and publish a Docker image #192

name: BETA Build -- Create and publish a Docker image
concurrency:
group: tourcalc-beta
cancel-in-progress: true
on:
push:
# run from any beta branch
branches: ['beta/**']
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build-and-push-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Get current time
uses: josStorer/get-current-time@v2
id: current-time
with:
format: YYYYMMDD-HHmmss
utcOffset: "+03:00"
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to the Container registry
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Extract branch name
shell: bash
run: echo "branch=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//\\\//g')" >> $GITHUB_OUTPUT
id: extract_branch
- name: linux/amd64,linux/arm64 Build and push Docker image
uses: docker/build-push-action@v3
with:
platforms: linux/amd64,linux/arm64
context: .
file: tourcalc.blazor.docker
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:beta-latest,${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:beta-${{ steps.current-time.outputs.formattedTime }}
build-args: |
BUILD_TYPE=betaB (${{ steps.extract_branch.outputs.branch }})
BUILD_PROPS=-p:RunAOTCompilation=false
labels: io.containers.autoupdate=registry