Update README.md #72
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: fpm | |
on: [push] | |
jobs: | |
Build: | |
runs-on: ${{ matrix.os }} | |
permissions: | |
contents: write | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
toolchain: | |
- {compiler: gcc} | |
- {compiler: intel} | |
- {compiler: intel-classic} | |
- {compiler: nvidia-hpc} | |
exclude: | |
- os: windows-latest | |
toolchain: {compiler: nvidia-hpc} | |
- os: windows-latest | |
toolchain: {compiler: intel} | |
- os: windows-latest | |
toolchain: {compiler: intel-classic} | |
- os: macos-latest | |
toolchain: {compiler: nvidia-hpc} | |
- os: macos-latest | |
toolchain: {compiler: intel} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup Fortran Package Manager (fpm) | |
uses: fortran-lang/setup-fpm@v5 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Setup Fortran Compiler | |
uses: fortran-lang/setup-fortran@main | |
id: setup-fortran | |
with: | |
compiler: ${{ matrix.toolchain.compiler }} | |
version: ${{ matrix.toolchain.version }} | |
- name: Install gcc@10 on macos required by fpm | |
if: contains(matrix.os, 'macos') | |
run: brew install gcc@10 | |
- name: Run Tests (Debug) | |
run: | | |
fpm test --profile debug --compiler ${{ env.FC}} | |
env: | |
FC: ${{ steps.setup-fortran.outputs.fc }} | |
- name: Run Tests (Release) | |
run: | | |
fpm test --profile release --compiler ${{ env.FC}} | |
env: | |
FC: ${{ steps.setup-fortran.outputs.fc }} | |
- name: Run Examples (Debug) | |
run: | | |
fpm run --example demo_curve --profile debug --compiler ${{ env.FC}} | |
fpm run --example demo_surface --profile debug --compiler ${{ env.FC}} | |
fpm run --example demo_volume --profile debug --compiler ${{ env.FC}} | |
fpm run --example example_curve_1 --profile debug --compiler ${{ env.FC}} | |
fpm run --example example_surface_1 --profile debug --compiler ${{ env.FC}} | |
fpm run --example example_volume_1 --profile debug --compiler ${{ env.FC}} | |
fpm run --example shape_hexahedron --profile debug --compiler ${{ env.FC}} | |
fpm run --example shape_circle --profile debug --compiler ${{ env.FC}} | |
fpm run --example shape_tetragon --profile debug --compiler ${{ env.FC}} | |
fpm run --example put_to_nurbs --profile debug --compiler ${{ env.FC}} | |
env: | |
FC: ${{ steps.setup-fortran.outputs.fc }} | |
- name: Run Examples (Release) | |
run: | | |
fpm run --example demo_curve --profile release --compiler ${{ env.FC}} | |
fpm run --example demo_surface --profile release --compiler ${{ env.FC}} | |
fpm run --example demo_volume --profile release --compiler ${{ env.FC}} | |
fpm run --example example_curve_1 --profile release --compiler ${{ env.FC}} | |
fpm run --example example_surface_1 --profile release --compiler ${{ env.FC}} | |
fpm run --example example_volume_1 --profile release --compiler ${{ env.FC}} | |
fpm run --example shape_hexahedron --profile release --compiler ${{ env.FC}} | |
fpm run --example shape_circle --profile release --compiler ${{ env.FC}} | |
fpm run --example shape_tetragon --profile release --compiler ${{ env.FC}} | |
fpm run --example put_to_nurbs --profile release --compiler ${{ env.FC}} | |
env: | |
FC: ${{ steps.setup-fortran.outputs.fc }} |