refactor: move MPI_Finalize C wrapper to pure Fortran (#26) #26
This file contains hidden or 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 | |
pull_request: | |
branches: | |
- main | |
env: | |
MACOSX_DEPLOYMENT_TARGET: 14.0 | |
jobs: | |
Run_standalone_tests_with_GFortran: | |
name: "Run standalone tests with GFortran" | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: ["macos-latest", "ubuntu-20.04"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Micromamba | |
uses: mamba-org/setup-micromamba@v2.0.2 | |
with: | |
micromamba-version: '2.0.4-0' | |
environment-file: ci/environment_gfortran.yml | |
- name: Run standalone tests with GFortran with and without optimization | |
shell: bash -e -x -l {0} | |
run: | | |
cd tests | |
FC="gfortran" ./run_tests.sh | |
FC="gfortran -O3 -march=native" ./run_tests.sh | |
Run_standalone_tests_with_LFortran: | |
name: "Run standalone tests with LFortran" | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: ["macos-latest", "ubuntu-20.04"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Micromamba | |
uses: mamba-org/setup-micromamba@v2.0.2 | |
with: | |
micromamba-version: '2.0.4-0' | |
environment-file: ci/environment_lfortran.yml | |
- name: Run standalone tests with LFortran with and without optimization | |
shell: bash -e -x -l {0} | |
run: | | |
cd tests | |
FC="lfortran" ./run_tests.sh | |
FC="lfortran --fast" ./run_tests.sh | |
Compile_POT3D_with_GFortran: | |
name: "Build POT3D and validate with GFortran" | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: ["macos-latest", "ubuntu-20.04"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Micromamba | |
uses: mamba-org/setup-micromamba@v2.0.2 | |
with: | |
micromamba-version: '2.0.4-0' | |
environment-file: ci/environment_gfortran.yml | |
# build and validation with GFortran's optimization | |
- name: POT3D Build and validation with GFortran with optimization (MPI only) | |
shell: bash -e -x -l {0} | |
run: | | |
cd tests/pot3d | |
FC="gfortran -O3 -march=native" ./build_and_run_gfortran.sh | |
# build and validation without GFortran's optimization | |
- name: POT3D Build and validation with GFortran without optimization (MPI only) | |
shell: bash -e -x -l {0} | |
run: | | |
cd tests/pot3d | |
FC="gfortran" ./build_and_run_gfortran.sh | |
Compile_POT3D_with_LFortran: | |
name: "Build POT3D and validate with LFortran" | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: ["macos-latest", "ubuntu-20.04"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Micromamba | |
uses: mamba-org/setup-micromamba@v2.0.2 | |
with: | |
micromamba-version: '2.0.4-0' | |
environment-file: ci/environment_lfortran.yml | |
# build and validation with LFortran's optimization | |
- name: POT3D Build and validation with LFortran with optimization (MPI only) | |
shell: bash -e -x -l {0} | |
run: | | |
cd tests/pot3d | |
FC="lfortran --fast" ./build_and_run_lfortran.sh | |
# build and validation without LFortran's optimization | |
- name: POT3D Build and validation with GFortran without optimization (MPI only) | |
shell: bash -e -x -l {0} | |
run: | | |
cd tests/pot3d | |
FC="lfortran" ./build_and_run_lfortran.sh |