Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.0.6 #5

Closed
wants to merge 40 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
36f5b28
setup: initial files from original repo
jdhughes-usgs Jul 8, 2022
0e464bc
setup: initial files from original repo
jdhughes-usgs Jul 8, 2022
5f7cd0c
Merge pull request #1 from jdhughes-usgs/initial-pull
jdhughes-usgs Jul 8, 2022
56283a4
setup: initial changes
jdhughes-usgs Jul 8, 2022
29bf21f
setup: initial changes
jdhughes-usgs Jul 8, 2022
136638c
setup: initial changes
jdhughes-usgs Jul 8, 2022
89d7a16
setup: initial changes
jdhughes-usgs Jul 9, 2022
c1f927e
setup: initial-changes
jdhughes-usgs Jul 9, 2022
cb4ed13
setup: add Simulation and related functions
jdhughes-usgs Jul 11, 2022
4e9865f
setup: add Simulation and related functions
jdhughes-usgs Jul 11, 2022
518d67c
setup: add Simulation and related functions
jdhughes-usgs Jul 11, 2022
956f566
setup: add Simulation and related functions
jdhughes-usgs Jul 11, 2022
7b62b74
setup: add Simulation and related functions
jdhughes-usgs Jul 12, 2022
ca1b74e
Merge pull request #3 from jdhughes-usgs/add-src
jdhughes-usgs Jul 12, 2022
9278940
setup: add additional mf6 testing functions
jdhughes-usgs Jul 15, 2022
5736232
Merge pull request #4 from jdhughes-usgs/add-src
jdhughes-usgs Jul 15, 2022
64e500b
setup: add download, dependencies and related scripts (#5)
mjreno Jul 20, 2022
933c797
fix: changes to support running of existing tests (#6)
mjreno Jul 20, 2022
62218cf
setup: add known internal paths for test input data and regression ex…
mjreno Jul 27, 2022
e010d18
sim object composes context
mjreno Aug 4, 2022
d4784ef
add cross_section to utils
mjreno Aug 4, 2022
15dcce8
include usgsprograms.txt in pkg
mjreno Aug 4, 2022
9562c42
include usgsprograms.txt in pkg
mjreno Aug 4, 2022
a681aab
include usgsprograms.txt in pkg
mjreno Aug 5, 2022
7ba3b48
move bin inside pkg, update target identification
mjreno Aug 5, 2022
5aff342
refactor: updates to support modflow6 autotest and remove data path
mjreno Aug 5, 2022
e9e14f9
refactor: updates to support modflow6 autotest and remove data path
mjreno Aug 5, 2022
f6b4968
Merge pull request #8 from mjreno/coupleMf6
mjreno Aug 6, 2022
1dcb276
Refactoring, organization & packaging updates (#9)
wpbonelli Nov 8, 2022
0bb3190
fix(ci): don't build/test examples on python 3.7 (xmipy requires 3.8+…
wpbonelli Nov 8, 2022
3c63aaa
fix(tests): mark test_download_and_unzip flaky (#11)
wpbonelli Nov 8, 2022
1e5fabd
fix(fixtures): fix model-loading fixtures and utilities (#12)
wpbonelli Nov 11, 2022
eefb659
refactor(ci): create release and publish to PyPI when tags pushed (#14)
wpbonelli Nov 14, 2022
3108c38
feat(build): restore meson_build function (#15)
wpbonelli Nov 14, 2022
80b8d1e
fix(misc): fix multiple issues (#16)
wpbonelli Nov 19, 2022
89db96f
fix(auth): fix GH API auth token in download_and_unzip (#17)
wpbonelli Nov 19, 2022
1672733
refactor(misc): refactor gh api & other http utilities (#18)
wpbonelli Nov 26, 2022
bb8fa59
refactor: remove mf6 file parsing fns (moved to flopy) (#19)
wpbonelli Nov 28, 2022
58dff9f
fix(download): use 'wb' instead of 'ab' mode when writing downloaded …
wpbonelli Dec 1, 2022
bb2f017
ci: update scripts and workflow for automatic release
wpbonelli Dec 16, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
177 changes: 177 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
name: CI
on:
push:
branches:
- main
- develop*
paths-ignore:
- '**.md'
pull_request:
branches:
- main
- develop*
paths-ignore:
- '**.md'
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:

- name: Checkout repo
uses: actions/checkout@v3

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.7
cache: 'pip'
cache-dependency-path: setup.cfg

- name: Install Python packages
run: |
pip install .
pip install ".[lint]"

- name: Run isort
run: isort --verbose --check --diff modflow_devtools

- name: Run black
run: black --check --diff modflow_devtools

- name: Run flake8
run: flake8 --count --show-source --exit-zero modflow_devtools

- name: Run pylint
run: pylint --jobs=0 --errors-only --exit-zero modflow_devtools

build:
name: Build
runs-on: ubuntu-latest
steps:

- name: Checkout repo
uses: actions/checkout@v3

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.7

- name: Upgrade pip and install build and twine
run: |
pip install --upgrade pip
pip install build twine

- name: Base modflow_devtools installation
run: |
pip --verbose install .

- name: Print package version
run: |
python -c "import modflow_devtools; print(modflow_devtools.__version__)"

- name: Build package
run: |
python -m build

- name: Check distribution
run: |
twine check --strict dist/*

test:
name: Test
needs:
- build
- lint
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ ubuntu-22.04, macos-12, windows-2022 ]
python: [ 3.7, 3.8, 3.9, "3.10" ]
env:
GCC_V: 11
steps:

- name: Checkout repo
uses: actions/checkout@v3
with:
path: modflow-devtools

- name: Checkout modflow6
uses: actions/checkout@v3
with:
repository: MODFLOW-USGS/modflow6
path: modflow6

- name: Checkout modflow6 examples
uses: actions/checkout@v3
with:
repository: MODFLOW-USGS/modflow6-examples
path: modflow6-examples

- name: Checkout modflow6 test models
uses: actions/checkout@v3
with:
repository: MODFLOW-USGS/modflow6-testmodels
path: modflow6-testmodels

- name: Checkout modflow6 large test models
uses: actions/checkout@v3
with:
repository: MODFLOW-USGS/modflow6-largetestmodels
path: modflow6-largetestmodels

- name: Install executables
uses: modflowpy/install-modflow-action@v1

- name: Setup GNU Fortran ${{ env.GCC_V }}
uses: awvwgk/setup-fortran@main
with:
compiler: gcc
version: ${{ env.GCC_V }}

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
cache: 'pip'
cache-dependency-path: |
modflow-devtools/setup.cfg
modflow6-examples/etc/requirements*.txt

- name: Install Python packages
working-directory: modflow-devtools
run: |
pip install .
pip install ".[test]"

- name: Cache modflow6 examples
id: cache-examples
uses: actions/cache@v3
with:
path: modflow6-examples/examples
key: modflow6-examples-${{ hashFiles('modflow6-examples/data/**') }}

- name: Install extra Python packages
# can't build examples on Python 3.7, requires Python 3.8
if: steps.cache-examples.outputs.cache-hit != 'true' && matrix.python != '3.7'
working-directory: modflow6-examples/etc
run: |
pip install -r requirements.pip.txt
pip install -r requirements.usgs.txt

- name: Build modflow6 example models
# can't build examples on Python 3.7, requires Python 3.8
if: steps.cache-examples.outputs.cache-hit != 'true' && matrix.python != '3.7'
working-directory: modflow6-examples/etc
run: python ci_build_files.py

- name: Run tests
working-directory: modflow-devtools
env:
BIN_PATH: ~/.local/bin/modflow
REPOS_PATH: ${{ github.workspace }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: pytest -v -n auto --durations 0
Loading