Enable parallel test and fix missing include in C code. #40
Workflow file for this run
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: Continuous Integration Test | |
on: | |
workflow_dispatch: | |
push: | |
jobs: | |
ci_test: | |
strategy: | |
matrix: | |
os: [macos-latest, ubuntu-latest] | |
mode: [Release, Debug] | |
runs-on: ${{matrix.os}} | |
steps: | |
- name: CPU Info Mac | |
if: ${{matrix.os == 'macos-latest'}} | |
run: | | |
sysctl -n machdep.cpu.brand_string | |
sysctl -n machdep.cpu.features | |
(echo "Number of Cores:"; sysctl -n machdep.cpu.core_count) |tr '\n' '\t' && echo '' | |
- name: CPU Info Linux | |
if: ${{matrix.os == 'ubuntu-latest'}} | |
run: awk '{if ($0=="") exit; print $0}' /proc/cpuinfo | |
- name: Clone Repo | |
shell: bash | |
working-directory: ${{runner.workspace}} | |
run: git clone https://github.com/ORNL-Fusion/Stellarator-Tools.git ${{runner.workspace}}/Stellarator-Tools | |
- name: Create build directory. | |
working-directory: ${{runner.workspace}}/Stellarator-Tools | |
run: cmake -E make_directory build | |
- name: Install Libraries Mac | |
if: ${{matrix.os == 'macos-latest'}} | |
shell: bash | |
run: | | |
brew install netcdf-fortran | |
brew install scalapack | |
- name: Install Libraries Linux | |
if: ${{matrix.os == 'ubuntu-latest'}} | |
shell: bash | |
run: | | |
sudo apt update | |
sudo apt-get install libnetcdf-dev | |
sudo apt-get install libnetcdff-dev | |
sudo apt-get install libopenmpi-dev | |
sudo apt-get install libscalapack-openmpi-dev | |
- name: Configure CMake Mac | |
if: ${{matrix.os == 'macos-latest'}} | |
shell: bash | |
working-directory: ${{runner.workspace}}/Stellarator-Tools/build | |
run: cmake -DCMAKE_BUILD_TYPE=${{matrix.mode}} -DCMAKE_Fortran_COMPILER=gfortran-11 -DBUILD_BOOZ_XFORM=ON -DBUILD_V3FIT=ON -DBUILD_V3RFUN=ON -DBUILD_SIESTA=ON -DBUILD_LGRID=ON -DBUILD_SURFACE=ON -DBUILD_BMW=ON -DBUILD_PARVMEC=ON -DBUILD_DESCUR=ON -DBUILD_TAG_BOOZ_XFORM=master_dev -DBUILD_TAG_V3FIT=master_dev -DBUILD_TAG_V3RFUN=master_dev -DBUILD_TAG_SIESTA=master_dev -DBUILD_TAG_LGRID=master_dev -DBUILD_TAG_SURFACE=master_dev -DBUILD_TAG_BMW=master_dev -DBUILD_TAG_LIBSTELL=${{github.ref_name}} -DBUILD_TAG_MAKEGRID=master_dev -DBUILD_TAG_PARVMEC=master_dev -DBUILD_TAG_DESCUR=master_dev -DUSE_FAST_COPY=ON -DUSE_PROFILER=ON ${{runner.workspace}}/Stellarator-Tools/ | |
- name: Configure CMake Linux | |
if: ${{matrix.os == 'ubuntu-latest'}} | |
shell: bash | |
working-directory: ${{runner.workspace}}/Stellarator-Tools/build | |
run: cmake -DCMAKE_BUILD_TYPE=${{matrix.mode}} -DBUILD_BOOZ_XFORM=ON -DBUILD_V3FIT=ON -DBUILD_V3RFUN=ON -DBUILD_SIESTA=ON -DBUILD_LGRID=ON -DBUILD_SURFACE=ON -DBUILD_BMW=ON -DBUILD_PARVMEC=ON -DBUILD_DESCUR=ON -DBUILD_TAG_BOOZ_XFORM=master_dev -DBUILD_TAG_V3FIT=master_dev -DBUILD_TAG_V3RFUN=master_dev -DBUILD_TAG_SIESTA=master_dev -DBUILD_TAG_LGRID=master_dev -DBUILD_TAG_SURFACE=master_dev -DBUILD_TAG_BMW=master_dev -DBUILD_TAG_LIBSTELL=${{github.ref_name}} -DBUILD_TAG_MAKEGRID=master_dev -DBUILD_TAG_PARVMEC=master_dev -DBUILD_TAG_DESCUR=master_dev -DUSE_FAST_COPY=ON -DUSE_PROFILER=ON ${{runner.workspace}}/Stellarator-Tools/ | |
- name: Build | |
shell: bash | |
working-directory: ${{runner.workspace}}/Stellarator-Tools/build | |
run: make -j VERBOSE=1 | |
- name: Test Mac | |
if: ${{matrix.os == 'macos-latest'}} | |
shell: bash | |
working-directory: ${{runner.workspace}}/Stellarator-Tools/build | |
run: make test ARGS=-j3 | |
- name: Test Linux | |
if: ${{matrix.os == 'ubuntu-latest'}} | |
shell: bash | |
working-directory: ${{runner.workspace}}/Stellarator-Tools/build | |
run: make test ARGS=-j2 | |
- name: Show Log | |
if: failure() | |
shell: bash | |
working-directory: ${{runner.workspace}}/Stellarator-Tools/build/Testing/Temporary | |
run: cat LastTest.log | |