Skip to content

Revert "Try to downgrade to pypa/[email protected]" #297

Revert "Try to downgrade to pypa/[email protected]"

Revert "Try to downgrade to pypa/[email protected]" #297

Workflow file for this run

name: condatest
on:
push:
pull_request:
schedule:
- cron: '30 23 * * 0' # 23:30 every Sunday
workflow_dispatch:
inputs:
manual-debugging:
type: boolean
description: Launch manual debugging tmate session on failure
default: false
# Workflow which pip installs the source code in a conda environment and checks that both bundles build
# and runs tests in both release and debug mode.
jobs:
build:
strategy:
#fail-fast: false
matrix:
include:
- { os: ubuntu-20.04, CC: gcc-10, CXX: g++-10, python: '3.9' }
- { os: ubuntu-22.04, CC: gcc, CXX: g++, python: '3.9' }
- { os: ubuntu-latest, CC: gcc, CXX: g++, python: '3.11' }
- { os: ubuntu-latest, CC: clang, CXX: clang++, python: '3.10' }
- { os: ubuntu-latest, CC: gcc-12, CXX: g++-12, python: '3.11' }
# - { os: macos-11, CC: clang, CXX: clang++, python: "3.10" }
- { os: macos-12, CC: clang, CXX: clang++, python: "3.11" }
# - { os: macos-13, CC: clang, CXX: clang++, python: "3.11" }#NB: Not 3.12 yet because of conda-forge
name: ${{ matrix.os }}.${{ matrix.CC }}.python-${{ matrix.python }}
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -el {0}
env:
CC: ${{ matrix.CC }}
CXX: ${{ matrix.CXX }}
CONDA_SOLVER: libmamba
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: ./src_co
- name: Setup conda environment
uses: ./src_co/.github/actions/setup
with:
PYTHON_VERSION: ${{ matrix.python }}
USE_MAMBA: true
CACHED_NOARCH_DEF_PY_FILE: ./src_co/.github/resources/cached_noarch_definitions.py
CONDA_ENV_FILE : ./src_co/.github/resources/conda-setup.yml
- name: Install
run: |
set -eux
#For dev work: python3 -m pip install git+https://github.com/mctools/simplebuild@whateverbranchname
#For dev work: python3 -m pip install --no-deps ./src_co
python3 -m pip install --no-deps ./src_co
echo "sb --version: "$(sb --version)
- name: Build and test Core only
id: build-and-test-core-only
run: |
set -eux
test -f $CONDA_PREFIX/share/Geant4/data/NDL*/Elastic/CrossSection/13_27_Aluminum.z
geant4-config --version
mkdir test_core && cd test_core
sb --init core_val
sb -t --testexcerpts=100
sbenv sb_core_extdeps --require-disabled Numpy matplotlib Geant4 ZLib
- name: Build and test release mode
id: build-and-test-release-mode
run: |
set -eux
test -f $CONDA_PREFIX/share/Geant4/data/NDL*/Elastic/CrossSection/13_27_Aluminum.z
geant4-config --version
mkdir test_rel && cd test_rel
sb --init dgcode_val
sb -t --testexcerpts=100 --requirepkg=DGCodeRecommended
sbenv sb_core_extdeps --require ZLib NCrystal Numpy matplotlib Geant4
- name: Build-and-test-debug-mode
id: build-and-test-debug-mode
run: |
set -eux
test -f $CONDA_PREFIX/share/Geant4/data/NDL*/Elastic/CrossSection/13_27_Aluminum.z
geant4-config --version
mkdir test_dbg && cd test_dbg
sb --init dgcode_val DEBUG COMPACT
sb -t --testexcerpts=100 --requirepkg=DGCodeRecommended
sbenv sb_core_extdeps --require ZLib NCrystal Numpy matplotlib Geant4
- name: Setup tmate session for manual debugging
uses: mxschmitt/action-tmate@v3
if: always() && inputs.manual-debugging == true && (steps.build-and-test-core-only.outcome != 'success' || steps.build-and-test-release-mode.outcome != 'success' || steps.build-and-test-debug-mode.outcome != 'success')
with:
limit-access-to-actor: true