release-bot
release-bot copied to clipboard
Release bot as GitHub Action
Hello,
I've been doing some groundwork around this. I am creating an issue so that I could link PRs and additional resources for this one.
Intro: The GitHub actions are quite a new feature that GitHub opened for beta some time back. Check out the article I wrote about it.
Justification of the idea: In comparison to GitHub Applications (which might seem like a similar approach and there already is an issue for that), there are significant differences:
- | App | Action |
---|---|---|
Token | Has to be provided by user, encoded / secured and provided to the application | autogenerated by GitHub |
Server | Has to be hosted | Provided by GitHub |
Implementation | Custom server, load balancing, queuing and routing is required | Runs on GitHub hosted machine |
Customizability | Configuration has to be present in the repo | Customizable via arguments, Release bot configuration is autogenerated |
Disadvantages: Slower response time on events since the Action has to pull the image first. Approximately 1 minute. Given that release is not a thing that would typically require quick interaction, the impact of this is quite low.
Current implementation in progress: https://github.com/CermakM/python-release-action
Hi Marek,
Thanks for your effort on this one. As far as I know, we can support both the app and the action, right?
I definitely like the idea of the release-bot as Github action and I am curious how the PyPI token would be handled in this case?
Hey @rpitonak, of course, it's not 'either-or' :) ... The GITHUB_TOKEN
is automatically generated and the user can provide it to the action in the workflow. You can check out the article I linked, it's described there.
~~Thank you for your answer, but my question was actually about PyPI token since release-bot can handle also PyPI releases.~~
Edit: I have read the article and got the answer :D
Ah right, sorry, somehow miss the PyPI part -- there is such thing as PyPI token? :open_mouth:
I meant .pypirc
file with user credentials.
Correct, ye ... The current implementation of the GH Action allows to feed the yaml configuration as an argument to that action, see the action.yml for more info.