Replies: 3 comments 2 replies
|
Mailing list thread: https://lists.apache.org/thread/9xjfmgoq6jy1pxnkvpgdlkdlnp5kn5y9 |
0 replies
|
I like this idea and I actually consider something similar to other ASF projects I work on (datasketches-rust, asyncband) these days :D |
0 replies
|
Do you have reproducible builds? If so you can build and sign in CI. If not then the Release Manager must build and sign using their own hardware. Every committer can be a Release Manager. Using the new Apache Trusted Releases (ATR) all PMC members automatically are and committers may be designated. ATR access requires 2FA login. For CI uploads there is a GHA. For RMs there are multiple methods to upload including SVN, Python client, rsync, browser, and Maven. |
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Should OpenDAL adopt a weekly release cadence?
I'd like to discuss whether OpenDAL should prepare a release candidate every week, and whether the following workflow would make that sustainable for release managers and reviewers.
The goal is to make merged improvements available on a predictable schedule while reducing repetitive release work. A weekly cadence would still depend on maintainers having time to verify artifacts and vote, including over the weekend.
Proposed cadence
mainevery Friday at 00:00 UTC. Skip weeks with no changes to release.Proposed workflow
main.just release-sign <candidate> --key <fingerprint>, review the report and vote text, sign with GPG, and upload to ASF SVN using local credentials.just release-verify <candidate>, review the source, licenses and test results, and cast an independent vote. Signing does not count as a vote.just release-promote <candidate>locally to move the approved sources from ASFdist/devtodist/release.main.SVN credentials stay on the maintainer's machine. Actions reads back the uploaded files to verify them; it does not need an ASF SVN write account. An interrupted source upload can be retried with
just release-upload <candidate>without rebuilding or signing again.Versions and failed candidates
Candidate branches contain the version and changelog updates. After a successful release, a separate PR synchronizes those changes onto the latest
main; we do not merge the whole candidate branch.The next release is calculated from the last successful official release and accumulated changes, rather than from a failed candidate or whether the synchronization PR has merged. A failed
0.59.1-rc.1could therefore be followed by0.59.1-rc.2, or by0.60.0-rc.1if new changes require a minor bump.An initial implementation could use the existing complete package matrix: when there are releasable changes, each package gets at least a patch increment, with larger increments where required. This is simpler to operate, but it also creates releases for unchanged packages. Feedback on that tradeoff would be useful.
Once official publication has started, a failure in one channel must be recovered using the same approved candidate. It cannot be replaced with a new head while other channels already contain the release.
Try it with an RC dry run first
Before enabling a weekly schedule, we could exercise the actual RC preparation, builds, signing, SVN dev upload, verification, and an explicitly labeled rehearsal vote. The normal vote checks would remain in place.
The final approval would end the rehearsal without promoting sources, pushing a stable tag, publishing stable packages, sending an announcement, or advancing the official version baseline. RC tags, dev artifacts and closed Maven staging repositories could remain for later cleanup. This would test the pre-release handoffs without making an official release; production publication would still need verification on the first real release.
A local implementation prototype exists, with AI assistance in the design, code and this draft. It is disabled by default and has not been exercised end to end against the live release services. Community agreement and deployment validation are still needed.
Questions for the community
All reactions