Merged
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #1642 +/- ##
=======================================
Coverage 72.8% 72.8%
=======================================
Files 251 251
Lines 54517 54515 -2
=======================================
+ Hits 39689 39719 +30
+ Misses 14828 14796 -32
|
fe4200f to
8865b8b
Compare
8865b8b to
62c8a2d
Compare
christianlangevin
approved these changes
Dec 14, 2022
wpbonelli
added a commit
to wpbonelli/flopy
that referenced
this pull request
Dec 14, 2022
wpbonelli
added a commit
to wpbonelli/flopy
that referenced
this pull request
Dec 14, 2022
wpbonelli
added a commit
that referenced
this pull request
Dec 14, 2022
wpbonelli
added a commit
to wpbonelli/flopy
that referenced
this pull request
Dec 14, 2022
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release automation
Adds a workflow
release.ymlto make FloPy releases. There are some manual steps that must be completed before initiating the automatic release, as before (steps 1-5 indocs/make_release.md).Approach
The approach is similar to that introduced in modflow6 PR 1069: the
release.ymlworkflow is triggered by pushing a release branch named e.g.v3.3.6rcorv3.3.6. If the branch name ends withrc, it's a dry run and the workflow ends after updating version files, recreating plugin classes, updating the changelog, and running tests and notebooks. If the branch name doesn't end withrcthe release is considered approved and production-ready, and after the preceding steps a draft PR is created from the candidate branch intomaster. Merging this PR triggers a job to draft a release. The release post's content is the changelog since the last release. Publishing the release triggers a final job to publish the Python package to PyPI. Opening a PR to updateconda-forge/flopy-feedstockwas considered but does not seem necessary as there seems to be a bot which auto-detects package updates and creates PRs for us.Refactoring
A
version.txtfile is added in the project root. Functionality fromscripts/make-release.pyandscripts/update-version_changes.pyis consolidated inscripts/update_version.py, which acquires a file lock and updates version numbers and timestamps, first inversion.txtthen in other files includingflopy/version.py,README.md, etc. Sample usage:Changelogs are generated with
git-cliffviaorhun/git-cliff-actionin the release workflow, and changes for each new release are automatically prepended todocs/version_changes.md, so code inscripts/update-version_changes.pyis removed. Acliff.tomlconfig file is added in the project root. The format ofdocs/version_changes.mdis standardized. The updated procedure is described indocs/make_release.md.get-modflow--subsetmatching behavior to include*dblvariantsget-modflowscript test cases by valid/invalid options for finer-grained debuggingcode.jsonformodflow6andmodflow6-nightly-buildrepos since they use a different format thanexecutablesThe first two items are a result of my jumping the gun in #1641 and "fixing" a test that was only failing due to temporary state of the
executablesrepo releases.Miscellanous
etc/environment.ymlautotestfiles and notebook utilitiespytest-dotenvas a testing dependency (allows defining environment variables e.g.GITHUB_TOKENin a.envfile)