macOS CI tests #908
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- main | |
- "releases/**" | |
paths-ignore: | |
- "**.md" | |
pull_request: | |
release: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
# test_on_linux: | |
# name: Test on remage image | |
# runs-on: ubuntu-latest | |
# | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# # guideline: only test on latest patch releases (and maybe previous one) | |
# container_version: | |
# - G4.11.3 | |
# - G4.11.2 | |
# - slim | |
# | |
# container: docker://gipert/remage-base:${{ matrix.container_version }} | |
# | |
# steps: | |
# - uses: actions/checkout@v4 | |
# | |
# - name: Build project | |
# run: | | |
# mkdir build | |
# cd build | |
# cmake -DRMG_BUILD_EXAMPLES=1 -DBUILD_TESTING=ON -DRMG_BUILD_DOCS=OFF .. | |
# make | |
# make install | |
# | |
# - name: Setup and start xvfb (enables Geant4 visualization) | |
# run: | | |
# Xvfb :99 -screen 0 1920x1080x24 & | |
# | |
# - name: Run full test suite | |
# if: ${{ matrix.container_version != 'slim' }} | |
# env: | |
# DISPLAY: :99 | |
# run: | | |
# cd build | |
# ctest --output-on-failure | |
# | |
# - name: Upload test suite outputs to GitHub | |
# if: ${{ always() && matrix.container_version != 'slim' }} | |
# uses: actions/upload-artifact@v4 | |
# with: | |
# name: test-output-${{ matrix.container_version }} | |
# # artifacts must have a ".output*" extension | |
# path: build/tests/**/*.output*.* | |
# | |
# - name: Run minimal test suite | |
# if: ${{ matrix.container_version == 'slim' }} | |
# env: | |
# DISPLAY: :99 | |
# run: | | |
# cd build | |
# ctest --output-on-failure --label-exclude 'extra|vis' | |
# | |
# - name: Compare checked-in doc dump with current result | |
# if: ${{ matrix.container_version != 'slim' }} | |
# run: | | |
# cd build | |
# cp ../docs/rmg-commands.md ../docs/rmg-commands.md.bak | |
# make remage-doc-dump | |
# diff ../docs/rmg-commands.md ../docs/rmg-commands.md.bak | |
test_on_mac: | |
name: Test on macOS | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
miniconda-version: "latest" | |
activate-environment: "" | |
auto-activate-base: "false" | |
channels: conda-forge | |
channel-priority: "strict" | |
conda-remove-defaults: "true" | |
- name: Install Geant4 | |
shell: bash -l {0} | |
run: | | |
conda create --override-channels -c conda-forge --name geant4-env | |
conda activate geant4-env | |
conda install geant4 | |
echo "CMAKE_PREFIX_PATH=$CONDA_PREFIX" >> $GITHUB_ENV | |
- name: Install Geant4 | |
shell: bash -l {0} | |
run: | | |
conda activate geant4-env | |
mkdir build .local | |
cd build | |
cmake -DCMAKE_INSTALL_PREFIX=../local .. | |
make | |
make install | |
# vim: expandtab tabstop=2 shiftwidth=2 |