Skip to content

adding mechanism configuration parser dependency #677

adding mechanism configuration parser dependency

adding mechanism configuration parser dependency #677

Workflow file for this run

name: Windows
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs:
mingw:
runs-on: windows-2019
strategy:
matrix:
architecture: [x64]
steps:
- uses: actions/checkout@v4
- name: Set up MinGW
uses: egor-tensin/setup-mingw@v2
with:
platform: ${{ matrix.architecture }}
version: 12.2.0 # https://github.com/egor-tensin/setup-mingw/issues/14
- uses: actions/setup-python@v5
- run: pip install numpy
- name: Run Cmake
run: cmake -S . -B build -G "MinGW Makefiles" -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
- name: Build
run: cmake --build build --parallel
- name: Run tests
run: |
cd build
ctest -C Debug --rerun-failed --output-on-failure . --verbose
msvc2022:
runs-on: windows-2022
continue-on-error: true
strategy:
matrix:
build_type: [Release]
architecture: [Win32, x64]
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
if: ${{ matrix.architecture == 'Win32' }}
with:
python-version: '3.x'
architecture: x86
- run: pip install numpy
- name: Run CMake
run: cmake -S . -B build -G "Visual Studio 17 2022" -A ${{ matrix.architecture }} -D MUSICA_GIT_TAG=${{ github.sha }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
- name: Build
run: cmake --build build --config ${{ matrix.build_type }} --parallel
- name: Test
run: cd build ; ctest -C ${{ matrix.build_type }} --output-on-failure --verbose
clang:
runs-on: windows-2019
continue-on-error: true
strategy:
matrix:
version: [11, 12, 13, 14, 15]
steps:
- uses: actions/checkout@v4
- name: Install Clang
run: curl -fsSL -o LLVM${{ matrix.version }}.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.version }}.0.0/LLVM-${{ matrix.version }}.0.0-win64.exe ; 7z x LLVM${{ matrix.version }}.exe -y -o"C:/Program Files/LLVM"
- uses: actions/setup-python@v5
- run: pip install numpy
- name: Run CMake
run: cmake -S . -B build -DCMAKE_CXX_COMPILER="C:/Program Files/LLVM/bin/clang++.exe" -DCMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe" -G"MinGW Makefiles" -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
- name: Build
run: cmake --build build --parallel
- name: Test
run: cd build ; ctest -C Debug --output-on-failure --verbose
clang-cl-11:
runs-on: windows-2019
continue-on-error: true
strategy:
matrix:
architecture: [Win32, x64]
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
if: ${{ matrix.architecture == 'Win32' }}
with:
python-version: '3.x'
architecture: x86
- uses: actions/setup-python@v5
- run: pip install numpy
- name: Run CMake
run: cmake -S . -B build -G "Visual Studio 16 2019" -A ${{ matrix.architecture }} -T ClangCL -D MUSICA_GIT_TAG=${{ github.sha }} -D MUSICA_ENABLE_TUVX=OFF -D MUSICA_ENABLE_PYTHON_LIBRARY=ON
- name: Build
run: cmake --build build --config Debug --parallel
- name: Test
run: cd build ; ctest -C Debug --output-on-failure --verbose
fortran:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
build_type: [Debug, Release]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
update: true
install: >-
base-devel
mingw-w64-x86_64-toolchain
mingw-w64-x86_64-gcc
mingw-w64-x86_64-gcc-fortran
mingw-w64-x86_64-cmake
mingw-w64-x86_64-netcdf
mingw-w64-x86_64-netcdf-fortran
msystem: MINGW64
- name: Add MSYS2 mingw64 to PATH
shell: msys2 {0}
run: echo "C:/msys64/mingw64/bin" >> $GITHUB_PATH
- name: Configure with CMake
shell: msys2 {0}
run: |
cmake -S . -B build -G "MinGW Makefiles" \
-D CMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-D MUSICA_GIT_TAG=${{ github.sha }} \
-D MUSICA_ENABLE_MICM=ON \
-D MUSICA_ENABLE_TUVX=ON \
-D MUSICA_ENABLE_PYTHON_LIBRARY=ON \
-D MUSICA_BUILD_FORTRAN_INTERFACE=ON
- name: Build the project
shell: msys2 {0}
run: cmake --build build --verbose
- name: Run tests
shell: msys2 {0}
run: ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose
working-directory: build