Skip to content

fix(ci): handle modify/delete conflict on pre.json during back-merge rebase#426

Merged
perasperaactual merged 1 commit into
devfrom
fix/back-merge-pre-json-conflict
May 15, 2026
Merged

fix(ci): handle modify/delete conflict on pre.json during back-merge rebase#426
perasperaactual merged 1 commit into
devfrom
fix/back-merge-pre-json-conflict

Conversation

@perasperaactual
Copy link
Copy Markdown
Contributor

Problem

The Back-merge into dev step in the release workflow fails with:

CONFLICT (modify/delete): .changeset/pre.json deleted in HEAD and modified in ffce9aa (chore: bump prerelease versions)
error: could not apply ffce9aa... chore: bump prerelease versions

Root Cause

git rebase origin/main -X ours auto-resolves content conflicts but not modify/delete conflicts. When the release exits prerelease mode (changeset pre exit deletes .changeset/pre.json on main), then tries to rebase dev's alpha-bump commits (which modified pre.json) on top — git halts with a structural conflict.

The -X ours flag is helpless here: it only applies to three-way content merges, not to structural modify/delete cases. Git stops, demands manual intervention, and exits 1 in CI.

Fix

Added an explicit conflict handler after the rebase command. If the rebase fails, it removes .changeset/pre.json (accepting main's intentional deletion) and calls git rebase --continue. GIT_EDITOR=true prevents git from trying to open an interactive editor for the commit message in the non-interactive CI environment.

git rebase origin/main -X ours || {
  # Expected modify/delete conflict on .changeset/pre.json:
  # release deleted it via `changeset pre exit`, but dev's alpha-bump
  # commit still referenced it. Accept main's deletion and continue.
  git rm -f .changeset/pre.json 2>/dev/null || true
  GIT_EDITOR=true git rebase --continue
}

The existing if [ ! -f ".changeset/pre.json" ] block immediately after correctly re-enters prerelease mode once the rebase completes cleanly.

Related

Follows on from #424 (js-yaml override conflict fix) — publish now succeeds ✅, this unblocks the back-merge step.

@github-actions
Copy link
Copy Markdown
Contributor

✅ Visual Regression Test Results

Status: ✅ All visual tests passed!

All screenshots match the baseline. No visual regressions detected! 🎉

@github-actions
Copy link
Copy Markdown
Contributor

⚡ Performance Benchmark Results

✅ Build Time Benchmarks: PASSED

✅ Bundle Size Benchmarks: PASSED

❌ Runtime Vitals Benchmarks: FAILED

📝 Note: Detailed results are available in the job logs.

🎯 Performance Budgets:

  • Build time: <70s total
  • First-load JS: <100KB gzipped
  • FCP: <1.5s, LCP: <2.5s, TTI: <3s

Updated: 2026-05-15T18:58:12.212Z

@perasperaactual perasperaactual merged commit 11bfe0f into dev May 15, 2026
6 of 7 checks passed
@perasperaactual perasperaactual deleted the fix/back-merge-pre-json-conflict branch May 15, 2026 19:00
@github-actions
Copy link
Copy Markdown
Contributor

♿ Accessibility Test Results

Overall Status: ✅ 0/0 tests passed

🦮 WCAG 2.1 AA Compliance

No WCAG test results available

⌨️ Keyboard Navigation

No keyboard navigation test results available


⚠️ No accessibility tests were executed. Check the workflow logs for setup issues.

📊 Detailed Report

Download the full HTML accessibility report from the workflow artifacts for:

  • Detailed WCAG violation descriptions
  • Specific element selectors and fixes
  • Color contrast issues
  • Keyboard navigation flow analysis

🔍 Testing Checklist

Our accessibility tests verify:

  • ✅ WCAG 2.1 Level AA compliance
  • ✅ Color contrast in light and dark modes
  • ✅ Tab key navigation through all interactive elements
  • ✅ Focus indicators are visible
  • ✅ No keyboard traps
  • ✅ Skip links and ARIA landmarks
  • ✅ Screen reader compatibility

Powered by @axe-core/playwright and Playwright

perasperaactual added a commit that referenced this pull request May 16, 2026
* fix(ci): resolve js-yaml override conflict breaking changeset pre exit

* chore: bump prerelease versions

* fix(ci): handle modify/delete conflict on pre.json during back-merge rebase (#426)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* chore: bump prerelease versions

---------

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>
Co-authored-by: github-actions <github-actions@github.com>
perasperaactual added a commit that referenced this pull request May 16, 2026
* fix(ci): resolve js-yaml override conflict breaking changeset pre exit

* chore: bump prerelease versions

* fix(ci): handle modify/delete conflict on pre.json during back-merge rebase (#426)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* chore: bump prerelease versions

* fix(ci): loop over pre.json conflicts during back-merge rebase (#428)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* chore: bump prerelease versions

---------

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>
Co-authored-by: github-actions <github-actions@github.com>
perasperaci Bot pushed a commit that referenced this pull request May 16, 2026
…rebase (#426)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>
perasperaactual added a commit that referenced this pull request May 17, 2026
…#435)

* fix(ci): resolve js-yaml override conflict breaking changeset pre exit

* fix(ci): handle modify/delete conflict on pre.json during back-merge rebase (#426)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* fix(ci): loop over pre.json conflicts during back-merge rebase (#428)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* chore: re-enter prerelease mode after back-merge

* fix(a11y): tabindex on code blocks, skip link, fix timeline heading level (#430)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* chore: bump prerelease versions

* fix(a11y): use surface luminance for syntax highlighting, fix dark mode + button contrast (#431)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* fix(a11y): FAQ keyboard trap, video accessible name, test false positive guards (#432)

* docs(a11y): document intentional Chromium-only CI scope for accessibility tests

* fix(a11y): migrate FAQ to Radix Accordion, video accessible name, fix trap/carousel test guards

* chore: update lockfile for @radix-ui/react-accordion in @stackwright/core

* test(core): update FAQ test for Radix Accordion refactor

The FAQ component was refactored to use Radix UI Accordion in this PR.
Update the stale test to click the trigger before asserting answer
visibility, and rename it to accurately reflect the new DOM structure.

---------

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

---------

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
perasperaci Bot pushed a commit that referenced this pull request May 17, 2026
…rebase (#426)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>
perasperaactual added a commit that referenced this pull request May 18, 2026
* fix(ci): resolve js-yaml override conflict breaking changeset pre exit

* fix(ci): handle modify/delete conflict on pre.json during back-merge rebase (#426)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* fix(ci): loop over pre.json conflicts during back-merge rebase (#428)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* chore: re-enter prerelease mode after back-merge

* fix(a11y): tabindex on code blocks, skip link, fix timeline heading level (#430)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* chore: bump prerelease versions

* fix(a11y): use surface luminance for syntax highlighting, fix dark mode + button contrast (#431)

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* fix(a11y): FAQ keyboard trap, video accessible name, test false positive guards (#432)

* docs(a11y): document intentional Chromium-only CI scope for accessibility tests

* fix(a11y): migrate FAQ to Radix Accordion, video accessible name, fix trap/carousel test guards

* chore: update lockfile for @radix-ui/react-accordion in @stackwright/core

* test(core): update FAQ test for Radix Accordion refactor

The FAQ component was refactored to use Radix UI Accordion in this PR.
Update the stale test to click the trigger before asserting answer
visibility, and rename it to accurately reflect the new DOM structure.

---------

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>

* fix(example-app): update logo

* docs(readme): align value communication with project reality

- Add problem statement paragraph explaining AI amplification of architectural decisions
- Add "Who Is This For?" section with practical audience descriptions
- Tighten Safe by Construction section with "schema is the security policy" lede
- Add SBOM Generation subsection (lifted from CLAUDE.md where it was buried)
- Add Regulated Environments subsection; remove buried blockquote callout
- Add Quick Start heading to properly frame the git clone block

* docs(stackwright-docs): align site content with README value framing

- Homepage: add Who Is This For? section; update Safe by Construction card to surface SBOM
- Pro page: update Enterprise Ready card with PKI/CAC, CISA, and SBOM specifics
- Architecture page: update Auditable Surface Area card to mention SBOM formats

---------

Co-authored-by: Stackwright Bot <bot@per-aspera.dev>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
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