Skip to content

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

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

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

Conversation

@uniblab

@uniblab uniblab commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Align Icod.Path with the canonical Icod C#/.NET development lifecycle while preserving its net7.0/net8.0/net9.0/net10.0 library contract.

Base: main @ 40c443b762250f135e9d7e19237d5620c42bb4b1

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 real generated Icod.Path .nupkg and matching .snupkg, checks README/license/icon payloads, all four TFM DLL/XML assets, and all four symbol PDB assets.

PR and main packaging happens once on Linux rather than being repeated on every architecture.

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 33592145615 succeeded on head f43158245252ddd6da816825009f2cfb5a623c40:

  • 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 package structure verification across net7.0/net8.0/net9.0/net10.0: 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 dd6c3c7 into main Sep 2, 2026
3 checks passed
@uniblab
uniblab deleted the buildcycle-cicd branch September 2, 2026 04:50
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