apache / apache/asyncband

Explore release automation with Apache Trusted Releases and weekly candidates

Open
#303 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
269
Forks
38
Avg merge
16h 44m
Merged PRs (30d)
102

Description

## Motivation

Reduce the manual work in the Asyncband release lifecycle by exploring Apache Trusted Releases (ATR) integration and a weekly release attempt when new commits are available.

Asyncband already uses crates.io Trusted Publishing for approved final tags. This work concerns candidate preparation, source-artifact signing and staging, voting, and the handoff to that existing publication workflow.

OpenDAL provides useful references: [weekly candidate preparation](https://github.com/apache/opendal/blob/af11b6ee9ad1e4df1ff7b1e61156b1f3c4a74357/.github/workflows/weekly_release.yml), [ATR composition](https://github.com/apache/opendal/blob/af11b6ee9ad1e4df1ff7b1e61156b1f3c4a74357/.github/workflows/release-compose.yml), and [release lifecycle synchronization](https://github.com/apache/opendal/blob/af11b6ee9ad1e4df1ff7b1e61156b1f3c4a74357/.github/workflows/release_lifecycle.yml). Adapt the relevant parts to Asyncband's release process.

## Scope to explore

- Define a weekly source cutoff and comparison baseline. Skip runs without new commits and avoid duplicate candidates when a release is already being prepared or voted on. Decide how to handle new commits during an active vote.
- Prepare a reviewable version and changelog update, including pre-1.0 breaking changes, using the existing `cargo x` checks and semver workflow.
- Evaluate [ATR Trusted Publishing](https://releases.apache.org/docs/trusted-publishing): reproducible artifacts, project signing keys, and permitted compose/vote/finish workflows. Its ASF configuration is separate from the already configured crates.io OIDC publishing.
- Preserve the [Incubator's PPMC and IPMC approval process](https://incubator.apache.org/policy/incubation.html#releases). Verify ATR's two-round podling workflow and the remaining release-manager decisions; OpenDAL's PMC workflow is not a direct substitute.
- Track the source and release commits, version, RC tag, artifact digests, and ATR revision. Retries should resume the same candidate and retain the exact voted artifacts.
- Evaluate ATR staging and [approved source publication](https://releases.apache.org/docs/promoting-to-release), then connect successful IPMC approval to the final tag and protected crates.io publication. Handle partial successes before retrying.

## Proposed delivery

Start with a manually runnable candidate workflow and establish the required ASF configuration, then add the weekly schedule and lifecycle integration. Return a useful handoff containing verification results, candidate links, and the next release-manager action.

Validate unchanged source, overlapping runs, active or rejected candidates, and partial publication failures. Update the release skill to describe the implemented workflow and recovery path. Scheduling should initiate a release attempt while retaining community review and the required votes.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the linked OpenDAL weekly_release.yml, release-compose.yml, and release_lifecycle.yml workflows alongside Asyncband's release skill and existing cargo x checks. Begin with the proposed manually runnable candidate workflow; done means the listed validation scenarios pass and the handoff records verification results, candidate links, and the next release-manager action.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, rust
Domain
ci-cd, devops, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.