Skip to content

Conversation

@ademidoff
Copy link
Member

@ademidoff ademidoff commented Oct 2, 2025

PMM-7

Link to the Feature Build: SUBMODULES-0

This pull request migrates the project’s tool management approach from custom installation scripts and local binaries to using Go’s built-in tool management (go tool <toolname>). This change simplifies development workflows and CI/CD, removes redundant files, and updates dependencies. The most important changes are grouped below.

Tool Management Modernization:

  • All Makefiles (Makefile.include, api/Makefile, agent/Makefile, api-tests/Makefile) and CI workflows (.github/workflows/main.yml) now use go tool <toolname> instead of referencing binaries in the bin/ directory for tools like buf, swagger, golangci-lint, mockery, go-junit-report, benchstat, license-eye, go-sumtype, and go-consistent. This eliminates the need for custom installation and generation steps for these tools. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]

  • The make init targets and corresponding scripts are updated to reflect that tools are managed via Go modules, and legacy installation/generation logic is removed. [1] [2] [3] [4] [5]

Simplification and Cleanup:

  • The api-tests/tools/go.mod and api-tests/tools/tools.go files are deleted, as tool dependencies are now managed centrally in the root go.mod. [1] [2]

  • Redundant commands and bin/ directory references are removed from scripts and Makefiles. [1] [2] [3]

Dependency Updates:

  • The project is updated to Go 1.25, and several dependencies are bumped to their latest versions in go.mod (e.g., github.com/pkg/sftp, github.com/prometheus/prometheus, golang.org/x/crypto, golang.org/x/text, google.golang.org/genproto). [1] [2]

Dev Environment Improvements:

  • The .devcontainer/setup.py script is simplified: package installation is consolidated, unnecessary packages are removed, and repo enablement is streamlined.

CI Workflow Streamlining:

  • CI steps for tool installation, formatting, linting, and license checks are updated to use Go toolchain directly, reducing complexity and potential for drift between environments. [1] [2] [3] [4] [5] [6]

@codecov
Copy link

codecov bot commented Oct 2, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 44.55%. Comparing base (9bb06be) to head (9d26fd0).

Additional details and impacted files
@@            Coverage Diff             @@
##               v3    #4606      +/-   ##
==========================================
+ Coverage   44.51%   44.55%   +0.03%     
==========================================
  Files         363      363              
  Lines       45715    45715              
==========================================
+ Hits        20351    20367      +16     
+ Misses      23706    23691      -15     
+ Partials     1658     1657       -1     
Flag Coverage Δ
admin 17.33% <ø> (ø)
agent 53.35% <ø> (+0.12%) ⬆️
managed 44.49% <ø> (+<0.01%) ⬆️
vmproxy 74.13% <ø> (ø)

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.

@ademidoff ademidoff force-pushed the PMM-7-modernize-go-tools branch 6 times, most recently from 012a61c to 6d5de93 Compare October 3, 2025 00:14
@ademidoff ademidoff force-pushed the PMM-7-modernize-go-tools branch from 6d5de93 to c6043c2 Compare October 3, 2025 00:37
@ademidoff ademidoff force-pushed the PMM-7-modernize-go-tools branch from a228e1d to 1ecf3d8 Compare October 4, 2025 11:15
@ademidoff ademidoff force-pushed the PMM-7-modernize-go-tools branch from 97c9221 to 2f35502 Compare October 4, 2025 12:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant