Skip to content

Generate Initial Checksums #4

Generate Initial Checksums

Generate Initial Checksums #4

name: Generate Initial Checksums
on:
workflow_dispatch:
inputs:
config-branch-name:
type: string
required: true
description: The configuration branch that will be run that will generate the checksums.
commit-checksums:
type: boolean
required: true
description: Commit the checksums to the target branch once generated. They will still be stored as a workflow artifact.
committed-checksum-location:
type: string
required: false
default: ./testing/checksum
description: "If checksums are being committed: Where in the repository the generated checksums should be committed to."
committed-checksum-tag-version:
type: string
required: false
description: "If checksums are being committed: The initial version for the git tag associated with the committed checksums."
jobs:
config:
name: Read Testing Configuration
runs-on: ubuntu-latest
outputs:
payu-version: ${{ steps.repro-config.outputs.payu-version }}
model-config-tests-version: ${{ steps.repro-config.outputs.model-config-tests-version }}
steps:
- name: Checkout main
uses: actions/checkout@v4
with:
ref: main
- name: Validate
uses: access-nri/schema/.github/actions/validate-with-schema@main
with:
schema-version: ${{ vars.CI_JSON_SCHEMA_VERSION }}
meta-schema-version: draft-2020-12
schema-location: au.org.access-nri/model/configuration/ci
data-location: config/ci.json
- name: Read reproducibility tests config
id: repro-config
uses: access-nri/model-config-tests/.github/actions/parse-ci-config@main
with:
check: reproducibility
branch-or-tag: ${{ inputs.config-branch-name }}
config-filepath: "config/ci.json"
log-inputs:
name: Log Inputs
needs:
- config
runs-on: ubuntu-latest
steps:
- run: |
echo '::notice::This deployment is using the following inputs: `config-branch-name`=`${{ inputs.config-branch-name }}`, `commit-checksums`=`${{ inputs.commit-checksums }}`, `committed-checksum-location`=`${{ inputs.committed-checksum-location }}`,`committed-checksum-tag-version`=`${{ inputs.committed-checksum-tag-version }}`.'
echo '::notice::This deployment is using Payu Version ${{ needs.config.outputs.payu-version }} and Model Config Tests Version ${{ needs.config.outputs.model-config-tests-version }}'
generate-checksums:
name: Generate Checksums
needs:
- log-inputs
- config
uses: access-nri/model-config-tests/.github/workflows/generate-checksums.yml@main
with:
config-branch-name: ${{ inputs.config-branch-name }}
commit-checksums: ${{ inputs.commit-checksums }}
committed-checksum-location: ${{ inputs.committed-checksum-location }}
committed-checksum-tag: ${{ inputs.committed-checksum-tag-version != '' && format('{0}-{1}', inputs.config-branch-name, inputs.committed-checksum-tag-version) || '' }}
environment-name: "Gadi Initial Checksum"
model-config-tests-version: ${{ needs.config.outputs.model-config-tests-version }}
payu-version: ${{ needs.config.outputs.payu-version }}
permissions:
contents: write
secrets: inherit