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 }}