Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 release-automation Open-Source Projects
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
commitizen
Create committing rules for projects :rocket: auto bump versions :arrow_up: and auto changelog generation :open_file_folder:
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
gradle-release
gradle-release is a plugin for providing a Maven-like release process for projects using Gradle
-
gh-action-pypi-publish
The blessed :octocat: GitHub Action, for publishing your :package: distribution files to PyPI: https://github.com/marketplace/actions/pypi-publish
-
manual-approval
Pause your GitHub Actions workflow and request manual approval from set approvers before continuing
-
python-package-template
An opinionated Python package/application template repository, with SLSA and SBOM support built in, enabled for security scanners, code linters, typing, testing and code coverage monitoring, and release automation for reproducible builds. (by jenstroeger)
-
slap
Slap is a CLI to assist in the process for developing and releasing Python packages. (by NiklasRosenstein)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
I also got my eyes on GoReleaser, which I will use in my (Go) projects.
Open source libraries and frameworks share a common necessity: the need to develop multiple packages cohesively and efficiently while managing their versioning and publishing to NPM. Nx has emerged as a go-to choice for handling such open source monorepos (as we'll explore further in the next section of this blog post). Until recently, one area Nx did not address directly was versioning and release management. Traditionally, this gap has been filled with tools like release-it, changesets, or custom Node scripts, similar to our approach in the Nx repository.
Project mention: Devtron - End-to-End Software Delivery for Kubernetes Applications | /r/kubernetes | 2023-10-05
For releasing or publishing our code automatically, we will use the action Release Drafter
- pyscaffold
You can learn more about the features and install the pre-release here: https://github.com/axodotdev/cargo-dist/releases/tag/v0.4.0-prerelease.2
Project mention: PyPI new user and new project registrations temporarily suspended | news.ycombinator.com | 2023-05-20> Recently I've seen someone on Reddit trying to automate the creation of PyPI projects through GitHub Actions. The person was complaining that the first deployment couldn't use an API key for that project since it didn't exist. So I'm not surprised some people are trying to do the same for malicious purposes.
Sorry for the tangent, but: you can do this now! If you use trusted publishing, you can register a "pending publisher" for a project that doesn't exist yet. When the trusted publisher (like GitHub Actions) is used, it'll create the project[1].
All of this is supported transparently by the official publishing action for GitHub Actions[2].
[1]: https://docs.pypi.org/trusted-publishers/creating-a-project-...
[2]: https://github.com/pypa/gh-action-pypi-publish
I don't really like writing the change log automatically from commits. I think those both have a slightly different audience and thus need different wording.
I know the frustration of merge conflicts on the change log file.
Right now, I'm creating change logs by hand which is time consuming to do on release time. I'm considering switching to using towncrier or something similar, where you have a changes dir with one file per change for creating change logs --> https://towncrier.readthedocs.io/
Project mention: wangyoucao577/go-release-action: Automatically publish Go binaries to Github Release Assets through Github Action. | /r/devopsish | 2023-05-13
Project mention: Automating Terraform Deployments with GitHub Actions: A Step-by-Step Guide | dev.to | 2023-11-02For the manual approval in the workflow, we will use the trstringer/manual-approval .
release-automation related posts
- FOSDEM 2024 - Summary and Reflections
-
towncrier VS cf_changelog - a user suggested alternative
2 projects | 10 Jan 2024
- Which scaffolding package should I use?
- Auto Publish/Release - GitHub Actions
- goreleaser: Deliver Go binaries as fast and easily as possible
- Goreleaser
- Cargo-Dist
-
A note from our sponsor - InfluxDB
www.influxdata.com | 24 Apr 2024
Index
What are some of the best open-source release-automation projects? This list will help you:
Project | Stars | |
---|---|---|
1 | semantic-release | 19,768 |
2 | goreleaser | 12,995 |
3 | Release It! 🚀 | 7,511 |
4 | devtron | 3,848 |
5 | release-drafter | 3,199 |
6 | commitizen | 2,135 |
7 | pyscaffold | 2,005 |
8 | cargo-dist | 1,222 |
9 | gradle-release | 850 |
10 | gh-action-pypi-publish | 834 |
11 | towncrier | 732 |
12 | action-electron-builder | 633 |
13 | changie | 585 |
14 | go-release-action | 449 |
15 | sbt-sonatype | 326 |
16 | manual-approval | 308 |
17 | android-snapshot-publisher | 146 |
18 | tramline | 101 |
19 | action-snapcraft | 44 |
20 | semantic-release-codeartifact | 43 |
21 | python-package-template | 32 |
22 | slap | 18 |
23 | grm | 15 |
Sponsored