This repository has been archived by the owner on Jan 5, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
180 additions
and
177 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -15,122 +15,122 @@ on: | |
schedule: | ||
- cron: '0 6 * * *' # run at 6 AM UTC every day | ||
jobs: | ||
test_modflow_meson: | ||
name: Build modflow6 with meson | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ ubuntu-latest, macos-latest, windows-latest ] | ||
env: [ pip, miniconda, micromamba ] | ||
defaults: | ||
run: | ||
shell: | ||
# necessary for miniconda and micromamba | ||
# https://github.com/mamba-org/provision-with-micromamba#important | ||
bash -l {0} | ||
steps: | ||
|
||
- name: Checkout action | ||
uses: actions/checkout@v3 | ||
|
||
- name: Checkout modflow6 | ||
uses: actions/checkout@v3 | ||
with: | ||
repository: MODFLOW-USGS/modflow6 | ||
path: modflow6 | ||
|
||
- name: Setup Python | ||
if: matrix.env == 'pip' | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: 3.9 | ||
cache: 'pip' | ||
|
||
- name: Install Python dependencies | ||
if: matrix.env == 'pip' | ||
shell: bash | ||
run: pip install -r test/requirements.txt | ||
|
||
- name: Install miniconda environment | ||
if: matrix.env == 'miniconda' | ||
uses: conda-incubator/setup-miniconda@v2 | ||
with: | ||
environment-file: modflow6/environment.yml | ||
|
||
- name: Install micromamba environment | ||
if: matrix.env == 'micromamba' | ||
uses: mamba-org/provision-with-micromamba@main | ||
with: | ||
environment-file: modflow6/environment.yml | ||
cache-downloads: true | ||
cache-env: true | ||
|
||
- name: Install ifort | ||
uses: ./ | ||
with: | ||
path: ${{ runner.os != 'Windows' && 'bin' || 'C:\Program Files (x86)\Intel\oneAPI' }} | ||
|
||
- name: Build modflow6 (Linux & Mac) | ||
if: runner.os != 'Windows' && matrix.env == 'pip' | ||
working-directory: modflow6 | ||
shell: bash | ||
run: | | ||
meson setup builddir -Ddebug=false --prefix=$(pwd) --libdir=bin | ||
meson compile -v -C builddir | ||
meson install -C builddir | ||
- name: Build modflow6 (Linux & Mac) | ||
if: runner.os != 'Windows' && matrix.env != 'pip' | ||
working-directory: modflow6 | ||
run: | | ||
meson setup builddir -Ddebug=false --prefix=$(pwd) --libdir=bin | ||
meson compile -v -C builddir | ||
meson install -C builddir | ||
- name: Add micromamba Scripts dir to path (Windows) | ||
if: runner.os == 'Windows' && matrix.env == 'micromamba' | ||
shell: pwsh | ||
run: | | ||
# adding micromamba scripts dir to system path | ||
$mamba_bin = "C:\Users\runneradmin\micromamba-root\envs\modflow6\Scripts" | ||
if (Test-Path $mamba_bin) { | ||
echo "adding micromamba scripts dir to path: $mamba_bin" | ||
echo $mamba_bin | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | ||
} | ||
|
||
- name: Build modflow6 (Windows bash) | ||
if: runner.os == 'Windows' | ||
continue-on-error: true | ||
working-directory: modflow6 | ||
shell: bash -l {0} | ||
run: | | ||
meson setup builddir -Ddebug=false --prefix=$(pwd) --libdir=bin | ||
meson compile -v -C builddir | ||
meson install -C builddir | ||
- name: Show meson build log | ||
run: cat modflow6/builddir/meson-logs/meson-log.txt | ||
|
||
- name: Build modflow6 (Windows pwsh) | ||
if: runner.os == 'Windows' | ||
continue-on-error: true | ||
working-directory: modflow6 | ||
shell: pwsh | ||
run: | | ||
meson setup builddir -Ddebug=false --prefix=$(pwd) --libdir=bin --wipe | ||
meson compile -v -C builddir | ||
meson install -C builddir | ||
- name: Build modflow6 (Windows cmd) | ||
if: runner.os == 'Windows' | ||
working-directory: modflow6 | ||
shell: cmd /C call {0} | ||
run: | | ||
meson setup builddir -Ddebug=false --prefix=%CD% --libdir=bin --wipe | ||
meson compile -v -C builddir | ||
meson install -C builddir | ||
# test_modflow_meson: | ||
# name: Build modflow6 with meson | ||
# runs-on: ${{ matrix.os }} | ||
# strategy: | ||
# fail-fast: false | ||
# matrix: | ||
# os: [ ubuntu-latest, macos-latest, windows-latest ] | ||
# env: [ pip, miniconda, micromamba ] | ||
# defaults: | ||
# run: | ||
# shell: | ||
# # necessary for miniconda and micromamba | ||
# # https://github.com/mamba-org/provision-with-micromamba#important | ||
# bash -l {0} | ||
# steps: | ||
|
||
# - name: Checkout action | ||
# uses: actions/checkout@v3 | ||
|
||
# - name: Checkout modflow6 | ||
# uses: actions/checkout@v3 | ||
# with: | ||
# repository: MODFLOW-USGS/modflow6 | ||
# path: modflow6 | ||
|
||
# - name: Setup Python | ||
# if: matrix.env == 'pip' | ||
# uses: actions/setup-python@v4 | ||
# with: | ||
# python-version: 3.9 | ||
# cache: 'pip' | ||
|
||
# - name: Install Python dependencies | ||
# if: matrix.env == 'pip' | ||
# shell: bash | ||
# run: pip install -r test/requirements.txt | ||
|
||
# - name: Install miniconda environment | ||
# if: matrix.env == 'miniconda' | ||
# uses: conda-incubator/setup-miniconda@v2 | ||
# with: | ||
# environment-file: modflow6/environment.yml | ||
|
||
# - name: Install micromamba environment | ||
# if: matrix.env == 'micromamba' | ||
# uses: mamba-org/provision-with-micromamba@main | ||
# with: | ||
# environment-file: modflow6/environment.yml | ||
# cache-downloads: true | ||
# cache-env: true | ||
|
||
# - name: Install ifort | ||
# uses: ./ | ||
# with: | ||
# path: ${{ runner.os != 'Windows' && 'bin' || 'C:\Program Files (x86)\Intel\oneAPI' }} | ||
|
||
# - name: Build modflow6 (Linux & Mac) | ||
# if: runner.os != 'Windows' && matrix.env == 'pip' | ||
# working-directory: modflow6 | ||
# shell: bash | ||
# run: | | ||
# meson setup builddir -Ddebug=false --prefix=$(pwd) --libdir=bin | ||
# meson compile -v -C builddir | ||
# meson install -C builddir | ||
|
||
# - name: Build modflow6 (Linux & Mac) | ||
# if: runner.os != 'Windows' && matrix.env != 'pip' | ||
# working-directory: modflow6 | ||
# run: | | ||
# meson setup builddir -Ddebug=false --prefix=$(pwd) --libdir=bin | ||
# meson compile -v -C builddir | ||
# meson install -C builddir | ||
|
||
# - name: Add micromamba Scripts dir to path (Windows) | ||
# if: runner.os == 'Windows' && matrix.env == 'micromamba' | ||
# shell: pwsh | ||
# run: | | ||
# # adding micromamba scripts dir to system path | ||
# $mamba_bin = "C:\Users\runneradmin\micromamba-root\envs\modflow6\Scripts" | ||
# | ||
# if (Test-Path $mamba_bin) { | ||
# echo "adding micromamba scripts dir to path: $mamba_bin" | ||
# echo $mamba_bin | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | ||
# } | ||
|
||
# - name: Build modflow6 (Windows bash) | ||
# if: runner.os == 'Windows' | ||
# continue-on-error: true | ||
# working-directory: modflow6 | ||
# shell: bash -l {0} | ||
# run: | | ||
# meson setup builddir -Ddebug=false --prefix=$(pwd) --libdir=bin | ||
# meson compile -v -C builddir | ||
# meson install -C builddir | ||
|
||
# - name: Show meson build log | ||
# run: cat modflow6/builddir/meson-logs/meson-log.txt | ||
|
||
# - name: Build modflow6 (Windows pwsh) | ||
# if: runner.os == 'Windows' | ||
# continue-on-error: true | ||
# working-directory: modflow6 | ||
# shell: pwsh | ||
# run: | | ||
# meson setup builddir -Ddebug=false --prefix=$(pwd) --libdir=bin --wipe | ||
# meson compile -v -C builddir | ||
# meson install -C builddir | ||
|
||
# - name: Build modflow6 (Windows cmd) | ||
# if: runner.os == 'Windows' | ||
# working-directory: modflow6 | ||
# shell: cmd /C call {0} | ||
# run: | | ||
# meson setup builddir -Ddebug=false --prefix=%CD% --libdir=bin --wipe | ||
# meson compile -v -C builddir | ||
# meson install -C builddir | ||
|
||
test_modflow_msvs: | ||
name: Build modflow6 with MSVS | ||
|
@@ -162,70 +162,73 @@ jobs: | |
with: | ||
vs2019: 'true' | ||
|
||
- name: Setup tmate session | ||
uses: mxschmitt/action-tmate@v3 | ||
|
||
- name: Build modflow6 | ||
working-directory: modflow6/msvs | ||
run: devenv mf6.sln /Build | ||
|
||
- name: Show build log | ||
shell: bash | ||
run: cat "D:\a\modflow6\modflow6\modflow6\msvs\UpgradeLog.htm" | ||
|
||
test_pymake: | ||
name: Test pymake integration | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
# windows-2022 runners have Visual Studio 17.4.*, which oneapi toolchain doesn't support yet | ||
os: [ ubuntu-latest, macos-latest, windows-2019 ] | ||
defaults: | ||
run: | ||
shell: bash | ||
steps: | ||
|
||
- name: Checkout action | ||
uses: actions/checkout@v3 | ||
|
||
- name: Checkout pymake | ||
uses: actions/checkout@v3 | ||
with: | ||
repository: modflowpy/pymake | ||
path: pymake | ||
|
||
- name: Setup Graphviz | ||
if: runner.os == 'Linux' | ||
uses: ts-graphviz/setup-graphviz@v1 | ||
|
||
- name: Set up Python | ||
uses: actions/[email protected] | ||
with: | ||
python-version: 3.9 | ||
|
||
- name: Install Python packages | ||
working-directory: pymake | ||
run: .github/common/install-python.sh | ||
|
||
- name: Setup oneAPI compilers | ||
uses: ./ | ||
with: | ||
path: ${{ runner.os != 'Windows' && 'bin' || 'C:\Program Files (x86)\Intel\oneAPI' }} | ||
|
||
- name: Download examples | ||
working-directory: pymake | ||
run: .github/common/download-examples.sh | ||
|
||
- name: Test (Linux) | ||
if: runner.os == 'Linux' | ||
working-directory: pymake | ||
run: pytest -v -n=auto --dist=loadfile -m="base or regression" --durations=0 --cov=pymake --cov-report=xml autotest/ | ||
|
||
- name: Test (MacOS) | ||
if: runner.os == 'macOS' | ||
working-directory: pymake | ||
run: pytest -v -n=auto --dist=loadfile -m="base" --durations=0 --cov=pymake --cov-report=xml autotest/ | ||
|
||
- name: Test (Windows) | ||
if: runner.os == 'Windows' | ||
working-directory: pymake | ||
shell: cmd | ||
run: pytest -v -m="base" --durations=0 --cov=pymake --cov-report=xml autotest/ | ||
run: cat "D:\a\install-intelfortran-action\install-intelfortran-action\modflow6\msvs\UpgradeLog.htm" | ||
|
||
# test_pymake: | ||
# name: Test pymake integration | ||
# runs-on: ${{ matrix.os }} | ||
# strategy: | ||
# fail-fast: false | ||
# matrix: | ||
# # windows-2022 runners have Visual Studio 17.4.*, which oneapi toolchain doesn't support yet | ||
# os: [ ubuntu-latest, macos-latest, windows-2019 ] | ||
# defaults: | ||
# run: | ||
# shell: bash | ||
# steps: | ||
|
||
# - name: Checkout action | ||
# uses: actions/checkout@v3 | ||
|
||
# - name: Checkout pymake | ||
# uses: actions/checkout@v3 | ||
# with: | ||
# repository: modflowpy/pymake | ||
# path: pymake | ||
|
||
# - name: Setup Graphviz | ||
# if: runner.os == 'Linux' | ||
# uses: ts-graphviz/setup-graphviz@v1 | ||
|
||
# - name: Set up Python | ||
# uses: actions/[email protected] | ||
# with: | ||
# python-version: 3.9 | ||
|
||
# - name: Install Python packages | ||
# working-directory: pymake | ||
# run: .github/common/install-python.sh | ||
|
||
# - name: Setup oneAPI compilers | ||
# uses: ./ | ||
# with: | ||
# path: ${{ runner.os != 'Windows' && 'bin' || 'C:\Program Files (x86)\Intel\oneAPI' }} | ||
|
||
# - name: Download examples | ||
# working-directory: pymake | ||
# run: .github/common/download-examples.sh | ||
|
||
# - name: Test (Linux) | ||
# if: runner.os == 'Linux' | ||
# working-directory: pymake | ||
# run: pytest -v -n=auto --dist=loadfile -m="base or regression" --durations=0 --cov=pymake --cov-report=xml autotest/ | ||
|
||
# - name: Test (MacOS) | ||
# if: runner.os == 'macOS' | ||
# working-directory: pymake | ||
# run: pytest -v -n=auto --dist=loadfile -m="base" --durations=0 --cov=pymake --cov-report=xml autotest/ | ||
|
||
# - name: Test (Windows) | ||
# if: runner.os == 'Windows' | ||
# working-directory: pymake | ||
# shell: cmd | ||
# run: pytest -v -m="base" --durations=0 --cov=pymake --cov-report=xml autotest/ |