diff --git a/.github/build-ci/data/compiler.spack.yaml b/.github/build-ci/data/compiler.spack.yaml new file mode 100644 index 0000000..5a4a0bb --- /dev/null +++ b/.github/build-ci/data/compiler.spack.yaml @@ -0,0 +1,11 @@ +# This spack manifest installs compilers in the upstream image for use in local spack installations. +# This is installed before packages.spack.yaml to ensure that the compilers are available for package installation. +spack: + # We can't install compilers in a matrix, because we attempt to load each of the compilers in the speclist + # when running spack-enable.bash + specs: + # Workaround: https://github.com/spack/spack-packages/issues/3505 + - gcc@13.4.0 target=x86_64 %gcc@8.5.0 + view: false + concretizer: + unify: false diff --git a/.github/build-ci/manifests/gcc.spack.yaml.j2 b/.github/build-ci/manifests/gcc.spack.yaml.j2 index e77d788..ab12b77 100644 --- a/.github/build-ci/manifests/gcc.spack.yaml.j2 +++ b/.github/build-ci/manifests/gcc.spack.yaml.j2 @@ -7,7 +7,7 @@ spack: '@git.{{ ref }}=stable' gcc: require: - - '@{{ gcc_compiler_version }}' + - '@13.4.0' all: require: - '%access_gcc' diff --git a/.github/build-ci/manifests/intel-libonly.spack.yaml.j2 b/.github/build-ci/manifests/intel-libonly.spack.yaml.j2 deleted file mode 100644 index 51debcf..0000000 --- a/.github/build-ci/manifests/intel-libonly.spack.yaml.j2 +++ /dev/null @@ -1,20 +0,0 @@ -spack: - specs: - - access3-share @git.{{ ref }}=stable - - access3-share @git.{{ ref }}=stable +openmp - packages: - # We pin a version of python as spack v1.1 has trouble building the default latest - # python@3.14.3%intel@2021.10.0 due to a segfault. - python: - require: - - '@3.11.14' - intel-oneapi-compilers-classic: - require: - - '@{{ intel_compiler_version }}' - all: - require: - - '%access_intel' - - target={{ target }} - concretizer: - unify: false - view: false diff --git a/.github/build-ci/manifests/intel.spack.yaml.j2 b/.github/build-ci/manifests/intel.spack.yaml.j2 deleted file mode 100644 index 56917de..0000000 --- a/.github/build-ci/manifests/intel.spack.yaml.j2 +++ /dev/null @@ -1,22 +0,0 @@ -spack: - specs: - - access3 @git.{{ ref }}=stable configurations={{ all_configurations }} - packages: - access3-share: - require: - '@git.{{ ref }}=stable' - # We pin a version of python as spack v1.1 has trouble building the default latest - # python@3.14.3%intel@2021.10.0 due to a segfault. - python: - require: - - '@3.11.14' - intel-oneapi-compilers-classic: - require: - - '@{{ intel_compiler_version }}' - all: - require: - - '%access_intel' - - target={{ target }} - concretizer: - unify: false - view: false diff --git a/.github/build-ci/manifests/oneapi.spack.yaml.j2 b/.github/build-ci/manifests/oneapi.spack.yaml.j2 deleted file mode 100644 index 7cd2cd3..0000000 --- a/.github/build-ci/manifests/oneapi.spack.yaml.j2 +++ /dev/null @@ -1,20 +0,0 @@ -spack: - specs: - - access3 @git.{{ ref }}=stable configurations={{ all_configurations }} - packages: - access3-share: - require: - '@git.{{ ref }}=stable' - gcc-runtime: - require: - '%access_gcc' - intel-oneapi-compilers: - require: - - '@{{ oneapi_compiler_version }}' - all: - require: - - '%access_oneapi' - - target={{ target }} - concretizer: - unify: false - view: false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 378fe0e..e23b8c0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,6 +33,8 @@ jobs: uses: access-nri/build-ci/.github/workflows/ci.yml@v3 with: spack-manifest-path: ${{ matrix.file }} + spack-compiler-manifest-path: .github/build-ci/data/compiler.spack.yaml + builtin-spack-packages-ref: 353d2702589d26061d0ae42bf91d3ad96701da01 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 # Default args (including explicit spack/spack-packages/spack-config versions) diff --git a/README.md b/README.md index b7223eb..28755a6 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,19 @@ # ACCESS3-Share -ACCESS3-Share repository contains the common tools for coupling the components of 3rd generation ACCESS earth system models. These are the framework for ACCESS-OM3 (an ocean and sea-ice model), ACCESS-ESM3 (a global climate model) and other ACCESS models. This repository contains a CMake based build system for the [Community Mediator for Earth Prediction Systems](https://github.com/ESCOMP/CMEPS/), the [Community Data Models for Earth Prediction Systems](https://github.com/ESCOMP/CDEPS/) and the [Community Earth System Model shared code](https://github.com/ESCOMP/CESM_share). +Hello -The contents of this repository are licensed under the _Apache 2.0_ license unless otherwise noted. For any submodules, please refer to the seperate repositories for license information. +ACCESS3-Share repository contains the common tools for coupling the components of 3rd generation ACCESS earth system models. These are the framework for ACCESS-OM3 (an ocean and sea-ice model), ACCESS-ESM3 (a global climate model) and other ACCESS models. This repository contains a CMake based build system for the [Community Mediator for Earth Prediction Systems](https://github.com/ESCOMP/CMEPS/), the [Community Data Models for Earth Prediction Systems](https://github.com/ESCOMP/CDEPS/) and the [Community Earth System Model shared code](https://github.com/ESCOMP/CESM_share). -NCI-based users of ACCESS-OM3 typically won't need to mess with this package. There are pre-built executables available on NCI and some [configurations](https://github.com/accESS-NRI/access-om3-configs). +The contents of this repository are licensed under the _Apache 2.0_ license unless otherwise noted. For any submodules, please refer to the seperate repositories for license information. + +NCI-based users of ACCESS-OM3 typically won't need to mess with this package. There are pre-built executables available on NCI and some [configurations](https://github.com/accESS-NRI/access-om3-configs). This respository contains submodules, so you will need to clone it with the `--recursive` flag: ``` git clone --recursive https://github.com/COSIMA/access-om3.git ``` -To update a previous clone of this repository to the latest version, you will need to do +To update a previous clone of this repository to the latest version, you will need to do ``` git pull ``` @@ -21,7 +23,7 @@ git submodule update --init --recursive ``` to update all the submodules. -# Versioning +# Versioning Tags on this repository follow [CalVer](https://github.com/ACCESS-NRI/dev-docs/wiki/Versioning#models), and should be added to the [access3](https://github.com/ACCESS-NRI/spack-packages/blob/main/packages/access3/package.py#L31-L32) and [access3-share](https://github.com/ACCESS-NRI/spack-packages/blob/main/packages/access3-share/package.py#L21-L22) spack package.