diff --git a/.agents/skills/opendal-release/references/rc.md b/.agents/skills/opendal-release/references/rc.md index 3edb4e38c4d6..237ccd7f0b66 100644 --- a/.agents/skills/opendal-release/references/rc.md +++ b/.agents/skills/opendal-release/references/rc.md @@ -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/-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 diff --git a/.github/workflows/weekly_release.yml b/.github/workflows/weekly_release.yml index ce770bbb0e6f..bd4bec29736a 100644 --- a/.github/workflows/weekly_release.yml +++ b/.github/workflows/weekly_release.yml @@ -21,7 +21,7 @@ on: push: branches: [main] schedule: - - cron: '7 0 * * 5' + - cron: '0 0 * * 4' workflow_dispatch: permissions: @@ -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. diff --git a/website/community/release/weekly.md b/website/community/release/weekly.md index a9b6f340f379..87bb6c567735 100644 --- a/website/community/release/weekly.md +++ b/website/community/release/weekly.md @@ -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. @@ -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.