Skip to content

Merge branch 'master' of github.com:Algebraic-Programming/HiCR #39

Merge branch 'master' of github.com:Algebraic-Programming/HiCR

Merge branch 'master' of github.com:Algebraic-Programming/HiCR #39

Workflow file for this run

name: Merge into master - Build and Run Tests
# if statements modified to avoid: https://stackoverflow.com/questions/69354003/github-action-job-fire-when-previous-job-skipped
on:
push:
branches: ["master"]
env:
REGISTRY: ghcr.io
DOCKERIMAGE: ghcr.io/algebraic-programming/hicr/buildenv
jobs:
build-docker-arm64:
uses: Algebraic-Programming/HiCR/.github/workflows/master-build-workflow.yml@master
with:
os: ubuntu-24.04-arm
arch: arm64
build-docker-amd64:
uses: Algebraic-Programming/HiCR/.github/workflows/master-build-workflow.yml@master
with:
os: ubuntu-24.04
arch: amd64
push-buildenv-manifest:
runs-on: ubuntu-latest
needs: [ build-docker-amd64, build-docker-arm64 ]
if: |
always() &&
contains(needs.build-docker-amd64.result, 'success') &&
contains(needs.build-docker-arm64.result, 'success')
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Create and push manifest images
run:
docker buildx imagetools create --tag ${{ env.DOCKERIMAGE }}:latest ${{ env.DOCKERIMAGE }}:amd64-latest ${{ env.DOCKERIMAGE }}:arm64-latest
compile-and-test-arm64:
needs: [ push-buildenv-manifest ]
if: |
always() &&
(contains(needs.push-buildenv-manifest.result, 'success') || contains(needs.push-buildenv-manifest.result, 'skipped'))
uses: Algebraic-Programming/HiCR/.github/workflows/master-test-workflow.yml@master
with:
os: ubuntu-24.04-arm
arch: arm64
compile-and-test-amd64:
needs: [ push-buildenv-manifest ]
if: |
always() &&
(contains(needs.push-buildenv-manifest.result, 'success') || contains(needs.push-buildenv-manifest.result, 'skipped'))
uses: Algebraic-Programming/HiCR/.github/workflows/master-test-workflow.yml@master
with:
os: ubuntu-24.04
arch: amd64
build-acl-docker-arm64:
needs: [ push-buildenv-manifest ]
if: |
always() &&
(contains(needs.push-buildenv-manifest.result, 'success') || contains(needs.push-buildenv-manifest.result, 'skipped'))
uses: Algebraic-Programming/HiCR/.github/workflows/master-build-acl-workflow.yml@master
with:
os: ubuntu-24.04-arm
arch: arm64
build-acl-docker-amd64:
needs: [ push-buildenv-manifest ]
if: |
always() &&
(contains(needs.push-buildenv-manifest.result, 'success') || contains(needs.push-buildenv-manifest.result, 'skipped'))
uses: Algebraic-Programming/HiCR/.github/workflows/master-build-acl-workflow.yml@master
with:
os: ubuntu-24.04
arch: amd64
push-buildenv-acl-manifest:
runs-on: ubuntu-latest
needs: [ build-acl-docker-amd64, build-acl-docker-arm64 ]
if: |
always() &&
contains(needs.build-acl-docker-amd64.result, 'success') &&
contains(needs.build-acl-docker-arm64.result, 'success')
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Create and push manifest images
run:
docker buildx imagetools create --tag ${{ env.DOCKERIMAGE }}-acl:latest ${{ env.DOCKERIMAGE }}-acl:amd64-latest ${{ env.DOCKERIMAGE }}-acl:arm64-latest