refactor: restore double precision executables #393
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: Integration testing | |
on: | |
push: | |
paths-ignore: | |
- '**.md' | |
pull_request: | |
branches: | |
- master | |
- develop | |
paths-ignore: | |
- '**.md' | |
schedule: | |
- cron: '0 6 * * *' # run at 6 AM UTC every day | |
jobs: | |
test_modflow: | |
name: MODFLOW 6 integration tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-20.04, macos-latest, windows-2019 ] | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
with: | |
path: executables | |
- name: Checkout modflow6 | |
uses: actions/checkout@v4 | |
with: | |
repository: MODFLOW-USGS/modflow6 | |
path: modflow6 | |
- name: Setup Micromamba | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-file: modflow6/environment.yml | |
cache-environment: true | |
cache-downloads: true | |
init-shell: bash | |
- name: Setup Intel fortran | |
uses: fortran-lang/setup-fortran@v1 | |
with: | |
compiler: intel-classic | |
version: 2021.7 | |
- name: Build modflow6 | |
working-directory: modflow6 | |
run: | | |
meson setup builddir --prefix=$(pwd) --libdir=bin -Ddebug=false | |
meson install -C builddir | |
- name: Build executables | |
run: | | |
# build all programs where mf6 autotests expect them | |
python executables/scripts/build_programs.py -p modflow6/bin/downloaded | |
# move mf6 exes to the top-level bindir in the mf6 repo | |
if [[ "$RUNNER_OS" == "Windows" ]]; then | |
eext=".exe" | |
oext=".dll" | |
elif [[ "$RUNNER_OS" == "Linux" ]]; then | |
eext="" | |
oext=".so" | |
else | |
eext="" | |
oext=".dylib" | |
fi | |
cp "modflow6/bin/downloaded/mf6$eext" modflow6/bin | |
cp "modflow6/bin/downloaded/libmf6$oext" modflow6/bin | |
cp "modflow6/bin/downloaded/zbud6$eext" modflow6/bin | |
# set execute permissions | |
if [[ "$RUNNER_OS" != "Windows" ]]; then | |
sudo chmod +x modflow6/bin/* | |
sudo chmod +x modflow6/bin/downloaded/* | |
fi | |
- name: Upload executables | |
uses: actions/upload-artifact@v4 | |
with: | |
name: executables | |
path: ./*.zip | |
- name: Upload metadata | |
if: runner.os == 'Linux' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: metadata | |
path: | | |
./code.json | |
./code.md | |
- name: Test modflow6 | |
working-directory: modflow6/autotest | |
run: | | |
python update_flopy.py | |
pytest -v -n auto -k "not gwe" -m "not developmode" --durations 0 |