Skip to content
This repository has been archived by the owner on Aug 16, 2024. It is now read-only.

Docker builds - manual and tagged #29

Docker builds - manual and tagged

Docker builds - manual and tagged #29

Workflow file for this run

name: Docker builds - manual and tagged
on:
workflow_dispatch:
inputs:
image_tag:
description: "Image Tag value"
type: "string"
required: true
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+-?[a-zA-Z]*'
- '[0-9]+.[0-9]+.[0-9]+'
- '!bwsm-eso-provider-*'
paths:
- src/**
jobs:
docker-image-build:
environment: 'dockerhub'
runs-on: ubuntu-latest
permissions:
contents: write
strategy:
matrix:
platform: [amd64, arm64]
steps:
- name: Code Checkout
uses: actions/checkout@v4
- name: Dockerhub Login
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PAT }}
- name: QEMU Setup
uses: docker/setup-qemu-action@v3
- name: Docker Buildx Setup
uses: docker/setup-buildx-action@v3
- name: Manual Build/Push
env:
DOCKER_BUILDKIT: 1
run: |
if [ ${{ matrix.platform }} == 'amd64' ]; then
BWS_DL_ARCH=x86_64
elif [ ${{ matrix.platform }} == 'arm64' ]; then
BWS_DL_ARCH=aarch64
fi
echo "BWS Platform: $BWS_DL_ARCH"
docker buildx build \
--platform linux/amd64,linux/arm64 \
--build-arg BWS_DL_ARCH=${BWS_DL_ARCH} \
-t bojanraic/bwsm-eso:${{ inputs.image_tag }} ./src
docker push bojanraic/bwsm-eso:${{ inputs.image_tag }}
- name: Tagged Build/Push
if: ${{ github.event_name != 'workflow_dispatch' }}
env:
DOCKER_BUILDKIT: 1
run: |
if [ ${{ matrix.platform }} == 'amd64' ]; then
BWS_DL_ARCH=x86_64
elif [ ${{ matrix.platform }} == 'arm64' ]; then
BWS_DL_ARCH=aarch64
fi
echo "BWS Platform: $BWS_DL_ARCH"
docker buildx build \
--platform linux/amd64,linux/arm64 \
--build-arg BWS_DL_ARCH=${BWS_DL_ARCH} \
-t bojanraic/bwsm-eso:${{ github.ref_name }} ./src
docker push bojanraic/bwsm-eso:${{ github.ref_name }}
docker tag bojanraic/bwsm-eso:${{ github.ref_name }} bojanraic/bwsm-eso:latest
docker push bojanraic/bwsm-eso:latest
- name: Tagged Release
if: ${{ github.event_name != 'workflow_dispatch' }}
uses: ncipollo/release-action@v1
with:
generateReleaseNotes: true
name: v${{ github.ref_name }}