Skip to content

[infra] Use Artifacts Output layout #2816

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

martincostello
Copy link
Member

@martincostello martincostello commented Jun 5, 2025

Relates to open-telemetry/opentelemetry-dotnet#6256.

Changes

Use Artifacts Output layout to make build output easy to locate.

This has the additional effect of de-nesting the structure of the ZIP files containing the packages that are uploaded to GitHub Actions artifacts.

Essentially a copy of open-telemetry/opentelemetry-dotnet#6301.

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)

@github-actions github-actions bot added infra Infra work - CI/CD, code coverage, linters documentation Improvements or additions to documentation labels Jun 5, 2025
Copy link

codecov bot commented Jun 5, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 69.70%. Comparing base (71655ce) to head (fd6d107).
Report is 880 commits behind head on main.

✅ All tests successful. No failed tests found.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2816      +/-   ##
==========================================
- Coverage   73.91%   69.70%   -4.21%     
==========================================
  Files         267      394     +127     
  Lines        9615    15978    +6363     
==========================================
+ Hits         7107    11138    +4031     
- Misses       2508     4840    +2332     
Flag Coverage Δ
unittests-Contrib.Shared.Tests 86.06% <ø> (?)
unittests-Exporter.Geneva 53.47% <ø> (?)
unittests-Exporter.InfluxDB 95.14% <ø> (?)
unittests-Exporter.Instana 74.86% <ø> (?)
unittests-Exporter.OneCollector 94.61% <ø> (?)
unittests-Exporter.Stackdriver 79.26% <ø> (?)
unittests-Extensions 91.12% <ø> (?)
unittests-Extensions.Enrichment 100.00% <ø> (?)
unittests-Instrumentation.AWS 84.12% <ø> (?)
unittests-Instrumentation.AspNet 76.79% <ø> (?)
unittests-Instrumentation.AspNetCore 70.32% <ø> (?)
unittests-Instrumentation.ConfluentKafka 14.10% <ø> (?)
unittests-Instrumentation.ElasticsearchClient 80.12% <ø> (?)
unittests-Instrumentation.EntityFrameworkCore 57.06% <ø> (?)
unittests-Instrumentation.EventCounters 76.36% <ø> (?)
unittests-Instrumentation.GrpcCore 91.42% <ø> (?)
unittests-Instrumentation.GrpcNetClient 79.61% <ø> (?)
unittests-Instrumentation.Hangfire 93.58% <ø> (?)
unittests-Instrumentation.Http 74.09% <ø> (?)
unittests-Instrumentation.Owin 88.62% <ø> (?)
unittests-Instrumentation.Process 100.00% <ø> (?)
unittests-Instrumentation.Quartz 78.76% <ø> (?)
unittests-Instrumentation.Runtime 100.00% <ø> (?)
unittests-Instrumentation.ServiceFabricRemoting 34.54% <ø> (?)
unittests-Instrumentation.SqlClient 87.82% <ø> (?)
unittests-Instrumentation.StackExchangeRedis 70.92% <ø> (?)
unittests-Instrumentation.Wcf 78.61% <ø> (?)
unittests-PersistentStorage 65.88% <ø> (?)
unittests-Resources.AWS 75.00% <ø> (?)
unittests-Resources.Azure 84.56% <ø> (?)
unittests-Resources.Container 67.34% <ø> (?)
unittests-Resources.Gcp 71.42% <ø> (?)
unittests-Resources.Host 73.91% <ø> (?)
unittests-Resources.OperatingSystem 76.98% <ø> (?)
unittests-Resources.Process 100.00% <ø> (?)
unittests-Resources.ProcessRuntime 78.26% <ø> (?)
unittests-Sampler.AWS 88.25% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

see 398 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions github-actions bot added the comp:instrumentation.aspnetcore Things related to OpenTelemetry.Instrumentation.AspNetCore label Jun 5, 2025
@martincostello martincostello marked this pull request as ready for review June 5, 2025 11:31
@Copilot Copilot AI review requested due to automatic review settings June 5, 2025 11:31
@martincostello martincostello requested a review from a team as a code owner June 5, 2025 11:31
Copy link

@Copilot Copilot AI left a comment

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 implements the Artifacts Output layout to simplify locating build outputs and de-nest the structure of ZIP files for package uploads. Key changes include updating test projects to determine paths via assembly metadata, revising build and project files to use a consistent Import strategy, and modifying GitHub Actions workflows and scripts to reflect the new artifacts output structure.

Reviewed Changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/OpenTelemetry.Instrumentation.AspNetCore.Tests/RouteTests/TestApplication/TestApplicationFactory.cs Uses AssemblyMetadataAttribute to resolve RouteTestsPath and update ContentRootPath accordingly.
test/OpenTelemetry.Instrumentation.AspNetCore.Tests/RouteTests/RoutingTestFixture.cs Retrieves RouteTestsPath from assembly metadata and updates the README file generation logic.
test/OpenTelemetry.Instrumentation.AspNetCore.Tests/OpenTelemetry.Instrumentation.AspNetCore.Tests.csproj Adds an AssemblyMetadata element for the RouteTestsPath.
test/Directory.Build.props, src/Directory.Build.props, examples/Directory.Build.props Updates Import statements to utilize Path.Combine for more robust file referencing.
build/scripts/test-aot-compatibility.ps1 Adjusts the test app’s push-location to use the new artifacts publish path.
build/Common.prod.props Removes the PackageOutputPath element to align with the Artifacts Output layout change.
Directory.Build.props (root) Introduces properties for ArtifactsPath and the UseArtifactsOutput flag.
.github/workflows/publish-packages.yml, .github/workflows/Component.BuildTest.yml Updates package paths and nuget push commands to reference the new artifacts layout.
Comments suppressed due to low confidence (4)

build/Common.prod.props:15

  • The removal of the PackageOutputPath element alters the package output location. Please verify that this change aligns with the intended artifacts output layout and that downstream processes respect this new location.
<NoWarn>$(NoWarn);1573;1712</NoWarn>

build/scripts/test-aot-compatibility.ps1:29

  • [nitpick] Consider adding or updating tests to verify that the updated artifacts output path is correctly generated and used during the AOT compatibility test.
Push-Location $rootDirectory/artifacts/publish/OpenTelemetry.AotCompatibility.TestApp/release_$targetNetFramework

.github/workflows/publish-packages.yml:89

  • [nitpick] Confirm that the updated relative path for package artifacts works consistently across all targeted operating systems in the CI environment.
path: ./artifacts/package/release

.github/workflows/Component.BuildTest.yml:171

  • [nitpick] Ensure that changing the artifact path in this workflow does not affect other build dependencies and is verified across different OS runners.
path: ./artifacts/package/release

@martincostello martincostello marked this pull request as draft June 12, 2025 17:05
@martincostello martincostello marked this pull request as ready for review June 12, 2025 17:41
Use Artifacts Output layout to make build output easy to locate.

Relates to open-telemetry/opentelemetry-dotnet#6256.
Derive the right path for the test application now that the test binary is in a different location.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:instrumentation.aspnetcore Things related to OpenTelemetry.Instrumentation.AspNetCore documentation Improvements or additions to documentation infra Infra work - CI/CD, code coverage, linters
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant