Skip to content

Increasing pyMBE interoperability (part I) #518

Increasing pyMBE interoperability (part I)

Increasing pyMBE interoperability (part I) #518

Workflow file for this run

name: testsuite
on:
push:
pull_request:
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
ubuntu:
runs-on: ubuntu-26.04
env:
FI_PROVIDER: "^psm3,psm3;ofi_rxd"
OMPI_MCA_mtl_ofi_provider_exclude: psm3
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
strategy:
matrix:
espresso:
- version: "4.2.2"
eessi_modules: ESPResSo/4.2.2-foss-2023b
eessi_stack_version: "2023.06"
upload_artifact: true
- version: "5.0.1"
eessi_modules: ESPResSo/5.0.1-foss-2025a
eessi_stack_version: "2025.06"
upload_artifact: false
name: ubuntu - ESPResSo ${{ matrix.espresso.version }}
steps:
- name: Checkout repository
uses: actions/checkout@main
- name: Validate CITATION.cff
uses: dieghernan/cff-validator@v5
with:
install-r: true # Ensure R is explicitly installed
- name: Setup EESSI
uses: eessi/github-action-eessi@v3
with:
eessi_stack_version: ${{ matrix.espresso.eessi_stack_version }}
- name: Install dependencies
uses: ./.github/actions/dependencies
with:
modules: |-
${{ matrix.espresso.eessi_modules }}
extra-python-packages: |-
pdoc==15.0.3
pylint==3.0.3
coverage==7.4.4
- name: Run testsuite
run: |
export NUM_PROC=$(nproc)
export OMP_PROC_BIND=false OMP_NUM_THREADS=1
module restore pymbe
source venv/bin/activate
make pylint
make unit_tests -j${NUM_PROC} COVERAGE=1
make docs
make coverage_xml
shell: bash
- name: Upload artifact
if: ${{ matrix.espresso.upload_artifact }}
uses: actions/upload-artifact@v7
with:
path: "./documentation"
name: documentation
retention-days: 2
if-no-files-found: error
- name: Upload coverage to Codecov
if: ${{ github.repository == 'pyMBE-dev/pyMBE' }}
uses: codecov/codecov-action@v7
with:
files: "./coverage.xml"
disable_search: true
env_vars: OS,PYTHON
fail_ci_if_error: false
flags: unittests
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true