5.5 KiB
Instructions for making a FloPy release
Make a release branch from develop
-
Make a release branch from develop (e.g.
release3.2.10
) -
If the flopy release coincides with a new MODFLOW 6 release
-
Update
usgsprograms.txt
in the GitHub pymake repository with the path to the new MODFLOW 6 release. Also update all other targets inusgsprograms.txt
with the path to new releases. -
Recompile all of the executables release on the GitHub executables repository using the
buildall.py
pymake script and Intel compilers for all operating systems. -
Update the README.md on the GitHub executables repository with the information in the
code.md
file created by thebuildall.py
pymake script. -
Make a new release on the GitHub executables repository and add all of the operating system specific zip files containing the compiled executables (
linux.zip
,mac.zip
,win64.zip
,win32.zip
). Publish the new release. -
Update MODFLOW 6 dfn files in the repository and MODFLOW 6 package classes by running:
python -c 'import flopy; flopy.mf6.utils.generate_classes(branch="master", backup=False)'
-
Run
black
on the updated MODFLOW 6 package classes by running the following from the root directory:black -l 79 flopy/mf6
-
Update the release version number
- Increment
major
,minor
, and/ormicro
numbers inflopy/version.py
, as appropriate.
Update the Software/Code citation for FloPy
- Update the
author_dict
inflopy/version.py
for the Software/Code citation for FloPy, if required.
Build USGS release notes
-
Manually run
make-release.py
in therelease/
directory to update version information using:python make-release.py
-
Manually run
update-version_changes.py
in therelease/
directory to update version changes information using:python update-version_changes.py
Update the example notebooks
Use run_notebooks.py
in the release
directory to rerun all of the notebooks in:
examples\Notebooks
directory.examples\Notebooks\groundwater_paper
directory.examples\Notebooks\FAQ
directory.
Commit the release branch
- Commit the changes to the release (e.g.
release3.2.10
) branch. - Push the commit to the upstream GitHub repository.
- Wait until the commit successfully runs on GitHub Actions.
Update master branch
- Change to the
master
branch in SourceTree. - Merge the release branch (e.g.
release3.2.10
) branch into themaster
branch. - Commit changes to
master
branch and push the commit to GitHub.
Finalizing the release
- Tag the commit with the
__version__
number using SourceTree (don't forget to commit the tag). - Push the commit and tag to the GitHub website.
- Make release on GitHub website. Add version changes for current release from to release text. Publish release.
Update flopy-feedstock for conda install
-
Download the
*.tar.gz
file for the current release from the GitHub website. -
Calculate the sha256 checksum for the
*.tar.gz
using:openssl sha256 flopy-version.tar.gz
from a terminal.
-
Pull upstream flopy-feedstock into local copy of the flopy-feedstock fork repo:
cd /Users/jdhughes/Documents/Development/flopy-feedstock_git git fetch upstream git checkout master git reset --hard upstream/master git push origin master --force
-
Rerender the repo using
conda-smithy
(make sureconda-smithy
is installed using conda):conda smithy rerender
-
Update the version number in
{% set version = "3.2.7" %}
and sha256 in the flopy-feedstock fork meta.yaml file. -
Commit changes and push to flopy-feedstock fork.
-
Make pull request to flopy-feedstock
Update PyPi
-
Make sure
pypandoc
andtwine
are installed using:conda search pypandoc conda search twine
-
If they are not installed, install one or both using using:
conda install pypandoc conda install twine
-
Create the source zip file in a terminal using:
python setup.py sdist --format=zip
-
Upload the release to PyPi using (make sure
twine
is installed using conda):twine upload dist/flopy-version.zip
Sync develop and master branches
-
Merge the
master
branch into thedevelop
branch. -
Increment
major
,minor
, and/ormicro
numbers inflopy/version.py
, as appropriate. -
Manually run
make-release.py
in therelease/
directory to update version information using:python make-release.py
-
Commit and push the modified
develop
branch.