Skip to content

chore: Group OpenTelemetry dependencies in Renovate configuration and add validation workflow#4680

Merged
markphelps merged 6 commits into
v2from
copilot/fix-72b2ec97-6884-41b1-a260-afca22576888
Sep 4, 2025
Merged

chore: Group OpenTelemetry dependencies in Renovate configuration and add validation workflow#4680
markphelps merged 6 commits into
v2from
copilot/fix-72b2ec97-6884-41b1-a260-afca22576888

Conversation

Copilot AI commented Sep 3, 2025

Copy link
Copy Markdown
Contributor

This PR groups all OpenTelemetry Go dependencies together in our Renovate configuration so that all OpenTelemetry updates happen in the same PR instead of creating separate PRs for each package, and adds automated validation for the Renovate configuration.

Problem

Currently, Flipt uses many OpenTelemetry packages (16+ direct and indirect dependencies) and Renovate creates separate PRs for each package update. This leads to:

  • Multiple PRs that need individual review and merging
  • Potential version compatibility issues between related OTel packages
  • Increased maintenance overhead
  • Risk of invalid Renovate configuration changes breaking automation

Solution

Dependency Grouping: Added a new packageRule to .github/renovate.json5 that:

  • Matches all packages with the pattern /^go\.opentelemetry\.io/
  • Groups them under the name "opentelemetry"
  • Applies to the gomod manager for Go dependencies

Configuration Validation: Added a GitHub Actions workflow that:

  • Uses suzuki-shunsuke/[email protected]
  • Only runs when .github/renovate.json5 is modified
  • Validates configuration syntax and semantics before merging
  • Supports push, pull request, and manual triggers

Packages Affected

This grouping will apply to all current OpenTelemetry dependencies including:

  • go.opentelemetry.io/otel (core library)
  • go.opentelemetry.io/otel/sdk/* (SDK packages)
  • go.opentelemetry.io/contrib/* (contrib packages)
  • go.opentelemetry.io/otel/exporters/* (exporter packages)
  • All other go.opentelemetry.io packages

Result

Going forward, all OpenTelemetry package updates will be bundled into a single PR, making it easier to:

  • Review related changes together
  • Ensure version compatibility across the OTel ecosystem
  • Reduce the number of dependency PRs requiring attention

The validation workflow ensures that any future changes to the Renovate configuration are syntactically correct and valid, preventing broken automation.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@markphelps markphelps changed the title [WIP] help me group all opentelemetry Go dependencies together in our renovate config so that all opentelemetry updates happen in the same PR chore: group all opentelemetry Go dependencies together in renovate config Sep 3, 2025
@markphelps
markphelps marked this pull request as ready for review September 3, 2025 22:39
@markphelps
markphelps requested a review from a team as a code owner September 3, 2025 22:39
@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Sep 3, 2025
Copilot AI changed the title chore: group all opentelemetry Go dependencies together in renovate config Group OpenTelemetry dependencies in Renovate configuration Sep 3, 2025
Copilot AI requested a review from markphelps September 3, 2025 22:40
@dosubot

dosubot Bot commented Sep 3, 2025

Copy link
Copy Markdown

Related Documentation

Checked 2 published document(s). No updates required.

How did I do? Any feedback?  Join Discord

@markphelps markphelps changed the title Group OpenTelemetry dependencies in Renovate configuration chore: Group OpenTelemetry dependencies in Renovate configuration Sep 3, 2025
@codecov

codecov Bot commented Sep 3, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 62.52%. Comparing base (31b0a3a) to head (4d85dad).
⚠️ Report is 12 commits behind head on v2.

Additional details and impacted files
@@           Coverage Diff           @@
##               v2    #4680   +/-   ##
=======================================
  Coverage   62.52%   62.52%           
=======================================
  Files         131      131           
  Lines       15510    15510           
=======================================
  Hits         9698     9698           
  Misses       5139     5139           
  Partials      673      673           
Flag Coverage Δ
integrationtests 36.91% <ø> (+0.01%) ⬆️
unittests 52.64% <ø> (ø)

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

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@markphelps

Copy link
Copy Markdown
Collaborator

@copilot can you add a validate renovate config workflow that uses this action:

- uses: suzuki-shunsuke/[email protected]

but only runs if the .github/renovate.json5 config file is updated?

Copilot AI commented Sep 3, 2025

Copy link
Copy Markdown
Contributor Author

@copilot can you add a validate renovate config workflow that uses this action:

...

Added the Renovate config validation workflow using the specified action. The workflow only runs when .github/renovate.json5 is modified and includes support for push, pull request, and manual triggers. (690b85a)

Copilot AI changed the title chore: Group OpenTelemetry dependencies in Renovate configuration chore: Group OpenTelemetry dependencies in Renovate configuration and add validation workflow Sep 3, 2025
Comment thread .github/workflows/validate-renovate.yml Fixed
Comment thread .github/workflows/validate-renovate.yml Fixed
Copilot AI and others added 6 commits September 4, 2025 09:32
Signed-off-by: Claude <[email protected]>
- Added workflow that validates renovate.json5 using suzuki-shunsuke/[email protected]
- Workflow only runs when .github/renovate.json5 is modified
- Supports push, pull_request, and manual triggers via workflow_dispatch

Co-authored-by: markphelps <[email protected]>
Signed-off-by: Claude <[email protected]>
…in permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Claude <[email protected]>
@markphelps
markphelps force-pushed the copilot/fix-72b2ec97-6884-41b1-a260-afca22576888 branch from bf724c6 to 4d85dad Compare September 4, 2025 13:33
@markphelps
markphelps merged commit 7fa2609 into v2 Sep 4, 2025
17 checks passed
@markphelps
markphelps deleted the copilot/fix-72b2ec97-6884-41b1-a260-afca22576888 branch September 4, 2025 13:33
@dosubot

dosubot Bot commented Sep 4, 2025

Copy link
Copy Markdown

Documentation updates

Checked 2 published document(s). No updates required.

How did I do? Any feedback?  Join Discord

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants