Skip to content

Commit

Permalink
Merge branch 'main' into develop-docs
Browse files Browse the repository at this point in the history
  • Loading branch information
dwfncar committed Apr 23, 2024
2 parents 61b7c1e + 19590a7 commit b294dc7
Show file tree
Hide file tree
Showing 51 changed files with 14,634 additions and 119 deletions.
8 changes: 6 additions & 2 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
name: Docker

on: [push, pull_request]
on:
push:
branches:
- main
pull_request:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true

jobs:
docker-build-and-test:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
name: Build and Test - ${{ matrix.dockerfile }}
runs-on: ubuntu-latest
strategy:
Expand Down
22 changes: 14 additions & 8 deletions .github/workflows/mac.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
name: Mac

on: [push, pull_request]
on:
push:
branches:
- main
pull_request:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true

jobs:
c_cxx:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: macos-latest
strategy:
matrix:
Expand All @@ -17,31 +21,33 @@ jobs:
- { cpp: g++-12, c: gcc-12}
- { cpp: g++-13, c: gcc-13}
- { cpp: clang++, c: clang}
build_type: [Debug, Release]
build_type: [Release]
env:
CC: ${{ matrix.compiler.c }}
CXX: ${{ matrix.compiler.cpp }}

steps:
- uses: actions/checkout@v3

- uses: actions/setup-python@v5
- run: pip install -r python/requirements.txt

- name: Run Cmake
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }}
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_ENABLE_PYTHON_LIBRARY=ON

- name: Build
run: cmake --build build --parallel 10
run: cmake --build build --parallel

- name: Run tests
run: |
cd build
ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10
fortran:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: macos-latest
strategy:
matrix:
gcc_version: [11, 12, 13]
build_type: [Debug, Release]
build_type: [Release]
env:
FC: gfortran-${{ matrix.gcc_version }}

Expand All @@ -55,7 +61,7 @@ jobs:
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_BUILD_FORTRAN_INTERFACE=ON

- name: Build
run: cmake --build build --parallel 10
run: cmake --build build --parallel

- name: Run tests
run: |
Expand Down
22 changes: 14 additions & 8 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
name: Ubuntu

on: [push, pull_request]
on:
push:
branches:
- main
pull_request:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true

jobs:
c_cxx:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: ubuntu-latest
strategy:
matrix:
Expand All @@ -17,31 +21,33 @@ jobs:
- { cpp: g++-12, c: gcc-12}
- { cpp: g++-13, c: gcc-13}
- { cpp: clang++, c: clang}
build_type: [Debug, Release]
build_type: [Release]
env:
CC: ${{ matrix.compiler.c }}
CXX: ${{ matrix.compiler.cpp }}

steps:
- uses: actions/checkout@v3

- uses: actions/setup-python@v5
- run: pip install -r python/requirements.txt

- name: Run Cmake
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }}
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_ENABLE_PYTHON_LIBRARY=ON

- name: Build
run: cmake --build build --verbose
run: cmake --build build --verbose --parallel

- name: Run tests
run: |
cd build
ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10
fortran:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: ubuntu-latest
strategy:
matrix:
gcc_version: [11, 12, 13]
build_type: [Debug, Release]
build_type: [Release]
env:
FC: gfortran-${{ matrix.gcc_version }}

Expand All @@ -57,7 +63,7 @@ jobs:
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_BUILD_FORTRAN_INTERFACE=ON

- name: Build
run: cmake --build build --parallel 10
run: cmake --build build --parallel

- name: Run tests
run: |
Expand Down
103 changes: 60 additions & 43 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
name: Windows

on: [push, pull_request]
on:
push:
branches:
- main
pull_request:
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true

jobs:
mingw:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: windows-2019
strategy:
matrix:
Expand All @@ -21,111 +25,124 @@ jobs:
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 -r python/requirements.txt

- name: Run Cmake
run: cmake -S . -B build -G "MinGW Makefiles"
run: cmake -S . -B build -G "MinGW Makefiles" -D MUSICA_ENABLE_PYTHON_LIBRARY=ON

- name: Build
run: cmake --build build --parallel 10
run: cmake --build build --parallel

- name: Run tests
run: |
cd build
ctest -C Debug --rerun-failed --output-on-failure . --verbose
msvc2019:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: windows-2019
strategy:
matrix:
build_type: [Debug, Release]
build_type: [Release]
architecture: [Win32, x64]

steps:
- uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v5
if: ${{ matrix.architecture == 'Win32' }}
with:
python-version: '3.x'
architecture: x86
- run: pip install -r python/requirements.txt

- name: Run CMake
run: cmake -S . -B build -G "Visual Studio 16 2019" -A ${{ matrix.architecture }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
run: cmake -S . -B build -G "Visual Studio 16 2019" -A ${{ matrix.architecture }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_ENABLE_PYTHON_LIBRARY=ON

- name: Build
run: cmake --build build --config ${{ matrix.build_type }} --parallel 10
run: cmake --build build --config ${{ matrix.build_type }} --parallel

- name: Test
run: cd build ; ctest -j 10 -C ${{ matrix.build_type }} --output-on-failure

msvc2019_latest:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: windows-2019

steps:
- uses: actions/checkout@v3
- name: Run CMake
run: cmake -S . -B build -G "Visual Studio 16 2019"
- name: Build
run: cmake --build build --config Release --parallel 10
- name: Test
run: cd build ; ctest -j 10 -C Release --output-on-failure

msvc2022:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: windows-2022
strategy:
matrix:
build_type: [Debug, Release]
build_type: [Release]
architecture: [Win32, x64]

steps:
- uses: actions/checkout@v3
- name: Run CMake
run: cmake -S . -B build -G "Visual Studio 17 2022" -A ${{ matrix.architecture }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
- name: Build
run: cmake --build build --config ${{ matrix.build_type }} --parallel 10
- name: Test
run: cd build ; ctest -j 10 -C ${{ matrix.build_type }} --output-on-failure

msvc2022_latest:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: windows-2022
- name: Set up Python
uses: actions/setup-python@v5
if: ${{ matrix.architecture == 'Win32' }}
with:
python-version: '3.x'
architecture: x86

- run: pip install -r python/requirements.txt

steps:
- uses: actions/checkout@v3
- name: Run CMake
run: cmake -S . -B build -G "Visual Studio 17 2022"
run: cmake -S . -B build -G "Visual Studio 17 2022" -A ${{ matrix.architecture }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -D MUSICA_ENABLE_PYTHON_LIBRARY=ON

- name: Build
run: cmake --build build --config Release --parallel 10
run: cmake --build build --config ${{ matrix.build_type }} --parallel

- name: Test
run: cd build ; ctest -j 10 -C Release --output-on-failure
run: cd build ; ctest -j 10 -C ${{ matrix.build_type }} --output-on-failure

clang:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: windows-2019
strategy:
matrix:
version: [11, 12, 13, 14, 15]

steps:
- uses: actions/checkout@v3

- 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 -r python/requirements.txt

- 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" -DCMAKE_BUILD_TYPE=Debug
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_ENABLE_PYTHON_LIBRARY=ON

- name: Build
run: cmake --build build --parallel 10
run: cmake --build build --parallel

- name: Test
run: cd build ; ctest -j 10 -C Debug --exclude-regex "test-unicode" --output-on-failure

clang-cl-11:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: windows-2019
strategy:
matrix:
architecture: [Win32, x64]

steps:
- uses: actions/checkout@v3

- 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 -r python/requirements.txt

- name: Run CMake
run: cmake -S . -B build -G "Visual Studio 16 2019" -A ${{ matrix.architecture }} -T ClangCL
run: cmake -S . -B build -G "Visual Studio 16 2019" -A ${{ matrix.architecture }} -T ClangCL -D MUSICA_ENABLE_PYTHON_LIBRARY=ON

- name: Build
run: cmake --build build --config Debug --parallel 10
run: cmake --build build --config Debug --parallel

- name: Test
run: cd build ; ctest -j 10 -C Debug --exclude-regex "test-unicode" --output-on-failure
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ CMakeCache.txt
CMakeFiles
.DS_Store
.vscode
dist/
musica.cpython-*
musica.egg-info
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,7 @@
[submodule "lib/tuv-x"]
path = lib/tuv-x
url = https://github.com/NCAR/tuv-x
[submodule "lib/pybind11"]
path = lib/pybind11
url = https://github.com/pybind/pybind11
branch = stable
3 changes: 2 additions & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cff-version: 1.2.0
message: "This Citation File Format (CFF) record describes a software paper."
message: "This Citation File Format (CFF) record describes how to cite MUSICA software."
authors:
- family-names: Pfister
given-names: Gabriele G.
Expand Down Expand Up @@ -64,3 +64,4 @@ number: 10
page: "E1743 - E1760"
doi: "10.1175/BAMS-D-19-0331.1"
url: "https://journals.ametsoc.org/view/journals/bams/101/10/bamsD190331.xml"
version: 0.6.0
Loading

0 comments on commit b294dc7

Please sign in to comment.