42 lines
1.3 KiB
YAML
42 lines
1.3 KiB
YAML
name: Release Swarm Loadbalancer
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
|
|
on:
|
|
workflow_call:
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
CANDIDATE_IMAGE: ghcr.io/benzine-framework/bouncer:build-${{ github.sha }}
|
|
RELEASE_IMAGE_GHCR: ghcr.io/benzine-framework/bouncer:latest
|
|
RELEASE_IMAGE_DOCKER: benzine/bouncer:latest
|
|
|
|
jobs:
|
|
release:
|
|
name: Release Swarm Loadbalancer
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
registry:
|
|
- ghcr
|
|
- docker
|
|
fail-fast: false
|
|
steps:
|
|
- name: "Pull Candidate Image"
|
|
run: docker pull ${{ env.CANDIDATE_IMAGE }}
|
|
- name: "Login to Docker Hub"
|
|
if: matrix.registry == 'docker'
|
|
run: docker login -u matthewbaggett -p ${{ secrets.DOCKER_HUB_TOKEN }}
|
|
- name: "Login to GHCR"
|
|
if: matrix.registry == 'ghcr'
|
|
run: docker login ghcr.io -u matthewbaggett -p ${{ secrets.GITHUB_TOKEN }}
|
|
- name: "Tag Candidate Image"
|
|
run: docker tag ${{ env.CANDIDATE_IMAGE }} ${{ matrix.registry == 'ghcr' && env.RELEASE_IMAGE_GHCR || env.RELEASE_IMAGE_DOCKER }}
|
|
- name: "Push Release Image"
|
|
run: docker push ${{ matrix.registry == 'ghcr' && env.RELEASE_IMAGE_GHCR || env.RELEASE_IMAGE_DOCKER }}
|