From 680d82fbf8b4570822065bb070551c482895ffb5 Mon Sep 17 00:00:00 2001 From: Brian Rutledge Date: Wed, 23 Oct 2019 06:20:26 -0400 Subject: [PATCH] Release 0.0.1rc3 (#12) * Tweak contributing guidelines * Use GitHub releases --- CONTRIBUTING.md | 52 +++++++++++++++++++++---------------------------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b373881..5841204 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,9 +14,9 @@ During development, use the provided tools to check for consistent style, codin ## Setting up a development environment -- [Fork and clone](https://help.github.com/en/articles/fork-a-repo) this repository. +- [Fork and clone](https://help.github.com/en/articles/fork-a-repo) this repository -- Create and activate a [virtual environment](https://docs.python.org/3/tutorial/venv.html): +- Create and activate a [virtual environment](https://docs.python.org/3/tutorial/venv.html) ``` $ cd pytest-quarantine @@ -26,7 +26,7 @@ During development, use the provided tools to check for consistent style, codin $ source venv/bin/activate ``` -- Install this package and its dependencies for development: +- Install this package and its dependencies for development ``` $ pip install -e .[dev] @@ -45,19 +45,19 @@ During development, use the provided tools to check for consistent style, codin ## During development -- Activate your virtual environment: +- Activate your virtual environment ``` $ source venv/bin/activate ``` -- Run the tests: +- Run the tests ``` $ pytest ``` -- Run the tests and generate a coverage report: +- Run the tests and generate a coverage report ``` $ tox -e py,coverage @@ -65,7 +65,7 @@ During development, use the provided tools to check for consistent style, codin Please add or update tests to ensure the coverage doesn’t drop. -- Run the formatters and linters: +- Run the formatters and linters ``` $ tox -e check @@ -73,7 +73,7 @@ During development, use the provided tools to check for consistent style, codin These checks are also run on every commit via [pre-commit hooks](./.pre-commit-config.yaml). Please fix any failures before committing. -- Run the tests in all supported Python versions, generate a coverage report, and run the checks: +- Run the tests in all supported Python versions, generate a coverage report, and run the checks ``` $ tox @@ -89,17 +89,18 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ``` $ git checkout master - $ git pull upstream + $ git pull upstream master ``` -- Pick a version number (e.g. `1.0.1`) and create a new branch: +- Pick a version number (e.g. `1.0.1`) and create a new branch ``` - $ version=1.0.1 branch=release-$version + $ version=1.0.1 + $ branch=release-$version $ git checkout -b $branch ``` -- Run the release pipeline and fix any failures (except the version): +- Run the release pipeline and fix any failures (except the version) ``` $ tox -e release @@ -107,43 +108,34 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm - Update the [changelog](./CHANGELOG.md) -- Push the branch, open a PR, and wait for CI to pass +- Push the branch and open a [pull request](https://github.com/bhrutledge/pytest-quarantine/pulls) ``` $ git push -u origin HEAD ``` -- Checkout `master` and merge the branch +- Wait for the checks to pass, then squash & merge the pull request - ``` - $ git checkout master - $ git merge --squash $branch - $ git commit - ``` +- Create a new [release](https://github.com/bhrutledge/pytest-quarantine/releases) using the version number as the title, and the changelog as the description -- Tag the release, and verify the signature: +- Checkout and update `master` ``` - $ git tag -s -m "Preparing release $version" $version - $ git tag -v $version + $ git checkout master + $ git pull upstream master ``` -- Push `master` and the new tag: - - ``` - $ git push upstream - $ git push upstream $version - ``` +- Run the release pipeline to upload to [TestPyPI](https://test.pypi.org/project/pytest-quarantine/) - Review the release on [GitHub](https://github.com/bhrutledge/pytest-quarantine/releases) -- Run the release pipeline to upload to [TestPyPI](https://test.pypi.org/project/pytest-quarantine/): +- Run the release pipeline to upload to [TestPyPI](https://test.pypi.org/project/pytest-quarantine/) ``` $ tox -e release ``` -- If it looks good on TestPyPI, run the release pipeline to upload to [PyPI](https://pypi.org/project/pytest-quarantine/): +- If it looks good on TestPyPI, run the release pipeline to upload to [PyPI](https://pypi.org/project/pytest-quarantine/) ``` $ tox -e release pypi