Docker-Swarm-Loadbalancer/.github/workflows/docker.build.yml

42 lines
1.3 KiB
YAML

name: "Build: Docker"
permissions:
contents: read
packages: write
on:
workflow_call:
workflow_dispatch:
env:
PLATFORMS: ${{ var.PLATFORMS }}
jobs:
docker-build:
name: Build Swarm Load Balancer
runs-on: ubuntu-latest
steps:
- uses: benzine-framework/action-setup-php@main
- uses: benzine-framework/action-get-datetime@main
- uses: benzine-framework/action-setup-docker@main
with:
ghcr_user: ${{ vars.SERVICE_ACCOUNT_USERNAME }}
ghcr_token: ${{ secrets.SERVICE_ACCOUNT_TOKEN }}
- name: "Build & Push Candidate Image as ${{ env.CANDIDATE_IMAGE }}"
uses: docker/build-push-action@v5
with:
context: .
target: bouncer
build-args: |
GIT_SHA=${{ github.sha }}
GIT_BUILD_ID=${{ github.ref_name }}
GIT_COMMIT_MESSAGE=${{ github.event.head_commit.message }}
BUILD_DATE=${{ env.ATOM }}
platforms: ${{ github.actor != 'nektos/act' && env.PLATFORMS || 'linux/amd64' }}
pull: true
push: ${{ github.ref == 'refs/heads/main' }}
tags: |
${{ vars.LOADBALANCER_DOCKER_IMAGE }}:latest
${{ vars.LOADBALANCER_DOCKER_IMAGE }}:sha-${{ github.sha }}
cache-from: ${{ env.DOCKER_CACHE_FROM }}
cache-to: ${{ env.DOCKER_CACHE_TO }}