|
1 |
| -=============== |
2 |
| -Release Process |
3 |
| -=============== |
| 1 | +========================== |
| 2 | +Production Release Process |
| 3 | +========================== |
4 | 4 |
|
5 |
| -The easiest way to release a new version of pytest-rpc is to use make. |
| 5 | +The workflow below is targeted at releasing production ready code to `PyPI`_. |
| 6 | +This workflow assumes that the current branch is up-to-date with desired changes |
| 7 | +and the code is validated to work for end users who are working with this |
| 8 | +project in production. |
6 | 9 |
|
7 |
| -1. First you will need to know the username and password for the account you want to use to release to PyPI shared_accounts_ |
| 10 | +1. First you will need to know the username and password for the account you |
| 11 | + want to use to release to PyPI shared_accounts_. |
8 | 12 |
|
9 |
| -2. You will need to make sure that you are on the master branch, your working directory is clean and up to date. |
| 13 | +2. You will need to make sure that you are on the master branch, your working |
| 14 | + directory is clean and up to date. |
10 | 15 |
|
11 |
| -3. Decide if you are going to increment the major, minor, or patch version. You can refer to semver_ to help you make that decision. |
| 16 | +3. Decide if you are going to increment the major, minor, or patch version. |
| 17 | + You can refer to semver_ to help you make that decision. |
12 | 18 |
|
13 |
| -4. Use the `release-major`, `release-minor`, or `release-patch`. |
| 19 | +4. Use the `release-major`, `release-minor`, or `release-patch`. :: |
14 | 20 |
|
15 |
| -**make release** :: |
| 21 | + make release-minor |
16 | 22 |
|
17 |
| -make release-minor |
18 |
| -5. The task will stop and prompt you for you PyPI username and password if you dont have these set in your `.pypirc` file. |
| 23 | +5. The task will stop and prompt you for your `PyPI`_ username and password if |
| 24 | + you dont have these set in your `.pypirc` file. |
19 | 25 |
|
20 |
| -6. Once the task has successfully completed you need to push the tag and commit. |
| 26 | +6. Once the task has successfully completed you need to push the tag and |
| 27 | + commit. :: |
21 | 28 |
|
22 |
| -**push tag** :: |
| 29 | + git push origin && git push origin refs/tags/<tagname> |
23 | 30 |
|
24 |
| -git push origin && git push origin refs/tags/<tagname> |
25 |
| -7. Create a release on GitHub. GitHub_release_ |
| 31 | +7. Create a release on GitHub. (`GitHub release`_) |
| 32 | + |
| 33 | +================================= |
| 34 | +Development Build Release Process |
| 35 | +================================= |
| 36 | + |
| 37 | +The workflow below is targeted at releasing 'dev' builds to `PyPI`_. |
| 38 | +The purpose of this workflow is to put experimental or release candidate builds |
| 39 | +onto `PyPI`_ in order to test other projects that are dependent on this one. |
| 40 | + |
| 41 | +1. First you will need to know the username and password for the account you |
| 42 | + want to use to release to PyPI shared_accounts_. |
| 43 | + |
| 44 | +2. You will need to make sure that you are on your working directory is clean |
| 45 | + and up to date and you're on the correct branch that contains the |
| 46 | + experimental/non-production code. |
| 47 | + |
| 48 | +3. Decide if you are going to increment the major, minor, or patch version. |
| 49 | + You can refer to semver_ to help you make that decision. |
| 50 | + |
| 51 | +4. Use the `bump-major`, `bump-minor`, `bump-patch` or `bump-build` to move the |
| 52 | + version forward. :: |
| 53 | + |
| 54 | + make bump-minor |
| 55 | + |
| 56 | +5. Build the experimental/non-production package. :: |
| 57 | + |
| 58 | + make build |
| 59 | + |
| 60 | +6. Publish the experimental/non-production package to `PyPI`_. :: |
| 61 | + |
| 62 | + make publish |
| 63 | + |
| 64 | +7. If you need to make updates to the experimental build it is suggested to |
| 65 | + bump the build version, build and re-publish. :: |
| 66 | + |
| 67 | + make bump-build |
| 68 | + make build |
| 69 | + make publish |
| 70 | + |
| 71 | +8. Once you're satisfied that the changes are ready to be released to production |
| 72 | + use the `make release` target. :: |
| 73 | + |
| 74 | + make release |
| 75 | + |
| 76 | +9. Once the task has successfully completed you need to push the tag and |
| 77 | + commit. :: |
| 78 | + |
| 79 | + git push origin && git push origin refs/tags/<tagname> |
| 80 | + |
| 81 | +10. Create a release on GitHub. (`GitHub release`_) |
26 | 82 |
|
27 | 83 | .. _semver: https://semver.org
|
28 | 84 | .. _shared_accounts: https://rpc-openstack.atlassian.net/wiki/spaces/ASC/pages/143949893/Useful+Links#UsefulLinks-SharedAccounts
|
29 |
| -.. _GitHub_release: https://help.github.com/articles/creating-releases/ |
| 85 | +.. _GitHub release: https://help.github.com/articles/creating-releases/ |
| 86 | +.. _`PyPI`: https://pypi.python.org/pypi |
0 commit comments