Skip to content

Align build cycle and CI/CD with canonical protocol - #2

Merged
uniblab merged 1 commit into
mainfrom
buildcycle-cicd
Sep 2, 2026
Merged

Align build cycle and CI/CD with canonical protocol#2
uniblab merged 1 commit into
mainfrom
buildcycle-cicd

Conversation

@uniblab

@uniblab uniblab commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Align Icod.Host with the canonical Icod C#/.NET development lifecycle while preserving its net10.0 package and sample/test coverage.

Base: main @ ec54a43b7fb6267f93aee8decf93fa85d241b4aa

Lifecycle

  • local build.cmd / build.sh: Debug
  • pull requests: Staging on Windows/Linux/macOS
  • pushes to main: validation-only six-runner Release
  • manual distribution-validation.yaml: selected Debug/Staging/Release diagnostic
  • v<semver> tags whose commit is contained in main: Release publication

Packaging

Product-specific orchestration now lives under /packaging.

The exact package verifier requires the generated Icod.Host .nupkg and matching .snupkg, validates ID/version metadata, README/license/icon payloads, net10.0 DLL/XML assets, and the portable PDB symbol payload.

The solution-wide build/test gate still includes the Host sample project, while only Icod.Host.csproj is packed as a release package.

Publication safety

The old push-main.yaml published directly from ordinary pushes to main; it is removed. main.yaml is validation-only. Publication now occurs only from release.yaml after tag/main-containment and exact PackageVersion checks.

NuGet.org and GitHub Packages consume the same validated package and publish in parallel. GitHub Release is the final rendezvous and contains the .nupkg, .snupkg, and checksum manifest.

README

The root README now contains PR Staging build and Main Release validation badges pointing at the new workflows, and documents the Debug → Staging → Release → tagged-publication cycle.

Validation

PR workflow run 33592765664 succeeded on head 1cdb1a05becbf40a966e61af4945263c36613c4a:

  • Windows Staging restore/build/test: success
  • Linux Staging restore/build/test: success
  • macOS Staging restore/build/test: success
  • exact Staging .nupkg + .snupkg production: success
  • exact Host package structure verification: success
  • validated package artifact upload: success

The tag-only publication graph cannot be runtime-tested without creating a new immutable release version/tag; its first execution should occur on the next normal release.

@uniblab
uniblab merged commit 9f1d54b into main Sep 2, 2026
3 checks passed
@uniblab
uniblab deleted the buildcycle-cicd branch September 2, 2026 04:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant