Skip to content

chore: forward-port main → experimental (CI hygiene #322/#324/#329) - #338

Merged
ChrisonSimtian merged 3 commits into
experimentalfrom
chore/forward-port-main-to-experimental
May 31, 2026
Merged

chore: forward-port main → experimental (CI hygiene #322/#324/#329)#338
ChrisonSimtian merged 3 commits into
experimentalfrom
chore/forward-port-main-to-experimental

Conversation

@ChrisonSimtian

Copy link
Copy Markdown
Collaborator

Forward-ports main onto experimental so the fast lane catches up to the CI work that landed on mainafterexperimental was cut (the bounded experimental → main divergence ADR-0004 flagged — here flowing the other way to resync).

Brings in #330 (release-intent triggers, concurrency #322, path parity #323, submodule removal #329) and #331 (test-before-publish #324 + cache restore-keys). Clean merge — no conflicts; experimental's version.json stays 2026.1.0-alpha.{height} (only the main side was unchanged there).

Needed so in-flight feature work on experimental (e.g. #333 multi-channel publish) builds on current workflows rather than the stale Run: Pack ones.

ChrisonSimtianand others added 3 commits May 30, 2026 15:02
…330)
Implements the trigger/hygiene slice of milestone #18 (CI cost & pipeline
structure). #325 (publish-lane realignment) already landed in the ladder PR.
- #318/#326 Cross-platform gated to release intent. windows/macos no longer run
on main/experimental pushes (or any routine push). They run only on PR-to-
release/* or support/*, and on v* tag pushes. ("On main we've got our edge":
the ubuntu-latest PR gate + alpha/preview pipelines.) workflow_dispatch is not
emitted — the generator only writes it with inputs; GitHub's run re-run covers
on-demand cross-platform.
- #322 concurrency cancel-in-progress on ubuntu/windows/macos (generator) +
experimental.yml + preview.yml. NOT on release.yml (never cancel a publish).
- #323/#328 Canonical CI-ignore list (docs/**, .assets/**, **/*.md) on every
PR/push trigger. (release.yml is tag-triggered, so path-ignore is N/A there.)
- #327 Codified "feature branches run zero CI until PR'd" + the trigger model in
docs/agents/conventions.md, with what-not-to-do guards.
- #329 Dropped dead 'submodules: recursive' from all checkouts + the generator
(no .gitmodules; full build passes without it) and the stale vendor comment.
Generated workflows regenerated from build/Build.CI.GitHubActions.cs.
Deferred (own follow-ups): #324 split Build/Test/Pack stages; #328 caching
deep-dive; #327 automated reflective guard-test (docs guard in place now).
Also unblocked publishing separately: the github-packages environment
deployment policy now allows experimental/main/release/*/support/* + v* tags.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…328) (#331)
#324 — experimental.yml and preview.yml ran `dotnet fallout Pack` only, publishing
alpha/preview packages WITHOUT running tests. Both now run `dotnet fallout Test Pack`
(release.yml + the PR gate already did). One invocation = NUKE's discrete internal
stages (Restore → Compile → Test → Pack), failing at the breaking stage; a test
failure stops the job before the push step, so untested packages never publish.
Separate per-step `dotnet fallout` invocations are avoided on purpose — each re-runs
the dependency graph (double-compile); the single invocation is the staged build.
#328 — added `restore-keys:` prefix fallback to the hand-written workflows' caches
for faster partial restores on key miss. Evaluation: current key (global.json +
*.csproj + Directory.Packages.props) is the right dependency set; no packages.lock.json
exists to add; build-output (bin/obj) caching deliberately not done (stale-artifact
risk). Canonical ignore list (docs/.assets/md) already applied in the trigger PR.
Codified both in docs/agents/conventions.md.
Deferred: #327 automated reflective guard-test (docs guard already in place).
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisonSimtianChrisonSimtian added the target/vCurrent Targets the current version label May 31, 2026
@ChrisonSimtian
ChrisonSimtian merged commit f8d631c into experimentalMay 31, 2026
1 check passed
@ChrisonSimtian
ChrisonSimtian deleted the chore/forward-port-main-to-experimental branch May 31, 2026 00:49
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

target/vCurrentTargets the current version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@ChrisonSimtian