Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .changeset/release-hotcrm-gate-premode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
---

CI-only: the live-hotcrm backward-compat gate in release.yml is advisory while changesets pre-mode is active, so the RC train can form its Version Packages PR; it re-arms automatically at `changeset pre exit`. Releases nothing.
24 changes: 23 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,36 @@ jobs:
# typecheck + `objectstack validate`. A red here blocks the publish.
# The deterministic in-repo floor is @objectstack/downstream-contract;
# this is the live ceiling.
#
# RC pre-mode amendment (#3600): while .changeset/pre.json says
# mode:"pre", the smoke still runs and reports but does NOT block. A
# major train exists precisely to ship deliberate surface removals, and
# a hotcrm release migrated off them cannot exist until the rc.N
# artifacts it would migrate against are published — blocking here
# deadlocks the train (observed 2026-07-27: every Release run red on
# the v17 window's removals, so the changesets step never even created
# the Version Packages PR). The gate re-arms by itself the moment
# `changeset pre exit` lands (mode flips / pre.json is consumed) —
# exactly when a migrated hotcrm must exist and HOTCRM_REF gets bumped
# per the note below.
env:
# v2.1.0: hotcrm upgraded to ObjectStack 14.7 (hotcrm#448) and
# dropped the agent `visibility` field that spec 15 removes as
# unenforced surface (ADR-0056 D8, #3216).
# Bump this ref whenever a deliberate spec surface removal ships a
# matching hotcrm release.
HOTCRM_REF: v2.1.0
run: bash scripts/downstream-smoke.sh
run: |
if [ "$(jq -r '.mode // empty' .changeset/pre.json 2>/dev/null)" = "pre" ]; then
echo "::notice::Changesets pre-mode active — the hotcrm smoke is advisory (reported, non-blocking) until 'changeset pre exit'."
if bash scripts/downstream-smoke.sh; then
echo "::notice::hotcrm@${HOTCRM_REF} is still compatible with the pre-release train."
else
echo "::warning::hotcrm@${HOTCRM_REF} is incompatible with the pre-release train — expected for the window's deliberate removals. Ship a migrated hotcrm release and bump HOTCRM_REF before 'changeset pre exit' re-arms this gate."
fi
else
bash scripts/downstream-smoke.sh
fi

- name: Create Release Pull Request or Publish to npm
id: changesets
Expand Down
Loading