ci: Run v3 sync automation from master (no-changelog) (#38951)

This commit is contained in:
Declan Carroll
2026-09-17 11:34:54 +00:00
committed by GitHub
parent 76fd3a0f67
commit f6226f7252
3 changed files with 18 additions and 1 deletions
+3
View File
@@ -124,6 +124,9 @@ of the breaking removal on `3.x`.
## How the daily sync works
The sync runs automation code from the triggering `master` SHA while its working checkout
stays on `3.x`.
[`util-sync-master-to-3x.yml`](./workflows/util-sync-master-to-3x.yml) runs daily and
**replays the `3.x`-only commits on top of `master`** (a rebase), then force-pushes `3.x`:
+3
View File
@@ -617,6 +617,9 @@ Push to master/1.x
## v3 development (master + 3.x)
The sync runs automation code from the triggering `master` SHA while its working checkout
stays on `3.x`.
During the v3 release window, `master` carries normal feature work (behind opt-in
flags) and the long-lived `3.x` branch carries breaking changes. `util-sync-master-to-3x.yml`
syncs daily by **replaying the `3.x`-only commits onto `master` and force-pushing `3.x`**, so a
+12 -1
View File
@@ -78,11 +78,22 @@ jobs:
cache-dependency-path: .github/scripts/pnpm-lock.yaml
build-command: ''
- name: Stage automation from triggering master SHA
id: stage-automation
env:
AUTOMATION_SHA: ${{ github.sha }}
STAGING_ROOT: ${{ runner.temp }}
run: |
staging_dir="$(mktemp -d "${STAGING_ROOT}/sync-master-to-3x.XXXXXX")"
git archive "${AUTOMATION_SHA}" .github/scripts | tar -x -C "${staging_dir}"
ln -s "${GITHUB_WORKSPACE}/.github/scripts/node_modules" "${staging_dir}/.github/scripts/node_modules"
echo "script=${staging_dir}/.github/scripts/sync-master-to-3x.mjs" >> "${GITHUB_OUTPUT}"
- name: Sync master into 3.x
id: sync
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: node .github/scripts/sync-master-to-3x.mjs
run: node "${{ steps.stage-automation.outputs.script }}"
notify-conflict:
name: Notify Slack about conflict PR