Title: Infra: Create a GitHub Action to simplify release process · Issue #205 · python-semver/python-semver · GitHub
Open Graph Title: Infra: Create a GitHub Action to simplify release process · Issue #205 · python-semver/python-semver
X Title: Infra: Create a GitHub Action to simplify release process · Issue #205 · python-semver/python-semver
Description: Situation The current release process is described in the file release-procedure.md. It's a bit of cumbersome as a lot of things needs to be done manually. Some ideas were already described in #186, this is specific for releases. Propose...
Open Graph Description: Situation The current release process is described in the file release-procedure.md. It's a bit of cumbersome as a lot of things needs to be done manually. Some ideas were already described in #186...
X Description: Situation The current release process is described in the file release-procedure.md. It's a bit of cumbersome as a lot of things needs to be done manually. Some ideas were already described in ...
Opengraph URL: https://github.com/python-semver/python-semver/issues/205
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Infra: Create a GitHub Action to simplify release process","articleBody":"## Situation\r\n\r\nThe current release process is described in the file `release-procedure.md`. It's a bit of cumbersome as a lot of things needs to be done manually.\r\n\r\nSome ideas were already described in #186, this is specific for releases.\r\n\r\n## Proposed Solution\r\n\r\nA GitHub Action seems a good method for this task. Some ideas what our Action could do:\r\n\r\n* start the release process when a) a tag is created with adheres to the semantic version, or, b) a branch `release/VERSION` is merged into master.\r\n (not sure which one of this will be better or more feasible)\r\n* Verify if a branch `release/VERSION` matches with the `__version__` variable in `semver.py`?\r\n* Verify if the `CHANGELOG.rst` contains the correct version string?\r\n* Maybe use the branch `release/VERSION` to publish it to the TestPyPI first.\r\n* When the branch `release/VERSION` is merged into master (and only then!), do:\r\n * deploy it to PyPI\r\n * create a tag (and use the content of the `CHANGELOG.rst`?)\r\n * update the \"Releases\" tab on our GitHub repo page\r\n * ...\r\n\r\nIt's just a collection of rough ideas. I need to try it what's possible and what is more difficult.\r\n\r\n@scls19fr If you have more ideas or disagree with the above, just let me know so I can tailor this Action for our specific use case. :-)\r\n\r\n**Hint:**\r\nI will try it out in my fork first so this repo will be kept clean.\r\n\r\n\r\n## See also\r\n\r\nPossible GH Actions to investigate further:\r\n\r\n* [create-release action](https://github.com/actions/create-release)\r\n* [pypi-publish](https://github.com/marketplace/actions/pypi-publish)\r\n* [deploy-pypi](https://github.com/marketplace/actions/deploy-pypi)\r\n* [Publishing package distribution releases using GitHub Actions CI/CD workflows](https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/)\r\n* [GitHub Actions: Manual triggers with workflow_dispatch](https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/) (added on 2020-11-15, found by @tlaferriere, thanks!)\r\n","author":{"url":"https://github.com/tomschr","@type":"Person","name":"tomschr"},"datePublished":"2019-11-25T13:22:37.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":20},"url":"https://github.com/205/python-semver/issues/205"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:0fd4c591-81fb-42a8-6fcd-054dfcf910f6 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B7F4:26DD3A:149BE27:1BCF146:696EA227 |
| html-safe-nonce | fbdc2606f0d3380d655581cb46cec017e86fd5f1665a0bbbe7b79881864ca2fe |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCN0Y0OjI2REQzQToxNDlCRTI3OjFCQ0YxNDY6Njk2RUEyMjciLCJ2aXNpdG9yX2lkIjoiNTAzNjk1NjM0NzM1ODE1OTM5OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 2b4e87fac9b0f33eae623b5e735b64b14cae5b10e5f1761c7b43d82281e2c877 |
| hovercard-subject-tag | issue:528083670 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python-semver/python-semver/205/issue_layout |
| twitter:image | https://opengraph.githubassets.com/e667bde741038550de9a9f83bb7395340eb8d613ea313a028068b1f0dad0d849/python-semver/python-semver/issues/205 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/e667bde741038550de9a9f83bb7395340eb8d613ea313a028068b1f0dad0d849/python-semver/python-semver/issues/205 |
| og:image:alt | Situation The current release process is described in the file release-procedure.md. It's a bit of cumbersome as a lot of things needs to be done manually. Some ideas were already described in #186... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | tomschr |
| hostname | github.com |
| expected-hostname | github.com |
| None | fdad15fd2ad43212aa8b8be5f2c2725550f8374ceeeb154a999ad9145b43f3f7 |
| turbo-cache-control | no-preview |
| go-import | github.com/python-semver/python-semver git https://github.com/python-semver/python-semver.git |
| octolytics-dimension-user_id | 57228994 |
| octolytics-dimension-user_login | python-semver |
| octolytics-dimension-repository_id | 3375726 |
| octolytics-dimension-repository_nwo | python-semver/python-semver |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 3375726 |
| octolytics-dimension-repository_network_root_nwo | python-semver/python-semver |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 27b23bc056eb973d350fc95afc848757edb9e7a9 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width