Skip to content

Conversation

@martincostello
Copy link
Member

@martincostello martincostello commented Jun 4, 2025

Changes

  • Enable deterministic builds for binaries/packages.
  • Centralise common settings in Directory.Build.props.
  • Refactor some MSBuild conditions to not need changing for .NET 9 and beyond.
  • Refactor CI to work towards publishing to NuGet from GitHub Actions.
  • Add a package README.
  • Update to latest .NET 8 SDK.
  • Update test dependencies and MinVer to their latest versions.

Merge requirement checklist

  • Unit tests added/updated
  • CHANGELOG.md file updated for non-trivial changes
  • Changes in public API reviewed (if applicable)

@martincostello martincostello added the enhancement New feature or request label Jun 4, 2025
@martincostello
Copy link
Member Author

martincostello commented Jun 4, 2025

SourceLink and deterministic builds still aren't working properly. Need to work out tomorrow what's different between the build setup here and my other OSS repos.

@martincostello martincostello force-pushed the deterministic-builds branch from 237c725 to d92bbc2 Compare June 5, 2025 12:45
@martincostello martincostello mentioned this pull request Jun 5, 2025
3 tasks
- Enable deterministic builds for binaries/packages.
- Centralise common settings in `Directory.Build.props`.
- Refactor some MSBuild conditions to not need changing for .NET 9 and beyond.
Use .NET 8 Artifacts Output feature to put all build output in a central directory structure instead of in each project directory.
- Bump test NuGet packages to their latest versions and pin them.
- Add GitHubActionsTestLogger.
- Remove "tests" and replace with "CI" with the intention to later add a job that can publish to NuGet.org.
- Test on all three available operating systems in GitHub Actions.
- Publish NuGet packages to GitHub Actions artifacts.
- Add job to validate NuGet packages.
- Attest artifacts.
- Generate SBOM.
Update to the latest .NET 8 SDK to see if that fixes issue with missing source link information.
Fetch Git history.
Separate the runner name from the OS name.
Update MinVer to the latest stable version.
Include PDBs in NuGet packages.
Disable warning about stable packages depending on prerelease packages until all OpenTelemetry dependencies are stable.
Add a NuGet package README.
Point to `ci` not `unit-tests`.
@martincostello martincostello force-pushed the deterministic-builds branch from aa0f41a to 270dccc Compare June 5, 2025 15:22
@martincostello martincostello marked this pull request as ready for review June 9, 2025 08:08
Copilot AI review requested due to automatic review settings June 9, 2025 08:08
@martincostello martincostello requested a review from a team as a code owner June 9, 2025 08:08
Copy link

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 enables deterministic builds and centralizes build configuration while updating dependencies and CI workflows. Key changes include centralized properties via Directory.Build.props, refactored csproj files for updated target frameworks and package references, and revamped GitHub Actions workflows for CI and package validation.

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/Grafana.OpenTelemetry.Tests.csproj Updated target frameworks and package reference versions.
src/Grafana.OpenTelemetry/Grafana.OpenTelemetry.csproj Updated package references and adjusted conditional packaging.
src/Grafana.OpenTelemetry.Base/Grafana.OpenTelemetry.Base.csproj Updated package references with conditional grouping.
package-readme.md Added package README documentation.
global.json Updated .NET SDK version.
README.md Updated CI badges to reflect new workflow file.
Directory.Build.props Centralized common build settings.
.github/workflows/unit-tests.yml Removed outdated unit-tests workflow.
.github/workflows/ci.yml Introduced a new CI workflow with build, test, and validation steps.

@matt-hensley matt-hensley merged commit f396d4e into main Jun 9, 2025
13 checks passed
@matt-hensley matt-hensley deleted the deterministic-builds branch June 9, 2025 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants