Skip to content

Fix an issue with openmpi not supporting more processes than cores on debian #162

Fix an issue with openmpi not supporting more processes than cores on debian

Fix an issue with openmpi not supporting more processes than cores on debian #162

name: Spack images
on:
schedule: [ { cron: "50 23 * * 0" } ] # run every Sunday 23h50
push: { branches: [ main, 'v*' ] }
pull_request:
defaults:
run:
shell: bash
jobs:
step1_base:
runs-on: ubuntu-latest
steps:
- name: "Build and push 1a-base"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/1a-base
image-name: base
cache: ${{ github.event_name != 'schedule' }}
- name: "Build and push 1b-spackbase"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/1b-spackbase
image-name: spackbase
step2_compiler:
strategy:
fail-fast: false
matrix:
version: ['latest', 'oldest']
compiler: ['gcc', 'clang']
needs: step1_base
runs-on: ubuntu-latest
steps:
- name: "Build and push 2a-precomp"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/2a-precomp
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-2a
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Build and push 2b-compiler"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/2b-compiler
swap: 15G
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-2b
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Build and push 2c-squash"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/2c-squash
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-2c
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
step3_compiler_4_baselibs:
strategy:
fail-fast: false
matrix:
version: ['latest', 'oldest']
compiler: ['gcc', 'clang']
needs: step2_compiler
runs-on: ubuntu-latest
steps:
- name: "Build and push 3a-precomp"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/3a-precomp
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-3a
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Build and push 3b-compiler"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/3b-compiler
swap: 15G
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-3b
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Build and push 3c-squash"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/3c-squash
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-3c
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Build and push 4a-baselibs"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/4a-baselibs
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-4a
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
- name: "Build and push 4b-squash"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/4b-squash
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-4b
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
step5_mpi_6_optlibs:
strategy:
fail-fast: false
matrix:
version: ['latest', 'oldest']
compiler: ['gcc', 'clang']
mpi: ['openmpi','mpich']
needs: step3_compiler_4_baselibs
runs-on: ubuntu-latest
steps:
- name: "Build and push 5a-mpi"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/5a-mpi
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-${{ matrix.mpi }}-5a
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
MPI=${{ matrix.mpi }}
- name: "Build and push spack/5b-squash"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/5b-squash
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-${{ matrix.mpi }}-mini
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
MPI=${{ matrix.mpi }}
- name: "Build and push 6-optlibs"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/6-optlibs
image-name: builder:${{ matrix.version }}-${{ matrix.compiler }}-${{ matrix.mpi }}-all
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
MPI=${{ matrix.mpi }}
step7_finalize:
strategy:
fail-fast: false
matrix:
version: ['latest', 'oldest']
compiler: ['gcc', 'clang']
mpi: ['openmpi','mpich']
level: ['mini', 'all']
needs: step5_mpi_6_optlibs
runs-on: ubuntu-latest
steps:
- name: "Compute tags"
id: info
run: |
if [ 'true' = "${{ github.event_name == 'push' || github.event_name == 'schedule' }}" ]
then
echo "tags=ghcr.io/pdidev/spack/${{ matrix.version }}/${{ matrix.compiler }}/${{ matrix.mpi }}/${{ matrix.level }}:${{github.ref_name}}" >> "${GITHUB_OUTPUT}"
echo "fullspack=ghcr.io/pdidev/fullspack/${{ matrix.version }}/${{ matrix.compiler }}/${{ matrix.mpi }}/${{ matrix.level }}:${{github.ref_name}}" >> "${GITHUB_OUTPUT}"
fi
- name: "Build and push"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/7-finalize
image-name: spack/${{ matrix.version }}/${{ matrix.compiler }}/${{ matrix.mpi }}/${{ matrix.level }}
test: true
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
MPI=${{ matrix.mpi }}
LIBS=${{ matrix.level }}
tags: |
${{ steps.info.outputs.tags }}
- name: "Build and push fullspack"
uses: pdidev/test_env/.github/actions/build@v3
with:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
path: spack/7-finalize
image-name: fullspack/${{ matrix.version }}/${{ matrix.compiler }}/${{ matrix.mpi }}/${{ matrix.level }}
target: fullspack
build-args: |
VERSION=${{ matrix.version }}
COMPILER=${{ matrix.compiler }}
MPI=${{ matrix.mpi }}
LIBS=${{ matrix.level }}
tags: |
${{ steps.info.outputs.fullspack }}