Skip to content

Commit

Permalink
Merge remote-tracking branch 'jcsda/develop' into feature/merge_spack…
Browse files Browse the repository at this point in the history
…_develop_20230710
  • Loading branch information
AlexanderRichert-NOAA committed Jul 31, 2023
2 parents 27f148f + bafe0c9 commit 239fc1d
Show file tree
Hide file tree
Showing 16 changed files with 524 additions and 81 deletions.
10 changes: 5 additions & 5 deletions .github/ISSUE_TEMPLATE/install_request.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Install request
about: Request an installation of package in the stack on HPC's
name: Install/upgrade request
about: Request an installation or upgrade of a package on HPCs
title: '[INSTALL] <title>'
labels: 'install'
assignees: 'Hang-Lei-NOAA, AlexanderRichert-NOAA, jkbk2004, climbfuji'
Expand All @@ -18,11 +18,11 @@ Please provide the version/tag of the software to be installed.
**What compilation options would you like set?**
Give a detailed list of compilation options, compiler and MPI flavors and versions, etc.

**Which machines would you like to have the software installed?**
See currently managed HPC machines.
**Installation timeframe: Would you like this package to be installed in an upcoming quarterly spack-stack release, or sooner? If it is needed sooner (such as for testing a new package/version before incorporating it into a full release), please specify a preferred timeline and *one* machine on which you would like it to be installed for testing prior to the next spack-stack release.**
See the list of [supported HPC platforms](https://spack-stack.readthedocs.io/en/latest/PreConfiguredSites.html).

**Any other relevant information that we should know to correctly install the software??**
Please describe in as much detail as possible.
Please describe in as much detail as possible (such as whether there is currently a Spack recipe for this package).

**Additional context**
Add any other context or screenshots about the install request here.
23 changes: 19 additions & 4 deletions .github/workflows/macos-ci-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,13 @@ jobs:
# Add and update source cache
spack mirror add local-source file:///Users/ec2-user/spack-stack/source-cache/
spack mirror create -a -d /Users/ec2-user/spack-stack/source-cache/
# DH* 20230721 - todo remove || true
spack mirror create -a -d /Users/ec2-user/spack-stack/source-cache/ || true
# Add binary cache and reindex it
# DH* 20230721 - TODO CLEAN UP OLD BUILD CACHE AFTER MERGE
spack mirror add local-binary file:///Users/ec2-user/spack-stack/build-cache-new/
spack buildcache update-index local-binary
spack mirror add local-binary file:///Users/ec2-user/spack-stack/build-cache/
# DH* 20230721 - todo remove || true
spack buildcache update-index -m local-binary || true
echo "Packages in combined spack build caches:"
spack buildcache list
Expand All @@ -112,13 +113,27 @@ jobs:
# base-env
echo "base-env ..."
<<<<<<< HEAD
spack install --fail-fast --source --no-check-signature base-env 2>&1 | tee log.install.apple-clang-14.0.0.base-env
spack buildcache push -a -u local-binary || true

# the rest
echo "${{ inputs.template || 'unified-dev' }} ..."
spack install --fail-fast --source --no-check-signature 2>&1 | tee log.install.apple-clang-14.0.0.${{ inputs.template || 'unified-dev' }}
spack buildcache push -a -u local-binary || true
=======
# DH* 20230721 - todo remove --no-checksum
spack install --fail-fast --source --no-check-signature --no-checksum base-env 2>&1 | tee log.install.apple-clang-14.0.0.base-env
# DH* 20230721 - todo remove || true (this was here all the time, but should not be needed if spack creates buildcaches correctly)
spack buildcache create -a -r -u -d /Users/ec2-user/spack-stack/build-cache/ || true

# the rest
echo "${{ inputs.template || 'unified-dev' }} ..."
# DH* 20230721 - todo remove --no-checksum
spack install --fail-fast --source --no-check-signature --no-checksum 2>&1 | tee log.install.apple-clang-14.0.0.${{ inputs.template || 'unified-dev' }}
# DH* 20230721 - todo remove || true (this was here all the time, but should not be needed if spack creates buildcaches correctly)
spack buildcache create -a -r -u -d /Users/ec2-user/spack-stack/build-cache/ || true
>>>>>>> jcsda/develop

# Next steps: synchronize source and build cache to a central/combined mirror?
echo "Next steps ..."
Expand Down
21 changes: 13 additions & 8 deletions .github/workflows/macos-ci-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,13 @@ jobs:
# Add and update source cache
spack mirror add local-source file:///Users/ec2-user/spack-stack/source-cache/
spack mirror create -a -d /Users/ec2-user/spack-stack/source-cache/
# DH* 20230721 - todo remove || true
spack mirror create -a -d /Users/ec2-user/spack-stack/source-cache/ || true
# Add binary cache and reindex it
# DH* 20230721 - TODO CLEAN UP OLD BUILD CACHE AFTER MERGE
spack mirror add local-binary file:///Users/ec2-user/spack-stack/build-cache-new/
spack buildcache update-index local-binary
spack mirror add local-binary file:///Users/ec2-user/spack-stack/build-cache/
# DH* 20230721 - todo remove || true
spack buildcache update-index -m local-binary || true
echo "Packages in combined spack build caches:"
spack buildcache list
Expand All @@ -105,13 +106,17 @@ jobs:
# base-env
echo "base-env ..."
spack install --fail-fast --source --no-check-signature base-env 2>&1 | tee log.install.apple-clang-14.0.0.base-env
spack buildcache push -a -u local-binary || true
# DH* 20230721 - todo remove --no-checksum
spack install --fail-fast --source --no-check-signature --no-checksum base-env 2>&1 | tee log.install.apple-clang-14.0.0.base-env
# DH* 20230721 - todo remove || true (this was here all the time, but should not be needed if spack creates buildcaches correctly)
spack buildcache create -a -r -u -d /Users/ec2-user/spack-stack/build-cache/ || true
# the rest
echo "${{ inputs.template || 'unified-dev' }} ..."
spack install --fail-fast --source --no-check-signature 2>&1 | tee log.install.apple-clang-14.0.0.${{ inputs.template || 'unified-dev' }}
spack buildcache push -a -u local-binary || true
# DH* 20230721 - todo remove --no-checksum
spack install --fail-fast --source --no-check-signature --no-checksum 2>&1 | tee log.install.apple-clang-14.0.0.${{ inputs.template || 'unified-dev' }}
# DH* 20230721 - todo remove || true (this was here all the time, but should not be needed if spack creates buildcaches correctly)
spack buildcache create -a -r -u -d /Users/ec2-user/spack-stack/build-cache/ || true
# Next steps: synchronize source and build cache to a central/combined mirror?
echo "Next steps ..."
Expand Down
35 changes: 26 additions & 9 deletions .github/workflows/ubuntu-ci-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
rm -fr *
- name: checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
submodules: true

Expand Down Expand Up @@ -128,12 +128,13 @@ jobs:
# Add and update source cache
spack mirror add local-source file:///home/ubuntu/spack-stack/source-cache/
spack mirror create -a -d /home/ubuntu/spack-stack/source-cache/
# DH* 20230721 - todo remove || true
spack mirror create -a -d /home/ubuntu/spack-stack/source-cache/ || true
# Add binary cache and reindex it
# DH* 20230721 - TODO CLEAN UP OLD BUILD CACHE AFTER MERGE
spack mirror add local-binary file:///Users/ec2-user/spack-stack/build-cache-new/
spack buildcache update-index local-binary
spack mirror add local-binary file:///home/ubuntu/spack-stack/build-cache/
# DH* 20230721 - todo remove || true
spack buildcache update-index -m local-binary || true
echo "Packages in combined spack build caches:"
spack buildcache list
Expand All @@ -143,13 +144,17 @@ jobs:
# base-env
echo "base-env ..."
spack install --fail-fast --source --no-check-signature base-env 2>&1 | tee log.install.intel-2021.4.0.base-env
spack buildcache push -a -u local-binary || true
# DH* 20230721 - todo remove --no-checksum
spack install --fail-fast --source --no-check-signature --no-checksum base-env 2>&1 | tee log.install.intel-2021.4.0.base-env
# DH* 20230721 - todo remove || true (this was here all the time, but should not be needed if spack creates buildcaches correctly)
spack buildcache create -a -r -u -d /home/ubuntu/spack-stack/build-cache/ || true
# the rest
echo "${{ inputs.template || 'unified-dev' }} ..."
spack install --fail-fast --source --no-check-signature 2>&1 | tee log.install.intel-2021.4.0.${{ inputs.template || 'unified-dev' }}
spack buildcache push -a -u local-binary || true
# DH* 20230721 - todo remove --no-checksum
spack install --fail-fast --source --no-check-signature --no-checksum 2>&1 | tee [email protected].${{ inputs.template || 'unified-dev' }}
# DH* 20230721 - todo remove || true (this was here all the time, but should not be needed if spack creates buildcaches correctly)
spack buildcache create -a -r -u -d /home/ubuntu/spack-stack/build-cache/ || true
# Next steps: synchronize source and build cache to a central/combined mirror?
echo "Next steps ..."
Expand All @@ -158,6 +163,18 @@ jobs:
spack stack setup-meta-modules
spack env deactivate
# Test environment chaining
echo "Test environment chaining"
spack stack create env --name chaintest --template empty --site linux.default --upstream $(realpath envs/ci-env.ubuntu-ci-x86_64/install)
# Retain config from upstream so we don't have to rebuild:
cp -r $PWD/envs/ci-env.ubuntu-ci-x86_64/{site,common} $PWD/envs/chaintest/.
spack env activate ${PWD}/envs/chaintest
spack add [email protected]%intel
spack concretize | tee envs/chaintest/log.concretize
unwanted_duplicates=$(( cat envs/chaintest/log.concretize | grep -E '^ - ' | grep -Fv '[email protected]' || true ) | wc -l)
if [ ${unwanted_duplicates} -gt 0 ]; then echo "Environment chaining test failed"; exit 1; fi
spack env deactivate
- name: test-env
run: |
source /etc/profile.d/modules.sh
Expand Down
35 changes: 35 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Read the Docs configuration file for Sphinx projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"
# You can also specify other tool versions:
# nodejs: "20"
# rust: "1.70"
# golang: "1.20"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: doc/source/conf.py
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
# builder: "dirhtml"
# Fail on all warnings to avoid broken references
# fail_on_warning: true

# Optionally build your docs in additional formats such as PDF and ePub
# formats:
# - pdf
# - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: doc/requirements.txt
36 changes: 36 additions & 0 deletions configs/sites/derecho/compilers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
compilers::
- compiler:
spec: [email protected]
paths:
cc: /glade/u/apps/derecho/23.06/spack/opt/spack/ncarcompilers/1.0.0/oneapi/2023.0.0/ec7b/bin/icc
cxx: /glade/u/apps/derecho/23.06/spack/opt/spack/ncarcompilers/1.0.0/oneapi/2023.0.0/ec7b/bin/icpc
f77: /glade/u/apps/derecho/23.06/spack/opt/spack/ncarcompilers/1.0.0/oneapi/2023.0.0/ec7b/bin/ifort
fc: /glade/u/apps/derecho/23.06/spack/opt/spack/ncarcompilers/1.0.0/oneapi/2023.0.0/ec7b/bin/ifort
flags: {}
operating_system: sles15
target: x86_64
modules:
- intel-classic/2023.0.0
environment:
prepend_path:
PATH: '/opt/cray/pe/gcc/12.2.0/bin'
CPATH: '/opt/cray/pe/gcc/12.2.0/snos/include'
LD_LIBRARY_PATH: '/glade/u/apps/common/23.04/spack/opt/spack/intel-oneapi-compilers/2023.0.0/compiler/2023.0.0/linux/compiler/lib/intel64_lin:/opt/cray/pe/gcc/default/snos/lib64'
set:
I_MPI_ROOT: '/glade/u/apps/derecho/23.06/spack/opt/spack/intel-oneapi-mpi/2021.8.0/oneapi/2023.0.0/mhf4/mpi/2021.8.0'
extra_rpaths: []
# - compiler:
# spec: [email protected]
# paths:
# cc: /glade/u/apps/ch/opt/gnu/10.1.0/bin/gcc
# cxx: /glade/u/apps/ch/opt/gnu/10.1.0/bin/g++
# f77: /glade/u/apps/ch/opt/gnu/10.1.0/bin/gfortran
# fc: /glade/u/apps/ch/opt/gnu/10.1.0/bin/gfortran
# flags: {}
# operating_system: sles12
# target: x86_64
# modules:
# - gnu/10.1.0
# environment: {}
# extra_rpaths: []

2 changes: 2 additions & 0 deletions configs/sites/derecho/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
config:
build_jobs: 8
18 changes: 18 additions & 0 deletions configs/sites/derecho/mirrors.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
mirrors:
local-source:
fetch:
url: file:///glade/work/epicufsrt/contrib/spack-stack/source-cache
access_pair:
- null
- null
access_token: null
profile: null
endpoint_url: null
push:
url: file:///glade/work/epicufsrt/contrib/spack-stack/source-cache
access_pair:
- null
- null
access_token: null
profile: null
endpoint_url: null
7 changes: 7 additions & 0 deletions configs/sites/derecho/modules.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
modules:
default:
enable::
- lmod
lmod:
blacklist:
- ecflow
Loading

0 comments on commit 239fc1d

Please sign in to comment.