Skip to content

Latest commit

 

History

History
62 lines (43 loc) · 1.52 KB

contributing.md

File metadata and controls

62 lines (43 loc) · 1.52 KB

Contributing

Contributions are welcome!

Developer notes

Test suite

Tests are run with pytest, to install test dependencies:

pip install -e .[test,full]

To run tests:

pytest -v .

Releasing

Releases use a mostly automated pipeline of github actions triggered by pushing a new version tag.

Assuming your local fork has a remote upstream pointing to this repo, first make sure your local main branch matches upstream:

git checkout main
git fetch --all
git rebase upstream/main

Also make sure the version in yt_experiments/_version.py matches the upcoming release. If not, stop here and create a PR to update the version to the upcoming release.

Now create the new version tag:

git tag v2.1.3

And push it upstream

git push upstream v2.1.3

This will trigger the build_and_publish.yaml and run_tests.yaml actions. If build_and_publish.yaml succeeds in building the sdist and wheels, then a new github release draft will be created (but the release will not be pushed to pypi yet!).

Next, go to the release page, open up the draft release, edit the title and write up the release notes. When ready, hit publish -- this will again trigger the build_and_publish.yaml action, but this time it will push up to pypi on success.

Note that the pypi publication configuration is setup via a Trusted Publisher under @chrishavlin's pypi account (chavlin).