[Infra] Split publish-packages-1.0 workflow into multiple jobs#7452
[Infra] Split publish-packages-1.0 workflow into multiple jobs#7452martincostello wants to merge 7 commits into
Conversation
- Split build, pack and publish into multiple jobs. - Attest the NuGet packages produced. - Verify the NuGet packages before publishing. Resolves open-telemetry#6593.
Require the packages to be validated.
Explicitly specify the shell as `pwsh`.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7452 +/- ##
==========================================
- Coverage 90.13% 90.09% -0.04%
==========================================
Files 285 285
Lines 15376 15376
==========================================
- Hits 13859 13853 -6
- Misses 1517 1523 +6
Flags with carried forward coverage won't be shown. Click here to find out more. |
There was a problem hiding this comment.
Pull request overview
This PR updates the publish-packages-1.0 GitHub Actions workflow to split the previous combined build/pack/publish sequence into distinct phases, improving resumability and enabling additional integrity checks (attestations + validation) before publishing packages.
Changes:
- Split the workflow into separate
build-pack,validate, andpublishjobs with explicit dependencies. - Add GitHub attestations for produced NuGet packages and an SBOM, and add attestation verification steps prior to publishing.
- Introduce a dedicated NuGet package validation job before publishing to MyGet.
Comments suppressed due to low confidence (1)
.github/workflows/publish-packages-1.0.yml:288
- After downloading into
./artifacts, this step publishes from./artifacts/package/release. Unless the download step recreates the full original directory structure (it typically doesn't), this working directory will not contain the.nupkgfiles and the publish will be a no-op/failure.
- name: Publish MyGet
working-directory: ./artifacts/package/release
env:
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Fix incorrect executable name for Ubuntu. - Fix incorrect token being used. - Error if no NuGet packages found.
Add missing permissions for the automation job.
Revert back to Windows to see if it is why there's a warning about a missing flag now happening.
Fixes #6593
Changes
Will test manually post-merge and do any follow-up fixes as necessary. Partially verified in my fork here.
Merge requirement checklist
Unit tests added/updatedAppropriateCHANGELOG.mdfiles updated for non-trivial changesChanges in public API reviewed (if applicable)