Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add R2D2 mysql dependencies and complete site config updates for unified environment #463

Merged
merged 81 commits into from
Mar 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
085e508
Add ufs-wm-dev template to develop.
ulmononian Sep 27, 2022
8030756
Remove ufs-wm-dev template to get fork dev aligned with main dev.
ulmononian Oct 6, 2022
c624ce7
Merge branch 'NOAA-EMC:develop' into develop
ulmononian Oct 7, 2022
2b7a1ac
Merge branch 'NOAA-EMC:develop' into develop
ulmononian Nov 2, 2022
5d9740a
Merge branch 'NOAA-EMC:develop' into develop
ulmononian Dec 7, 2022
9acce99
Merge branch 'NOAA-EMC:develop' into develop
ulmononian Jan 22, 2023
ee8de7a
Delete configs/common/packages.yaml and rename/update configs/templat…
climbfuji Jan 25, 2023
02761ae
Update configs/sites/orion/packages.yaml
climbfuji Jan 25, 2023
30d3dc1
Put pinning of py-poetry-core back in
climbfuji Jan 25, 2023
157e543
Update submodule pointer for spack
climbfuji Jan 25, 2023
25a6e5d
Update submodule pointer for spack
climbfuji Jan 25, 2023
c8f030a
Restore configs/common/packages.yaml
climbfuji Jan 26, 2023
dacdfc6
Update CI to use unified-dev
climbfuji Jan 26, 2023
b1337f4
Merge branch 'NOAA-EMC:develop' into develop
ulmononian Jan 26, 2023
b804780
Revert indent changes in configs/common/packages.yaml
climbfuji Jan 30, 2023
63ebfeb
[skip ci] Update versions of hdf5, netcdf-c, netcdf-fortran, parallel…
climbfuji Jan 30, 2023
b9d6c06
[skip ci] Update submodule pointer for spack
climbfuji Jan 30, 2023
bf386d3
Bump parallelio to 2.5.9
climbfuji Feb 1, 2023
a89a3ec
Add a known issue for macOS to documentation
climbfuji Feb 1, 2023
6fdd5e8
Add R2D2 mysql prerequisites to configs/common/packages.yaml
climbfuji Feb 1, 2023
e6359d6
Update .gitmodules and submodule pointer for spack for code review an…
climbfuji Feb 1, 2023
681ef87
Merge branch 'feature/unified-env' of https://github.com/climbfuji/sp…
climbfuji Feb 1, 2023
d406568
Try to update GitHub CI scripts and AWS parallelcluster documentation…
climbfuji Feb 1, 2023
b247705
Debug CI
climbfuji Feb 1, 2023
3880205
Update submodule pointer for spack
climbfuji Feb 1, 2023
b5d8f87
Merge branch 'develop' of https://github.com/noaa-emc/spack-stack int…
climbfuji Feb 3, 2023
603940d
Add Orion Intel-18 config
climbfuji Feb 3, 2023
85a4735
Merge branch 'develop' of https://github.com/noaa-emc/spack-stack int…
climbfuji Feb 3, 2023
5f8e108
Attempt to fix CI tests
climbfuji Feb 6, 2023
0f750d6
Update documentation to - for now - manually adjust the compiler matrix
climbfuji Feb 6, 2023
a64274c
Merge branch 'feature/unified-env' of https://github.com/climbfuji/sp…
climbfuji Feb 6, 2023
dd92ace
Update submodule pointer for spack
climbfuji Feb 6, 2023
4666e43
Fix up CI commit
climbfuji Feb 7, 2023
2a87b3f
Bug fix in .github/actions/setup-spack-stack/action.yaml
climbfuji Feb 7, 2023
a213e8f
Merge branch 'develop' of https://github.com/noaa-emc/spack-stack int…
climbfuji Feb 18, 2023
23fd9ed
Update .github/workflows/macos-dom.yaml with mysql external find call
climbfuji Feb 21, 2023
bba3b94
Merge branch 'NOAA-EMC:develop' into develop
ulmononian Feb 21, 2023
ed2eaa4
Update .gitmodules
ulmononian Feb 21, 2023
ef05e46
Update .gitmodules
ulmononian Feb 21, 2023
f371656
Update documentation for Orion and Discover and how to install extern…
climbfuji Feb 22, 2023
3943151
Add doc/modulefile_templates/mysql
climbfuji Feb 22, 2023
48da494
Merge branch 'develop' of https://github.com/noaa-emc/spack-stack int…
climbfuji Feb 22, 2023
fae9852
Update S4 site config with mysql changes
climbfuji Feb 22, 2023
ae8e4e2
[skip ci] Update Cheyenne and Casper site configs with mysql
climbfuji Feb 22, 2023
1a26c6d
Try to fix CI tests
climbfuji Feb 23, 2023
67d9eb8
Remove ncl from global-workflow-env
climbfuji Feb 23, 2023
899c6dc
Blacklist mysql module, comment out Intel-18 specific changes to conf…
climbfuji Feb 23, 2023
d2c3b05
Update submodule pointer for spack
climbfuji Feb 24, 2023
edb5f8a
Merge branch 'develop' of https://github.com/noaa-emc/spack-stack int…
climbfuji Feb 25, 2023
523e602
Update Platforms.rst
ulmononian Feb 27, 2023
df553ad
Update Platforms.rst
ulmononian Feb 27, 2023
2e8850c
Update Platforms.rst
ulmononian Feb 27, 2023
a5e614b
Update documentation and submodule pointer for spack
climbfuji Feb 27, 2023
2f6a864
Merge branch 'feature/r2d2_mysql' of https://github.com/climbfuji/spa…
climbfuji Feb 27, 2023
227cfc2
Merge branch 'NOAA-EMC:develop' into develop
ulmononian Feb 27, 2023
3b4990d
[skip ci] for s4
climbfuji Feb 28, 2023
e3000d6
[skip ci] Again, S4 updates
climbfuji Mar 1, 2023
7db5d3b
[skip ci] Update hera site config
climbfuji Mar 1, 2023
d718c0b
Merge branch 'develop' of https://github.com/noaa-emc/spack-stack int…
climbfuji Mar 1, 2023
2cb7b64
Self hosted runner update macOS, add self-hosted runner Ubuntu
climbfuji Mar 1, 2023
b67a97d
Debug CI
climbfuji Mar 1, 2023
fdb0e27
Add missing Intel dependencies to .github/workflows/ubuntu-ci-x64_64.…
climbfuji Mar 2, 2023
f94b6d0
Don't use padded_length
climbfuji Mar 2, 2023
4627428
Add mysql external to jet's package.yaml
ulmononian Mar 2, 2023
627e5b9
Update MaintainersSection.rst
ulmononian Mar 2, 2023
9db96b9
Update .gitmodules and submodule pointer for spack
climbfuji Mar 2, 2023
b850c3c
Merge branch 'feature/r2d2_mysql' of https://github.com/climbfuji/spa…
climbfuji Mar 2, 2023
3498671
Debug test-env step for CI tests
climbfuji Mar 3, 2023
35af77e
Update doc/source/Platforms.rst for S4
climbfuji Mar 3, 2023
2f8086f
tcl not lmod on ubuntu
climbfuji Mar 3, 2023
56cdec7
Famous last words: final bug fixes for CI tests
climbfuji Mar 3, 2023
0fa4b91
More bugfixes for CI
climbfuji Mar 3, 2023
45c5520
Remove .github/workflows/macos.yaml and .github/workflows/ubuntu.yaml
climbfuji Mar 3, 2023
7952569
[skip ci] Add instructions for installing mysql on RedHat, Ubuntu, macOS
climbfuji Mar 3, 2023
ea7dc63
Merge branch 'NOAA-EMC:develop' into develop
ulmononian Mar 6, 2023
726530e
Update NOAA Parallel Works sites' packages.yaml compilers/MPIs; also …
Mar 6, 2023
57bd73b
Fix gitmodules CMakeModules branch [skip ci].
Mar 6, 2023
03b703f
Merge pull request #2 from ulmononian/update_noaacloud_compilers
climbfuji Mar 6, 2023
3e24d00
Update Narwhal and Gaea site configs with mysql
climbfuji Mar 6, 2023
dee6e50
Merge branch 'feature/r2d2_mysql' of https://github.com/climbfuji/spa…
climbfuji Mar 6, 2023
0a6db80
[skip ci] Missing updates to Narwhal and Gaea packages.yaml
climbfuji Mar 6, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/actions/setup-externals/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,11 @@ runs:
sudo apt-get install intel-oneapi-dev-utilities intel-oneapi-openmp intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-mpi-devel
else
sudo mkdir -p /opt/intel
sudo touch /opt/intel/dummy
fi
else
sudo mkdir -p /opt/intel
sudo touch /opt/intel/dummy
fi

- name: cache-mpi
Expand Down Expand Up @@ -147,6 +149,7 @@ runs:
make install
elif [[ "${MPI_NAME}" == "intel-oneapi-mpi" ]]; then
mkdir -p $HOME/mpi
touch $HOME/mpi/dummy
else
echo "${MPI_NAME} not configured!"
exit 1
Expand Down
6 changes: 6 additions & 0 deletions .github/actions/setup-os/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ runs:
# and also get rid of the macOS homebrew installation/package config
sudo apt-get install qt5-default qttools5-dev-tools libqt5svg5-dev

# For R2D2 mysql backend
sudo apt-get install mysql-server

elif [[ "$RUNNER_OS" == "macOS" ]]; then
brew install curl
brew install git
Expand All @@ -42,6 +45,9 @@ runs:
brew install readline
brew install wget

# For R2D2 mysql backend
brew install mysql

# Print version of xcode
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

Expand Down
3 changes: 2 additions & 1 deletion .github/actions/setup-spack-mirror/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,5 @@ runs:
elif [[ "$RUNNER_OS" == "macOS" ]]; then
sed -i "" "s#\${SPACK_STACK_DIR}#$SPACK_STACK_DIR#g" envs/mirror/common/config.yaml
fi
spack mirror create -a -d $HOME/spack-mirror
# Ignore checksum errors when creating the mirror
spack mirror create -a -d $HOME/spack-mirror || true
3 changes: 3 additions & 0 deletions .github/actions/setup-spack-stack/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,9 @@ runs:
# Find homebrew qt@5 on macOS
spack external find --path /usr/local/opt/qt@5 qt

# Find mysql server
spack external find --not-buildable mysql

# if [[ "$RUNNER_OS" == "Linux" ]]; then
# spack external find curl
# elif [[ "$RUNNER_OS" == "macOS" ]]; then
Expand Down
63 changes: 34 additions & 29 deletions .github/workflows/macos-ci-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ on:
# template:
# description: 'Base spack.yaml template. Default is a complete JEDI-UFS environment.'
# required: true
# default: 'skylab-dev'
# default: 'unified-dev'
# specs:
# description: 'Which specs to add to the template. Default is none (empty string).'
# required: false
Expand All @@ -22,14 +22,13 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

# Use custom shell with -l so .bash_profile is sourced
defaults:
run:
shell: bash -leo pipefail {0}
shell: bash
#shell: bash -leo pipefail {0}

jobs:
macos-ci-x86_64-build:
#if: ${{ github.event.label.name == 'run-macos-dom' }} || ${{ inputs.template }}
runs-on: [macos-ci-x86_64]

steps:
Expand All @@ -47,8 +46,14 @@ jobs:
- name: create-env
run: |
source ./setup.sh
export ENVDIR=$PWD/envs/${{ inputs.template || 'skylab-dev' }}.macos-ci-x86_64
spack stack create env --site macos.default --template ${{ inputs.template || 'skylab-dev' }} --name ${ENVDIR}
# DH* 20230302 - to avoid using padded_length for build caches,
# always build in the same environment so that the length of the
# path doesn't change - see also other 'DH* 20230302' changes below
#export ENVNAME=${{ inputs.template || 'unified-dev' }}.macos-ci-x86_64
export ENVNAME=ci-env.macos-ci-x86_64
# *DH
export ENVDIR=$PWD/envs/${ENVNAME}
spack stack create env --site macos.default --template ${{ inputs.template || 'unified-dev' }} --name ${ENVNAME}
spack env activate -d ${ENVDIR}
spack add ${{ inputs.specs || '' }}
export SPACK_SYSTEM_CONFIG_PATH="${ENVDIR}/site"
Expand All @@ -62,16 +67,17 @@ jobs:
PATH="/usr/local/opt/qt5/bin:$PATH" \
spack external find --scope system qt
spack external find --scope system texlive
# NOT YET
# spack external find --scope system mysql
spack external find --scope system mysql

# Find compilers
spack compiler find --scope system

export -n SPACK_SYSTEM_CONFIG_PATH

# For buildcaches
spack config add config:padded_length:true
# DH* 20230302 - Don't use yet, too many problems
## For buildcaches
#spack config add config:install_tree:padded_length:true
# *DH

# Set compiler and MPI
spack config add "packages:all:providers:mpi:[openmpi@4.1.4]"
Expand All @@ -97,26 +103,12 @@ 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
#set +eo pipefail
spack buildcache create -a -r -u -d /Users/ec2-user/spack-stack/build-cache/ --skip-on-error || true
#echo "Return code: '$?'"
#set -eo pipefail

## jedi-base-env
#echo "jedi-base-env ..."
#spack install --fail-fast --source --no-check-signature jedi-base-env 2>&1 | tee log.install.apple-clang-14.0.0.jedi-base-env
##set +eo pipefail
#spack buildcache create -a -r -u -d /Users/ec2-user/spack-stack/build-cache/ --skip-on-error || true
##echo "Return code: '$?'"
##set -eo pipefail

# the rest
echo "${{ inputs.template || 'skylab-dev' }} ..."
spack install --fail-fast --source --no-check-signature 2>&1 | tee log.install.apple-clang-14.0.0.${{ inputs.template || 'skylab-dev' }}
#set +eo pipefail
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 create -a -r -u -d /Users/ec2-user/spack-stack/build-cache/ --skip-on-error || true
#echo "Return code: '$?'"
#set -eo pipefail

# Next steps: synchronize source and build cache to a central/combined mirror?
echo "Next steps ..."
Expand All @@ -128,12 +120,25 @@ jobs:
- name: test-env
run: |
source /usr/local/opt/lmod/init/profile
export ENVDIR=$PWD/envs/${{ inputs.template || 'skylab-dev' }}.macos-ci-x86_64
module use $ENVDIR/install/modulefiles/Core

# DH* 20230302 - to avoid using padded_length for build caches,
# always build in the same environment so that the length of the
# path doesn't change - see also other 'DH* 20230302' changes below
#export ENVNAME=${{ inputs.template || 'unified-dev' }}.macos-ci-x86_64
export ENVNAME=ci-env.macos-ci-x86_64
# *DH
export ENVDIR=$PWD/envs/${ENVNAME}

module use ${ENVDIR}/install/modulefiles/Core
module load stack-apple-clang/14.0.0
module load stack-openmpi/4.1.4
module load stack-python/3.10.8
module load jedi-ufs-env/1.0.0 jedi-ewok-env/1.0.0 soca-env/1.0.0
module available

module load jedi-ufs-env/unified-dev
module load jedi-ewok-env/unified-dev
module load soca-env/unified-dev
module list

# Skip this for now, copied from other yaml
#- name: upload-mirror
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/macos-dom.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,10 @@ jobs:
spack external find
spack external find perl
spack external find wget
PATH="/usr/local/opt/qt@5/bin:${PATH}" spack external find qt
PATH="/usr/local/opt/curl/bin:${PATH}" spack external find curl
PATH="/usr/local/opt/qt@5/bin:${PATH}" spack external find qt
spack external find --scope system texlive
spack external find --scope system mysql
spack compiler find

sed -i '' "s/\['\%apple-clang', '\%gcc', '\%intel'\]/\['\%apple-clang'\]/g" envs/${{ inputs.template || 'unified-dev' }}.macos-dom/spack.yaml
Expand Down
81 changes: 0 additions & 81 deletions .github/workflows/macos.yaml

This file was deleted.

Loading