diff --git a/.github/build-ci/config/include.yaml b/.github/build-ci/config/include.yaml new file mode 100644 index 0000000000..8c8139c716 --- /dev/null +++ b/.github/build-ci/config/include.yaml @@ -0,0 +1,6 @@ +# This file is included via the manifest +include: + - git: https://github.com/ACCESS-NRI/access-spack-packages + branch: api-v2 + paths: + - .github/build-ci/config/include diff --git a/.github/build-ci/config/packages.yaml b/.github/build-ci/config/packages.yaml new file mode 100644 index 0000000000..e467828968 --- /dev/null +++ b/.github/build-ci/config/packages.yaml @@ -0,0 +1,4 @@ +packages: + access3: + require: + - 'configurations=MOM6,MOM6-CICE6,MOM6-CICE6-WW3' diff --git a/.github/build-ci/data/standard.json b/.github/build-ci/data/standard.json deleted file mode 100644 index c35167a8bc..0000000000 --- a/.github/build-ci/data/standard.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "oneapi_compiler_version": "2025.2.0", - "target": "x86_64" -} diff --git a/.github/build-ci/manifests/oneapi_access-om3_asymm.spack.yaml.j2 b/.github/build-ci/manifests/oneapi_access-om3_asymm.spack.yaml.j2 index 1c15d1636f..e328e4564b 100644 --- a/.github/build-ci/manifests/oneapi_access-om3_asymm.spack.yaml.j2 +++ b/.github/build-ci/manifests/oneapi_access-om3_asymm.spack.yaml.j2 @@ -1,27 +1,11 @@ spack: + include: + # Include configuration from this repository, with the environment variable defined in build-ci + - path: $SPACK_MANIFEST_REPOSITORY_PATH/.github/build-ci/config specs: - 'access-om3@latest ^openmpi' packages: - cmake: - require: - - '@3.31.6:' - access3: - require: - - 'configurations=MOM6,MOM6-CICE6,MOM6-CICE6-WW3' access-mom6: require: - - '@git.{{ ref }}=stable +asymmetric_mem +mom6_solo' - gcc-runtime: - require: - - '%access_gcc' - - 'target={{ target }}' - intel-oneapi-compilers: - require: - - '@{{ oneapi_compiler_version }}' - all: - require: - - '%access_oneapi' - - 'target={{ target }}' - concretizer: - unify: false + - '@git.{{ ref }}=stable +asymmetric_mem +mom6_solo %%access_oneapi' view: false diff --git a/.github/build-ci/manifests/oneapi_access-om3_symm.spack.yaml.j2 b/.github/build-ci/manifests/oneapi_access-om3_symm.spack.yaml.j2 index 6d1641734f..67f3bd32ba 100644 --- a/.github/build-ci/manifests/oneapi_access-om3_symm.spack.yaml.j2 +++ b/.github/build-ci/manifests/oneapi_access-om3_symm.spack.yaml.j2 @@ -1,27 +1,11 @@ spack: + include: + # Include configuration from this repository, with the environment variable defined in build-ci + - path: $SPACK_MANIFEST_REPOSITORY_PATH/.github/build-ci/config specs: - 'access-om3@latest ^openmpi' packages: - cmake: - require: - - '@3.31.6:' - access3: - require: - - 'configurations=MOM6,MOM6-CICE6,MOM6-CICE6-WW3' access-mom6: require: - - '@git.{{ ref }}=stable ~asymmetric_mem +mom6_solo' - gcc-runtime: - require: - - '%access_gcc' - - 'target={{ target }}' - intel-oneapi-compilers: - require: - - '@{{ oneapi_compiler_version }}' - all: - require: - - '%access_oneapi' - - 'target={{ target }}' - concretizer: - unify: false + - '@git.{{ ref }}=stable ~asymmetric_mem +mom6_solo %%access_oneapi' view: false diff --git a/.github/build-ci/manifests/oneapi_mom6_access3.spack.yaml.j2 b/.github/build-ci/manifests/oneapi_mom6_access3.spack.yaml.j2 index 2593386183..3969747e23 100644 --- a/.github/build-ci/manifests/oneapi_mom6_access3.spack.yaml.j2 +++ b/.github/build-ci/manifests/oneapi_mom6_access3.spack.yaml.j2 @@ -1,21 +1,7 @@ spack: + include: + # Include configuration from this repository, with the environment variable defined in build-ci + - path: $SPACK_MANIFEST_REPOSITORY_PATH/.github/build-ci/config specs: - - 'access-mom6@git.{{ ref }}=stable +access3 ~mom6_solo ^openmpi' - packages: - cmake: - require: - - '@3.31.6:' - gcc-runtime: - require: - - '%access_gcc' - - 'target={{ target }}' - intel-oneapi-compilers: - require: - - '@{{ oneapi_compiler_version }}' - all: - require: - - '%access_oneapi' - - 'target={{ target }}' - concretizer: - unify: false + - 'access-mom6@git.{{ ref }}=stable +access3 ~mom6_solo %%access_oneapi ^openmpi' view: false diff --git a/.github/build-ci/manifests/oneapi_mom6_solo.spack.yaml.j2 b/.github/build-ci/manifests/oneapi_mom6_solo.spack.yaml.j2 index 591aed17c4..c7fb45af42 100644 --- a/.github/build-ci/manifests/oneapi_mom6_solo.spack.yaml.j2 +++ b/.github/build-ci/manifests/oneapi_mom6_solo.spack.yaml.j2 @@ -1,21 +1,7 @@ spack: + include: + # Include configuration from this repository, with the environment variable defined in build-ci + - path: $SPACK_MANIFEST_REPOSITORY_PATH/.github/build-ci/config specs: - - 'access-mom6@git.{{ ref }}=stable ~access3 +mom6_solo ^openmpi' - packages: - cmake: - require: - - '@3.31.6:' - gcc-runtime: - require: - - '%access_gcc' - - 'target={{ target }}' - intel-oneapi-compilers: - require: - - '@{{ oneapi_compiler_version }}' - all: - require: - - '%access_oneapi' - - 'target={{ target }}' - concretizer: - unify: false + - 'access-mom6@git.{{ ref }}=stable ~access3 +mom6_solo %%access_oneapi ^openmpi' view: false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f8d532a45..7363617c31 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,7 +11,7 @@ jobs: outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - name: Set up matrix id: set-matrix @@ -29,12 +29,9 @@ jobs: max-parallel: 5 matrix: file: ${{ fromJson(needs.pre-ci.outputs.matrix) }} - uses: access-nri/build-ci/.github/workflows/ci.yml@v3 + uses: access-nri/build-ci/.github/workflows/ci.yml@v4 with: spack-manifest-path: ${{ matrix.file }} allow-ssh-into-spack-install: false # If true, PR author must ssh into instance to complete job - spack-manifest-data-path: .github/build-ci/data/standard.json - # builtin-spack-packages-ref: develop - # access-spack-packages-ref: api-v2 - # spack-config-ref: main - # spack-ref: releases/v1.1 + # More args, including setting spack/spack-config refs, can be found in https://github.com/ACCESS-NRI/build-ci/blob/v4/.github/workflows/README.md +