Skip to content

Merge staging into main - #70

Merged
dijaropacity merged 11 commits into
mainfrom
staging
Oct 27, 2026
Merged

dijaropacity merged 11 commits into
mainfrom
staging

Conversation

@dijaropacity

Copy link
Copy Markdown
Contributor

Linear: DEVOPS-162

Summary

Promotes the branch-flow guard from staging to main: .github/workflows/branch-flow-guard.yaml, .github/scripts/branch_flow_guard.py, .github/scripts/test_branch_flow_guard.py, and .github/PULL_REQUEST_TEMPLATE/to-main.md.

REQUIRE_STAGING_TEST is not set in this repository, so no staging record is required and staging-test does not run. The change record was checked when this work landed on dev.

staging and main have diverged, so this pull request also carries the other commits on staging since the last promotion. Review the commit list before merging.

dependabot Bot and others added 11 commits September 7, 2026 11:13
Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.23.3 to 4.28.9.
- [Release notes](https://github.com/browserslist/browserslist/releases)
- [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md)
- [Commits](browserslist/browserslist@4.23.3...4.28.9)

---
updated-dependencies:
- dependency-name: browserslist
  dependency-version: 4.28.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [joi](https://github.com/hapijs/joi) from 17.13.3 to 17.13.7.
- [Commits](hapijs/joi@v17.13.3...v17.13.7)

---
updated-dependencies:
- dependency-name: joi
  dependency-version: 17.13.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.15.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/3.15.2/CHANGELOG.md)
- [Commits](nodeca/js-yaml@3.14.1...3.15.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.15.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
A pull request into the first branch has to name a real Linear issue, use nolinear/ with a description, or come from Dependabot. Image repos also record the staging test on the way to main.
A dependabot/ branch only skips the Linear check when Dependabot opened the pull request. Staging fields need real text, and the checkbox accepts a Windows line ending.
Bumps [launch-editor](https://github.com/vitejs/launch-editor) from 2.11.1 to 2.14.2.
- [Commits](vitejs/launch-editor@v2.11.1...v2.14.2)

---
updated-dependencies:
- dependency-name: launch-editor
  dependency-version: 2.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [body-parser](https://github.com/expressjs/body-parser) from 1.20.3 to 1.20.9.
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/1.20.9/HISTORY.md)
- [Commits](expressjs/body-parser@1.20.3...1.20.9)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-version: 1.20.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.21.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](juliangruber/brace-expansion@1.1.11...v1.1.21)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.21
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [joi](https://github.com/hapijs/joi) from 17.13.7 to 17.13.8.
- [Commits](hapijs/joi@v17.13.7...v17.13.8)

---
updated-dependencies:
- dependency-name: joi
  dependency-version: 17.13.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
DEVOPS-162

The workflow now checks out .github/scripts/branch_flow_guard.py from the
default branch and runs it in two modes. The script reads the pull request
live from the GitHub API (base, head, head SHA, author, description) and:

- lets Linear match the branch name first (issueVcsBranchSearch), then falls
  back to the issue key, and fails closed only when both fail
- treats back-merges (main into dev, main into staging, staging into dev) as
  needing no ticket
- accepts dev, staging, and main only from this repository, not from forks
- recognises Dependabot by the pull request author, not the branch name
- retries transient Linear and GitHub errors, and fails on auth errors
- parses the staging record (Staging URL, Exercised, Result, Tested commit,
  ticked box) in the common Markdown forms and ties it to the head SHA

.github/PULL_REQUEST_TEMPLATE/to-main.md holds the staging record fields, used
with ?template=to-main.md on a staging -> main pull request.
.github/scripts/test_branch_flow_guard.py has the 15 offline cases; run with
python3 -m unittest discover -s .github/scripts
Require a change record on the first hop
@dijaropacity
dijaropacity merged commit a0e41c0 into main Oct 27, 2026
3 of 4 checks passed
@dijaropacity
dijaropacity deleted the staging branch October 27, 2026 13:34
@dijaropacity
dijaropacity restored the staging branch October 27, 2026 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant