diff --git a/README.md b/README.md index e9aea35..579b2ed 100644 --- a/README.md +++ b/README.md @@ -85,6 +85,14 @@ Package Release ------------------- Please see [RELEASE.md](https://github.com/microsoft/genalog/blob/main/RELEASE.md) for more details on the release process. +Development with the Repo +-------------------------- +We use [tox](https://tox.readthedocs.io/en/latest/index.html) to orchestrate most of the CI procedure. This will ensure the maximum environment parity between local dev boxes and remote CI pipelines. + +1. `git clone https://github.com/microsoft/genalog.git` +2. `pip install tox` +3. To run static analysis: `tox -e flake8` +4. To run the test suites: `tox -e -- -m "not azure"` Repo Structure ------------------- diff --git a/RELEASE.md b/RELEASE.md index 75c8792..ea6c93f 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,28 +1,32 @@ -# Toucan Release Procedure +# Genalog Release Procedure Checklist for the release process of `genalog`: ### Preparation -- [x] Ensure `main` branch contains all relevant changes and PRs relating to the specific release is merged -- [x] Create and switch to a new release branch (i.e. release-X.Y.Z) +- [ ] Ensure `main` branch contains all relevant changes and PRs relating to the specific release is merged +- [ ] Create and switch to a new release branch (i.e. release-X.Y.Z) ### Package Metadata Update -- [x] Update VERSION.txt with version bump. Please reference [Semantic Versioning](https://semver.org/). -- [x] Update [CHANGELOG.md](./CHANGELOG.md) -- [x] Commit the above changes with title "Release vX.Y.Z" -- [x] Generate a new git tag for the new version (e.g. `git tag -a v0.1.0 -m "Initial Release"`) -- [x] Push the new tag to remote `git push origin v0.1.0` -- [x] Create a new PR with the above changes into `main` branch. +- [ ] Update VERSION.txt with version bump. Please reference [Semantic Versioning](https://semver.org/). +- [ ] Update [CHANGELOG.md](./CHANGELOG.md) +- [ ] Commit the above changes with title "Release vX.Y.Z" +- [ ] Generate a new git tag for the new version (e.g. `git tag -a v0.1.0 -m "Initial Release"`) +- [ ] Push the new tag to remote `git push origin v0.1.0` +- [ ] Create a new PR with the above changes into `main` branch. + +### Run the Full Test Suites +- [ ] If you haven't, `pip install tox` +- [ ] Run the test suites with `tox -e py -- -m "not azure"` (we will skip the azure related tests as they will be deprecated) ### Release to PyPI -- [x] Manually trigger the [release pipeline](https://dev.azure.com/genalog-dev/genalog/_build?definitionId=2) in DevOps on the release branch, this will publish latest version of `genalog` to PyPI. - - [x] Select `releaseType` to `Test` to test out the release in [TestPyPI](https://test.pypi.org/project/genalog/) - - [x] Rerun and switch `releaseType` to production if looks good. -- [x] If the pipeline ran successfully, check and publish the draft of this release on [Github Release](https://github.com/microsoft/genalog/releases) -- [x] Latest version is pip-installable with: +- [ ] Manually trigger the [release pipeline](https://dev.azure.com/genalog-dev/genalog/_build?definitionId=2) in DevOps on the release branch, this will publish latest version of `genalog` to PyPI. + - [ ] Select `releaseType` to `Test` to test out the release in [TestPyPI](https://test.pypi.org/project/genalog/) + - [ ] Rerun and switch `releaseType` to production if looks good. +- [ ] If the pipeline ran successfully, check and publish the draft of this release on [Github Release](https://github.com/microsoft/genalog/releases) +- [ ] Latest version is pip-installable with: - `pip install genalog` ### Update Documentation on Github Page -- [x] Staying on the release branch, `cd docs && pip install -r requirements-doc.txt` -- [x] Build the jupyter-book with `jupyter-book build --all genalog_docs` -- [x] Preview the HTML files, if looks good [publish to Github Page](https://jupyterbook.org/start/publish.html#publish-your-book-online-with-github-pages): `ghp-import -n -p -f genalog_docs/_build/html` +- [ ] Staying on the release branch, `cd docs && pip install -r requirements-doc.txt` +- [ ] Build the jupyter-book with `jupyter-book build --all genalog_docs` +- [ ] Preview the HTML files, if looks good [publish to Github Page](https://jupyterbook.org/start/publish.html#publish-your-book-online-with-github-pages): `ghp-import -n -p -f genalog_docs/_build/html`