Skip to content

Consolidate and rename CI workflows#27

Merged
ChrisonSimtian merged 1 commit into
mainfrom
ci/consolidate-build-workflows
Jul 12, 2026
Merged

Consolidate and rename CI workflows#27
ChrisonSimtian merged 1 commit into
mainfrom
ci/consolidate-build-workflows

Conversation

@ChrisonSimtian

Copy link
Copy Markdown
Owner

Cleans up a messy .github/workflows/ — same behaviour, clearer names.

What

  • Two generated build workflows (from build/Build.CI.GitHubActions.cs) replace three per-OS files:
    • build.yml — Linux PR gate (PRs to main/release/*/support/*). Job stays named ubuntu-latest.
    • build-cross-platform.yml — macOS + Windows in one workflow (a job per OS), gated to release intent (release/*/support/* PRs + v* tags).
  • Renamed hand-written workflows: ubuntu-latest-docsbuild-docs, previewpublish-packages-preview, releasepublish-packages-release.
  • ReleaseWorkflow const updated to match the release workflow's new name: (it gates CreateGitHubRelease).
  • Doc references updated across README/CONTRIBUTING/architecture/branching/conventions/release-and-versioning; fixed some already-stale trigger descriptions along the way.

Why it's safe

  • Required check unchanged — branch protection keys on the job name ubuntu-latest, which build.yml still emits. No admin change needed.
  • Triggers identical to before — this is a rename + file-consolidation, not a behaviour change.
  • build-docs.yml still reports the ubuntu-latest check on docs-only PRs.

Verification

  • dotnet fallout Test Pack108 tests pass, 0 fail; all 24 packages pack.
  • Both generated workflows freshly regenerated from the attributes (not hand-edited).
  • All 5 workflow YAMLs parse clean.

Not included: a pre-existing .config/dotnet-tools.json working change (adds nbgv) — unrelated, left out.

Collapse the three per-OS build workflows and rename the hand-written ones
for clarity. Behaviour is unchanged — same triggers, same required check.

- build.yml (generated): Linux PR gate for PRs to main/release/support. Its
  job is still named `ubuntu-latest`, so the required status check and branch
  protection are untouched.
- build-cross-platform.yml (generated): macOS + Windows in one workflow (a job
  per OS, via the attribute's params image list), gated to release intent —
  PRs to release/support and v* tag pushes only. Replaces macos-latest.yml +
  windows-latest.yml.
- build-docs.yml: renamed from ubuntu-latest-docs.yml; still reports the
  `ubuntu-latest` check on docs-only PRs.
- publish-packages-preview.yml / publish-packages-release.yml: renamed from
  preview.yml / release.yml. ReleaseWorkflow const in Build.CI.GitHubActions.cs
  updated to match the release workflow's new name (it gates CreateGitHubRelease).

Regenerated the two generated workflows from build/Build.CI.GitHubActions.cs and
updated the workflow-name references in README, CONTRIBUTING, architecture,
branching-and-release, conventions, and release-and-versioning docs (also fixing
some already-stale trigger descriptions). ADRs left as point-in-time records.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisonSimtian ChrisonSimtian added target/2026 Releases on the 2026 calendar line skip-changelog Housekeeping with no consumer-facing release note (CI, tooling, internal refactors) labels Jul 12, 2026
@ChrisonSimtian ChrisonSimtian merged commit 12a0b1a into main Jul 12, 2026
2 checks passed
@ChrisonSimtian ChrisonSimtian deleted the ci/consolidate-build-workflows branch July 12, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog Housekeeping with no consumer-facing release note (CI, tooling, internal refactors) target/2026 Releases on the 2026 calendar line

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant