The one-time bootstrap boundary (base_ref: @bigcommerce/catalyst-core@1.8.0)
was hardcoded permanently rather than removed after seeding a baseline, so
every push kept re-scanning the full 1.8.0..HEAD range instead of narrowing
to just new commits. That range included a squash-merged "alpha" branch
commit whose message body listed dozens of already-shipped issues, which
kept getting reattached to the in-progress release on every run.
Drop base_ref for both branches down to a single unconditional sync step.
A real baseline was seeded manually for canary before this lands, and
integrations/makeswift's baseline will be seeded manually the same way
before merging in whatever brings these workflow changes into that branch.
Refs TRAC-881
Co-Authored-By: Claude <noreply@anthropic.com>
Jira: TRAC-881
What/Why?
Fast-follow to #3085/#3086. The bootstrap
base_ref(@bigcommerce/catalyst-core@1.8.0) was meant to be a one-time seed so the first sync didn't scan this existing project's full history, but it was left hardcoded permanently.linear-release's own log makes the consequence explicit: passing--base-refmakes it "skip automatic baseline selection" every single run, so every push kept re-scanning the full1.8.0..HEADrange instead of narrowing to just new commits.That range included
a45ab434("Release: Catalyst CLI 1.0.0... merge alpha → canary"), a squash-merge whose commit body is hundreds of lines of already-shippedalpha-branch history — which kept re-attaching ~23 unrelated old issues to the in-progress release on every run.Verified locally with the standalone CLI (
--dry-run) that with nobase_refand no stored baseline, it correctly finds 0 matching commits and skips release creation, rather than falling back to scanning full history. A real (non-dry-run) manual sync was run separately with an explicit--base-refpointing just past the alpha-merge noise to seed a correctly-scoped release by hand before this PR lands, so the automatic baseline it establishes is clean.Drops
base_reffor both branches down to a single unconditional sync step (no per-branch conditional needed).integrations/makeswift's baseline will be seeded manually the same way, before merging in whatever brings this workflow into that branch — its copy doesn't have these Linear steps yet.Testing
Watch the next push to canary: the log should show it using its own stored baseline (no "skipping automatic baseline selection" message) and only pick up genuinely new
core/**commits.