Build SST within Spack #151
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Build SST within Spack | |
# yamllint disable-line rule:truthy | |
on: | |
pull_request: | |
push: | |
schedule: | |
# 0215 daily | |
- cron: '15 2 * * *' | |
jobs: | |
install-spack: | |
name: version:${{ matrix.version }} / os:${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- macos-13 | |
- macos-14 | |
version: | |
- '13.1.0' | |
- 'master' | |
fail-fast: false | |
permissions: | |
packages: write | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update system software | |
run: | | |
bash .github/workflows/install_os_deps.sh | |
- name: Clone Spack | |
uses: actions/checkout@v4 | |
with: | |
# Take the latest (develop) version. | |
repository: spack/spack | |
path: spack | |
- name: Add Spack to PATH and set mirror name | |
run: | | |
echo "${PWD}/spack/bin" >> "${GITHUB_PATH}" | |
echo "mirror_name=github-container-registry" >> "${GITHUB_ENV}" | |
- name: Find compilers for Spack | |
run: | | |
spack compiler find --mixed-toolchain | |
- name: Print Spack configuration | |
run: | | |
spack config blame config | |
spack debug report | |
- name: Set credentials for mirror | |
run: | | |
eval "$(spack env activate --sh .)" | |
spack mirror set \ | |
--oci-username ${{ github.actor }} \ | |
--oci-password "${{ secrets.GITHUB_TOKEN }}" \ | |
"${mirror_name}" | |
- name: Install sst-core, sst-elements, and sst-macro | |
run: | | |
eval "$(spack env activate --sh .)" | |
# workaround for 2.42 installation issues on macOS | |
spack add [email protected] | |
spack add sst-core@${{ matrix.version }} | |
spack add sst-elements@${{ matrix.version }} | |
# macro is causing problems on macOS | |
# spack add sst-macro@${{ matrix.version }} | |
spack concretize --reuse --force | |
spack install --fail-fast | |
- name: Push packages and update index | |
run: | | |
eval "$(spack env activate --sh .)" | |
spack buildcache push \ | |
--unsigned \ | |
--update-index \ | |
"${mirror_name}" |