Skip to content

Build SST within Spack #88

Build SST within Spack

Build SST within Spack #88

---
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 binutils@2.41
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}"