feat: deployment support and ungate as jobs #15
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: fluxqueue build-and deploy | |
on: | |
pull_request: {} | |
release: | |
types: [published] | |
push: | |
branches: | |
- main | |
jobs: | |
build-fluxqueue: | |
permissions: | |
packages: write | |
env: | |
container: ghcr.io/converged-computing/fluxqueue | |
runs-on: ubuntu-latest | |
name: build fluxqueue controller | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: ^1.22 | |
- name: Build Container | |
run: make docker-build | |
- name: Tag Release Image | |
if: (github.event_name == 'release') | |
run: | | |
tag=${GITHUB_REF#refs/tags/} | |
echo "Tagging and releasing ${{ env.container}}:${tag}" | |
docker tag ${{ env.container }}:latest ${{ env.container }}:${tag} | |
- name: GHCR Login | |
if: (github.event_name != 'pull_request') | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Deploy Container | |
if: (github.event_name != 'pull_request') | |
run: docker push ${{ env.container }} --all-tags | |
build-postgres: | |
permissions: | |
packages: write | |
env: | |
container: ghcr.io/converged-computing/fluxqueue-postgres | |
runs-on: ubuntu-latest | |
name: build postgres | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: ^1.22 | |
- name: Build Container | |
run: make build-postgres | |
- name: Tag Release Image | |
if: (github.event_name == 'release') | |
run: | | |
tag=${GITHUB_REF#refs/tags/} | |
echo "Tagging and releasing ${{ env.container}}:${tag}" | |
docker tag ${{ env.container }}:latest ${{ env.container }}:${tag} | |
- name: GHCR Login | |
if: (github.event_name != 'pull_request') | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Deploy Container | |
if: (github.event_name != 'pull_request') | |
run: docker push ${{ env.container }} --all-tags | |
build-scheduler: | |
permissions: | |
packages: write | |
env: | |
container: ghcr.io/converged-computing/fluxqueue-scheduler | |
runs-on: ubuntu-latest | |
name: build scheduler | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: ^1.22 | |
- name: Build Container | |
run: make build-scheduler | |
- name: Tag Release Image | |
if: (github.event_name == 'release') | |
run: | | |
tag=${GITHUB_REF#refs/tags/} | |
echo "Tagging and releasing ${{ env.container}}:${tag}" | |
docker tag ${{ env.container }}:latest ${{ env.container }}:${tag} | |
- name: GHCR Login | |
if: (github.event_name != 'pull_request') | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Deploy Container | |
if: (github.event_name != 'pull_request') | |
run: docker push ${{ env.container }} --all-tags |