Skip to content

Commit a988bd6

Browse files
Upmerge to edge (#2060)
Signed-off-by: radius-release[bot] <294554884+radius-release[bot]@users.noreply.github.com> Co-authored-by: radius-release[bot] <294554884+radius-release[bot]@users.noreply.github.com>
1 parent 53c1317 commit a988bd6

2 files changed

Lines changed: 16 additions & 32 deletions

File tree

‎docs/content/contributing/contributing-docs/index.md‎

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -592,42 +592,26 @@ The Radius docs handles branching differently than most code repositories. Inste
592592

593593
As a docs approver or maintainer, you need to perform routine **upmerges** to keep the pre-release `edge` branch aligned with updates to the current release branch. It is recommended to upmerge the current branch into the pre-release branch on a weekly basis.
594594

595-
For the following steps, treat `v1.0` as the current release and `edge` as the pre-release branch.
595+
1. Open the [Upmerge to edge workflow](https://github.com/radius-project/docs/actions/workflows/upmerge.yaml).
596+
1. Select **Run workflow**, choose the current release branch (for example, `v1.0`), and run it. The selected source commit is pinned for the run; the workflow does not change the source branch.
597+
1. Follow the new `upmerge/` pull request linked by the **Create pull request** step. If merging produces no net changes, including when the source is already an ancestor of `edge`, no PR is created.
598+
1. Review the diff, including the Docsy module version in `docs/go.mod` and its checksum entries in `docs/go.sum`. If versions differ, keep the `edge` Docsy version and corresponding checksum entries unless the PR includes an intentional, reviewed Docsy version change. Retain unrelated module changes rather than restoring either file wholesale. The workflow preserves the `edge` versions of `docs/config.toml` and `docs/layouts/partials/hooks/body-end.html`, including files deleted on `edge`.
599+
1. If the PR is a draft, resolve the reported content conflicts manually before marking it ready. The draft contains the source tree with the edge-owned files restored, **not a resolved merge**. Reconcile edge-only content as well as source changes; conflict markers are not committed by the workflow. Keep any resolution commits signed and DCO-signed-off, without merging source history into the PR.
600+
1. Obtain the normal reviews and required checks, then squash-merge the PR. The workflow never bypasses branch rules or merges automatically.
596601

597-
1. Open Visual Studio Code to the Radius docs repo.
598-
1. From your local repo, switch to the latest branch (`v1.0`) and synchronize changes:
602+
The local `.github/workflows/upmerge.yaml` is a synced caller for the [shared upmerge workflow](https://github.com/radius-project/.github/blob/main/.github/workflows/__upmerge.yml). Docs and samples use that same implementation at `main`; only repository-specific settings, such as the docs files preserved from `edge`, belong in the caller.
599603

600-
```bash
601-
git pull upstream v1.0
602-
git push origin v1.0
603-
```
604-
605-
1. Switch to the upcoming branch (`edge`) and synchronize changes:
606-
607-
```bash
608-
git pull upstream edge
609-
git push origin edge
610-
```
604+
For the shared workflow's merge and signing behavior, see [Signed Release Upmerge](https://github.com/radius-project/.github/blob/main/eng/SYNC.md#signed-release-upmerge).
611605

612-
1. Create a new branch from `edge`:
606+
Change upmerge rules and action versions in `radius-project/.github`, not in copies here. Update the native `preserve-paths` workflow input in [`workflow-templates/upmerge-docs.yml`](https://github.com/radius-project/.github/blob/main/workflow-templates/upmerge-docs.yml) when docs-specific preserved paths change. The `.github/sync.yml` configuration maps the static docs and samples callers to their `edge` branches; use the [signed release upmerge sync process](https://github.com/radius-project/.github/blob/main/eng/SYNC.md#signed-release-upmerge) to propagate them. Sync copies only the thin callers, not the shared implementation. File synchronization is appropriate for the caller; the actual upmerge still needs a three-way merge to preserve edge-only content.
613607

614-
```bash
615-
git checkout -b upmerge_MM-DD
616-
```
608+
The `RADIUS_RELEASE_BOT` App installation on `radius-project/docs` must grant **Contents: Read & Write**, **Pull requests: Read & Write**, and **Workflows: Read & Write**. The workflow requests only those write permissions for this repository. The workflow permission is needed to carry changes to `.github/workflows/`; an installation administrator must grant it if missing. Do not work around a missing grant by dropping workflow changes, weakening branch rules, or adding a private commit-signing key.
617609

618-
1. Open a terminal and stage a merge from the latest release into the upmerge branch:
610+
Merge the shared workflow into `radius-project/.github@main` **before** merging or dispatching its callers. For this rollout, the docs caller must also reach `v0.61`, the current default branch and executing upmerge source; syncing only `edge` does not bootstrap current release-branch executions. After the shared implementation and release-branch caller are available, a new signed upmerge can carry the caller to `edge` before the next release branch is cut. Future shared implementation fixes are maintained centrally rather than copied into each repository. No default-branch or final-release behavior changes are needed.
619611

620-
```bash
621-
git merge --no-ff --no-commit v1.0
622-
```
612+
New runs resolve the shared workflow at the current `main` revision. For runs using the reusable workflow, rerunning failed jobs or a specific job keeps the original shared-workflow commit, while rerunning all jobs resolves `main` again. Rerunning an older, pre-migration inline workflow cannot adopt the changed caller; start a new run after rollout.
623613

624-
1. Make sure included files look accurate. Inspect any merge conflicts in VS Code. Remove configuration changes or version information that does not need to be merged. Examples of files that usually shouldn't be merged:
625-
- docs/config.toml
626-
- docs/layouts/partials/hooks/body-end.html
627-
- docsy Hugo Module version (docs/go.mod and docs/go.sum)
628-
1. Commit the staged changes and push to the upmerge branch (`upmerge_MM-DD`).
629-
1. Open a PR from the upmerge branch to the upcoming release branch (`edge`).
630-
1. Review the PR and double check that no unintended changes were pushed to the upmerge branch.
614+
Validate caller changes with the existing workflow configuration lint and documentation checks, and compare `.github/workflows/upmerge.yaml` with its native source in `radius-project/.github`. Check the explicit secret mappings and the two preserved docs paths. Do not dispatch a live upmerge just to validate caller wiring.
631615

632616
### Keep the sample application in sync
633617

‎docs/package-lock.json‎

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)