Skip to content

Check python modules before adding self-healing tests. #6961

Check python modules before adding self-healing tests.

Check python modules before adding self-healing tests. #6961

name: GitHub Actions CI
on:
push:
branches:
- develop
- main
pull_request:
branches:
- develop
- main
jobs:
linux:
runs-on: ubuntu-latest
container: ${{ matrix.container }}
env:
GH_JOBNAME: ${{ matrix.jobname }}
GH_OS: Linux
strategy:
fail-fast: false
matrix:
jobname:
[
GCC9-NoMPI-Debug-Real,
GCC9-NoMPI-NoOMP-Real,
GCC9-NoMPI-NoOMP-Complex,
GCC9-MPI-Sandbox-Real,
GCC9-NoMPI-Sandbox-Complex,
GCC9-MPI-Gcov-Real,
GCC9-MPI-Gcov-Complex,
GCC12-NoMPI-Werror-Real,
GCC12-NoMPI-Werror-Complex,
GCC12-NoMPI-Werror-Real-Mixed,
GCC12-NoMPI-Werror-Complex-Mixed,
Clang14-NoMPI-ASan-Real,
Clang14-NoMPI-ASan-Complex,
Clang14-NoMPI-UBSan-Real,
Clang16-NoMPI-Offload-Real,
Clang16-NoMPI-Offload-Complex,
]
include:
- jobname: GCC9-NoMPI-Debug-Real
container:
image: ghcr.io/qmcpack/ubuntu22-openmpi:latest
options: -u 1001
- jobname: GCC9-NoMPI-NoOMP-Real
container:
image: ghcr.io/qmcpack/ubuntu22-openmpi:latest
options: -u 1001
- jobname: GCC9-NoMPI-NoOMP-Complex
container:
image: ghcr.io/qmcpack/ubuntu22-openmpi:latest
options: -u 1001
- jobname: GCC9-MPI-Sandbox-Real
container:
image: ghcr.io/qmcpack/ubuntu22-openmpi:latest
options: -u 1001
- jobname: GCC9-NoMPI-Sandbox-Complex
container:
image: ghcr.io/qmcpack/ubuntu22-serial:latest
options: -u 1001
- jobname: GCC9-MPI-Gcov-Real
container:
image: ghcr.io/qmcpack/ubuntu22-openmpi:latest
options: -u 1001
- jobname: GCC9-MPI-Gcov-Complex
container:
image: ghcr.io/qmcpack/ubuntu22-openmpi:latest
options: -u 1001
- jobname: GCC12-NoMPI-Werror-Real
container:
image: ghcr.io/qmcpack/ubuntu22-serial:latest
options: -u 1001
- jobname: GCC12-NoMPI-Werror-Complex
container:
image: ghcr.io/qmcpack/ubuntu22-serial:latest
options: -u 1001
- jobname: GCC12-NoMPI-Werror-Real-Mixed
container:
image: ghcr.io/qmcpack/ubuntu22-serial:latest
options: -u 1001
- jobname: GCC12-NoMPI-Werror-Complex-Mixed
container:
image: ghcr.io/qmcpack/ubuntu22-serial:latest
options: -u 1001
- jobname: Clang14-NoMPI-ASan-Real
container:
image: ghcr.io/qmcpack/ubuntu22-openmpi:latest
options: -u 1001
- jobname: Clang14-NoMPI-ASan-Complex
container:
image: ghcr.io/qmcpack/ubuntu22-openmpi:latest
options: -u 1001
- jobname: Clang14-NoMPI-UBSan-Real
container:
image: ghcr.io/qmcpack/ubuntu22-openmpi:latest
options: -u 1001
- jobname: Clang16-NoMPI-Offload-Real
container:
image: ghcr.io/qmcpack/ubuntu22-clang:latest
options: -u 1001
- jobname: Clang16-NoMPI-Offload-Complex
container:
image: ghcr.io/qmcpack/ubuntu22-clang:latest
options: -u 1001
steps:
- name: Checkout Action
uses: actions/checkout@v4
- name: Configure
run: tests/test_automation/github-actions/ci/run_step.sh configure
- name: Build
run: tests/test_automation/github-actions/ci/run_step.sh build
- name: Test
run: tests/test_automation/github-actions/ci/run_step.sh test
- name: Coverage
if: contains(matrix.jobname, 'Gcov')
run: tests/test_automation/github-actions/ci/run_step.sh coverage
- name: Upload Coverage
if: contains(matrix.jobname, 'Gcov') && github.repository_owner == 'QMCPACK'
uses: codecov/codecov-action@v4
with:
files: ../qmcpack-build/coverage.xml
flags: tests-deterministic # optional
name: codecov-QMCPACK # optional
fail_ci_if_error: true # optional (default = false)
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
macos:
runs-on: macos-14
env:
GH_JOBNAME: ${{ matrix.jobname }}
GH_OS: macOS
strategy:
fail-fast: false
matrix:
jobname: [macOS-GCC14-NoMPI-Real]
steps:
- name: Checkout Action
uses: actions/checkout@v4
- name: Set Python Version
uses: actions/setup-python@v4
with:
python-version: "3.12"
- name: Setup Dependencies
run: |
brew upgrade || brew link --overwrite [email protected]
brew install gcc@14 ninja hdf5 fftw boost
python3 -m pip install numpy==1.26.4 h5py pandas
- name: Configure
run: tests/test_automation/github-actions/ci/run_step.sh configure
- name: Build
run: tests/test_automation/github-actions/ci/run_step.sh build
- name: Test
run: tests/test_automation/github-actions/ci/run_step.sh test
- name: Install
run: tests/test_automation/github-actions/ci/run_step.sh install
spack-centos-stream:
runs-on: ubuntu-latest
container: ${{ matrix.container }}
env:
GH_JOBNAME: ${{ matrix.jobname }}
GH_OS: Linux
CONTAINER_OS: spack-centos-stream
strategy:
fail-fast: false
matrix:
jobname:
[
GCC11-NoMPI-Debug-Real,
GCC11-NoMPI-NoOMP-Real,
GCC11-NoMPI-NoOMP-Complex,
GCC11-NoMPI-Sandbox-Real,
]
include:
- jobname: GCC11-NoMPI-Debug-Real
container:
image: ghcr.io/qmcpack/centos-stream-gcc11:latest
options: -u 1001
- jobname: GCC11-NoMPI-NoOMP-Real
container:
image: ghcr.io/qmcpack/centos-stream-gcc11:latest
options: -u 1001
- jobname: GCC11-NoMPI-NoOMP-Complex
container:
image: ghcr.io/qmcpack/centos-stream-gcc11:latest
options: -u 1001
- jobname: GCC11-NoMPI-Sandbox-Real
container:
image: ghcr.io/qmcpack/centos-stream-gcc11:latest
options: -u 1001
steps:
- name: Checkout Action
uses: actions/checkout@v4
- name: Echo Debug
run: |
echo $PATH
echo $LD_LIBRARY_PATH
- name: Configure
run: tests/test_automation/github-actions/ci/run_step.sh configure
- name: Build
run: tests/test_automation/github-actions/ci/run_step.sh build
- name: Test
run: tests/test_automation/github-actions/ci/run_step.sh test