ci: add automated and on demand testing of fluence #27
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: fluence build-and deploy | |
on: | |
pull_request: [] | |
release: | |
types: [published] | |
push: | |
branches: | |
- main | |
jobs: | |
build-fluence: | |
permissions: | |
packages: write | |
env: | |
container: ghcr.io/flux-framework/fluence | |
runs-on: ubuntu-latest | |
name: build fluence | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: ^1.19 | |
- name: Build Containers | |
run: | | |
make prepare | |
make build REGISTRY=ghcr.io/flux-framework SCHEDULER_IMAGE=fluence | |
- 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-sidecar: | |
permissions: | |
packages: write | |
env: | |
container: ghcr.io/flux-framework/fluence-sidecar | |
runs-on: ubuntu-latest | |
name: build sidecar | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v3 | |
with: | |
go-version: ^1.19 | |
- name: Build Container | |
run: | | |
make prepare | |
make build-sidecar REGISTRY=ghcr.io/flux-framework SIDECAR_IMAGE=fluence-sidecar | |
- 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 |