Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .agents/skills/opendal-release/references/rc.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ Repository paths and shell commands are relative to the repository root.

Read `website/community/release/weekly.md` and the selected revision of
`.github/workflows/weekly_release.yml` before operating this path. Scheduled
preparation uses the Friday cutoff; manual dispatch pins the selected commit.
preparation runs on Thursday at 00:00 UTC and uses that cutoff; manual dispatch
pins the selected commit.
The workflow prepares package versions, pushes `releases/<version>-rc.N` and its lightweight
RC tag with the first unused `rc.N` number for its version, and calls
`release-compose.yml` to build, sign and upload source archives. Signing accepts
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/weekly_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ on:
push:
branches: [main]
schedule:
- cron: '7 0 * * 5'
- cron: '0 0 * * 4'
workflow_dispatch:

permissions:
Expand Down Expand Up @@ -59,8 +59,8 @@ jobs:
cutoff=$(python3 - <<'PYTHON'
import datetime as d
now = d.datetime.now(d.timezone.utc)
friday = (now - d.timedelta(days=(now.weekday() - 4) % 7)).replace(hour=0, minute=0, second=0, microsecond=0)
print(friday.strftime("%Y-%m-%dT%H:%M:%SZ"))
thursday = (now - d.timedelta(days=(now.weekday() - 3) % 7)).replace(hour=0, minute=0, second=0, microsecond=0)
print(thursday.strftime("%Y-%m-%dT%H:%M:%SZ"))
PYTHON
)
# Push run timestamps record arrival on main, unlike commit dates.
Expand Down
9 changes: 7 additions & 2 deletions website/community/release/weekly.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ sidebar_position: 4

# Weekly source releases

The weekly workflow prepares a release branch each Friday from the Friday
00:00 UTC main cutoff and directly calls the existing `release-compose.yml` to
The weekly workflow is scheduled each Thursday at 00:00 UTC. It prepares a release
branch from the Thursday 00:00 UTC main cutoff and calls `release-compose.yml` to
build, sign and upload the candidate to ATR. Manual dispatch runs the same flow
from the selected branch commit at the time of dispatch.
Preparation creates no version PR and requires no manual merge.
Expand All @@ -16,6 +16,11 @@ the candidate and start the vote with automatic resolution and publication
enabled in ATR. Hourly synchronization then finishes publication and opens the
version-sync PR after ATR records a passing result.

Starting preparation on Thursday leaves time for a Monday release. The 72-hour
vote period starts when the RM opens the vote, not when preparation starts.
Scheduled-run delays, a later vote start or insufficient votes can delay publication;
Monday is a target, not a forced publication deadline.

## Preparation

Scheduled runs select the latest recorded main push at or before the cutoff.
Expand Down
Loading