Skip to content

Align build cycle, portable symbols, and CI/CD - #4

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

Align build cycle, portable symbols, and CI/CD#4
uniblab merged 1 commit into
mainfrom
buildcycle-cicd

Conversation

@uniblab

@uniblab uniblab commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Align Icod.Processes with the canonical Icod C#/.NET development lifecycle while preserving its .NET 10 process-control contract and Icod.Timing 1.0.0 dependency.

Base: main @ cb1f4d04065b45f8249d6f6466e13dcd799aec3b

Project configuration

  • consolidate configuration-common MSBuild properties out of Debug/Staging/Release groups
  • DebugType=portable, DebugSymbols=true, and SignAssembly=false are common properties
  • library, tests, process test host, and sample all use portable debug information for Debug, Staging, and Release
  • configuration groups retain only properties which actually differ

License

The requested updated license was verified against merged Icod.Timing. Icod.Processes/LICENSE already has the exact same current license blob (a3693157ae7f79e4a431c974e81c14296343c4cc), so no artificial license rewrite is included.

Lifecycle

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

Package validation

The exact verifier requires the generated Icod.Processes .nupkg and matching .snupkg, validates README/LICENSE/icon and net10.0 DLL/XML payloads, verifies the Icod.Timing dependency remains exactly 1.0.0, and checks that the packaged PDB has the portable-PDB BSJB signature.

Publication safety

The old push-main.yaml published directly from ordinary pushes to main; it is removed. main.yaml is validation-only. NuGet.org and GitHub Packages publish the same exact verified release package in parallel only from release.yaml, and GitHub Release is the final rendezvous.

Documentation

The root README now includes PR Staging build and Main Release validation badges and documents the canonical lifecycle. CONTRIBUTING.md no longer describes ordinary main pushes as publication events.

Validation

PR workflow run 33595231896 succeeded on head 4e4d6d92208bef37c033a9a24d34f78e341f7887:

  • 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 metadata/assets verification: success
  • Icod.Timing 1.0.0 dependency verification: success
  • portable-PDB BSJB signature verification: success
  • validated package artifact upload: success

The tag-only publication graph will receive its first runtime execution on the next normal immutable release tag.

@uniblab
uniblab merged commit 1bd70e5 into main Sep 2, 2026
3 checks passed
@uniblab
uniblab deleted the buildcycle-cicd branch September 2, 2026 05:37
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