You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ff241ad
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: .github/workflows/release.yml
+28-1Lines changed: 28 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,10 @@ name: Release
51
51
# push to main → `release-integrity` audits ONLY the version at
52
52
# `github.sha`, and names the VERSION
53
53
# COMMIT — the landing that brought
54
-
# main to that version. Never publishes,
54
+
# main to that version; when it queues
55
+
# the publish, it also warns of every
56
+
# changeset that commit carries but did
57
+
# not consume. Never publishes,
55
58
# never pushes a tag. May backfill GitHub
56
59
# Releases / the ADR-0087 D4 asset /
57
60
# the runtime image — but only for a
@@ -913,6 +916,30 @@ jobs:
913
916
echo "${version}, i.e. what the Version Packages PR decided — and nothing that"
914
917
echo "landed after it, whatever main's head is by then."
915
918
} >> "$GITHUB_STEP_SUMMARY"
919
+
920
+
# ── what ${version} ships without a CHANGELOG entry (#21361) ───
921
+
# The merge queue lands the Version Packages PR on top of the
922
+
# current main, and the PR cannot be refreshed while queued, so
923
+
# the version commit's tree can carry landings whose changesets
924
+
# it never consumed: their code ships in this release and its
925
+
# CHANGELOG does not name them (17.3.0 through 17.6.0 each did).
926
+
# This is the run that queues the publish, so the approver reads
927
+
# the list here, before the release is cut. A warning annotation:
928
+
# the level this job gives every finding that leaves the release
929
+
# incomplete without stopping it (the Releases, the D4 asset, the
930
+
# image, an unreadable range). It REPORTS and never refuses, so
931
+
# it neither fails this step nor holds the publish job. A report
932
+
# that cannot be measured says so in an error annotation (a
933
+
# shallow clone is refused, never answered from a graft
934
+
# boundary), and the publish stays queued all the same.
935
+
if ! node scripts/release-pending-publish.mjs unconsumed --version-commit "$version_commit" --version "$version"; then
936
+
echo "The changesets the version commit ${version_commit} did not consume were NOT MEASURED (reason above). This report never holds a release, so the publish of ${version} stays queued."
937
+
{
938
+
echo
939
+
echo "**Changesets: NOT MEASURED.** Whether ${version}'s CHANGELOG leaves out a change that landed in"
940
+
echo "the version commit's tree is unknown; the reason is in this step's log."
0 commit comments