Skip to content

[Infra] Split publish-packages-1.0 workflow into multiple jobs#7452

Open
martincostello wants to merge 7 commits into
open-telemetry:mainfrom
martincostello:gh-6593
Open

[Infra] Split publish-packages-1.0 workflow into multiple jobs#7452
martincostello wants to merge 7 commits into
open-telemetry:mainfrom
martincostello:gh-6593

Conversation

@martincostello

@martincostello martincostello commented Jun 23, 2026

Copy link
Copy Markdown
Member

Fixes #6593

Changes

  • Split build, pack and publish into multiple jobs (build-pack ▶️ validate ▶️ publish).
  • Attest the NuGet packages produced.
  • Verify the NuGet packages before publishing.

Will test manually post-merge and do any follow-up fixes as necessary. Partially verified in my fork here.

Merge requirement checklist

  • CONTRIBUTING guidelines followed (license requirements, nullable enabled, static analysis, etc.)
  • Unit tests added/updated
  • Appropriate CHANGELOG.md files updated for non-trivial changes
  • Changes in public API reviewed (if applicable)

- 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.
@github-actions github-actions Bot added the infra Infra work - CI/CD, code coverage, linters label Jun 23, 2026
Explicitly specify the shell as `pwsh`.
@codecov

codecov Bot commented Jun 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.09%. Comparing base (66acb49) to head (31f00ab).
✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@            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     
Flag Coverage Δ
unittests-PowerShellScripts 88.49% <ø> (ø)
unittests-Project-Experimental 90.13% <ø> (-0.02%) ⬇️
unittests-Project-Stable 90.01% <ø> (-0.11%) ⬇️
unittests-Solution 90.02% <ø> (-0.16%) ⬇️
unittests-UnstableCoreLibraries-Experimental 49.71% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 6 files with indirect coverage changes

@martincostello martincostello changed the title [Infra] Split workflow into multiple jobs [Infra] Split .publish-packages-1.0 workflow into multiple jobs Jun 23, 2026
@martincostello martincostello marked this pull request as ready for review June 23, 2026 14:18
@martincostello martincostello requested a review from a team as a code owner June 23, 2026 14:18
Copilot AI review requested due to automatic review settings June 23, 2026 14:18
@martincostello martincostello changed the title [Infra] Split .publish-packages-1.0 workflow into multiple jobs [Infra] Split publish-packages-1.0 workflow into multiple jobs Jun 23, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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, and publish jobs 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 .nupkg files 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.

Comment thread .github/workflows/publish-packages-1.0.yml
Comment thread .github/workflows/publish-packages-1.0.yml
Comment thread .github/workflows/publish-packages-1.0.yml
Comment thread .github/workflows/publish-packages-1.0.yml
Comment thread .github/workflows/publish-packages-1.0.yml
Comment thread .github/workflows/publish-packages-1.0.yml
Comment thread .github/workflows/publish-packages-1.0.yml
Comment thread .github/workflows/publish-packages-1.0.yml
- 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.
@martincostello martincostello added the keep-open Prevents issues and pull requests being closed as stale label Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infra Infra work - CI/CD, code coverage, linters keep-open Prevents issues and pull requests being closed as stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Divide build-pack-publish job into separate jobs

2 participants