refactor: restore double precision executables #394
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 programs | |
run: | | |
# build programs where mf6 autotests expect them | |
python executables/scripts/build_programs.py -p modflow6/bin/downloaded | |
# move mf6 binaries to top-level bindir in 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 |