-
Notifications
You must be signed in to change notification settings - Fork 7
Release automation #18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This might be of interest here: https://github.com/goreleaser/goreleaser (Our stuff doesn't have to be written in Go, just the name of the tool is that way) |
Proposal for Automating Releases in Our Tooling Workflow Our current release process involves several manual steps across repositories. While GoReleaser was initially considered, it is designed around Go projects and typical public release pipelines (e.g., GitHub + Homebrew + Docker + Git tags + GitHub releases), and is not ideal for our needs. Our use case is Python-based, not targeting PyPI, and instead focused on internal delivery to a Bazel registry, with synchronized updates to other internal and user repositories. Based on this, here's a breakdown of relevant tools and a comparison of how well they support our specific requirements. Recommended Tools
Comparison Table
Conclusion: The best combination for our needs is:
This combination avoids PyPI and gives us full control over internal tooling delivery with minimal manual effort. |
Need to re-evaluate the tools for our specific usecase, as we do not want to release to pypi but instead to our local bazel registry & the repositories etc. |
@MaximilianSoerenPollak I updated the investigation on top to avoid the repetition |
Looking at the table I don’t understand the recommendation: Why should we use poetry or hatch if they don’t help us? |
@AlexanderLanin I updated the investigation now, and I removed the unnecessary tools from the recommendation section as they do support PyPI. |
The question I think that is important to figure out here, you write about using 'custom scripts' for some of these jobs. Just to state it, what we would like the 'release part' to do is basically this:
And then the 'renovate bot' can check the latest registry entry and make a PR to bump the versions in the Repos if they use an older one. I'm a bit skeptical that it will be 'minimal manual effort' to write all of those scripts etc. but I haven't looked into ti much so maybe possible. |
Maybe parts are possible via scripting gh-cli. Alternatively via github graphql lib. |
@MaximilianSoerenPollak here is a response to your concerns Script ResponsibilitiesThe scripts are there to bridge the workflow gaps GitHub Actions and Renovate don’t handle out of the box. Specifically, they'd automate:
Script Execution ContextThe scripts will be triggered and run directly inside the GitHub Actions pipeline. Here's how it will work:
This setup keeps everything within CI/CD—no external bot apps, no elevated GitHub App privileges. Script Development and TestingScripts should be:
Required Expertise
Effort ConsiderationsIt’s true that the initial implementation will require time and care. But once in place:
This reduces long-term friction, avoids human errors, and ensures releases are reproducible and traceable—especially valuable in a foundation-governed environment. SummaryBy centralizing custom scripting inside GitHub Actions, keeping the logic scoped and repo-local, and avoiding external automation dependencies, we can deliver a reliable, low-friction automation layer. It takes some initial work, but the payoff is a streamlined, reproducible release pipeline tailored to our ecosystem. |
Uh oh!
There was an error while loading. Please reload this page.
Currently releases involve some manual steps:
Can we automate/simplify any of this?
The text was updated successfully, but these errors were encountered: