Skip to content

Build and push access-nri/build images #77

Build and push access-nri/build images

Build and push access-nri/build images #77

name: Build and push access-nri/build images
on:
workflow_dispatch:
inputs:
spack-packages-version:
required: true
type: string
default: "main"
description: "Either a git tag or branch name for the ACCESS-NRI/spack_packages repository, which defaults to the main branch"
model:
required: true
type: choice
default: "all"
options:
- access-om2
- access-om3
- all
jobs:
generate-matrix:
name: Generate Matrix of compilers and models
runs-on: ubuntu-latest
outputs:
model: ${{ steps.get-model.outputs.model }}
compiler: ${{ steps.get-compiler.outputs.compiler }}
steps:
- uses: actions/checkout@v3
- name: Determine correct model(s) to build
id: get-model
run: |
if [[ "${{ inputs.model }}" = "all" ]]; then
echo "model=['access-om2', 'access-om3']" >> $GITHUB_OUTPUT
else
echo "model=['${{ inputs.model }}']" >> $GITHUB_OUTPUT
fi
- name: Determine compilers to build
id: get-compiler
run: echo "compiler=$(jq -c . containers/compilers.json)" >> $GITHUB_OUTPUT
dependency-image-pipeline:
name: Generate images required for dependency image
needs:
- generate-matrix
strategy:
fail-fast: false
matrix:
model: ${{ fromJson(needs.generate-matrix.outputs.model) }}
compiler: ${{ fromJson(needs.generate-matrix.outputs.compiler) }}
uses: access-nri/build-ci/.github/workflows/dependency-image-pipeline.yml@main
with:
spack-packages-version: ${{ inputs.spack-packages-version }}
compiler-name: ${{ matrix.compiler.name }}
compiler-package: ${{ matrix.compiler.package }}
compiler-version: ${{ matrix.compiler.version }}
model: ${{ matrix.model }}
permissions:
contents: read
packages: write