Skip to content
This repository was archived by the owner on Nov 24, 2025. It is now read-only.

Conversation

@zrhoffman
Copy link
Member

This PR makes the Go components of Traffic Control build using Go version 1.21 (no golang.org/x/ dependency updates needed)

See the Go 1.21 release notes and milestone:

The latest Go release, version 1.21, arrives six months after Go 1.20. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility; in fact, Go 1.21 improves upon that promise. We expect almost all Go programs to continue to compile and run as before.

Which Traffic Control components are affected by this PR?

  • Traffic Control Cache Config (t3c, formerly ORT)
  • Traffic Control Health Client (tc-health-client)
  • Traffic Control Client
  • Traffic Monitor
  • Traffic Ops
  • Traffic Stats
  • Grove
  • CDN in a Box - Enroller
  • CI tests for Go components
  • Build system - Go version in builder images

What is the best way to verify this PR?

Run unit tests and API tests. Since Because of the Go 1 promise of compatibility, breaking changes would be unexpected.

If this is a bugfix, which Traffic Control versions contained the bug?

PR submission checklist

  • Existing tests are sufficient, no additional tests necessary
  • The documentation only mentions the major Go version, no documentation updates necessary.
  • The changelog already mentions updating to Go 1.20, no additional changelog message necessary.
  • This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

@codecov
Copy link

codecov bot commented Aug 9, 2023

Codecov Report

Merging #7705 (43ce1ad) into master (75ec56f) will decrease coverage by 35.50%.
Report is 52 commits behind head on master.
The diff coverage is 6.11%.

@@              Coverage Diff              @@
##             master    #7705       +/-   ##
=============================================
- Coverage     65.05%   29.56%   -35.50%     
  Complexity       98       98               
=============================================
  Files           314      589      +275     
  Lines         12365    73374    +61009     
  Branches        907       90      -817     
=============================================
+ Hits           8044    21691    +13647     
- Misses         3968    49610    +45642     
- Partials        353     2073     +1720     
Flag Coverage Δ
golib_unit 52.75% <0.00%> (?)
grove_unit 12.02% <ø> (?)
t3c_unit 6.04% <6.32%> (?)
traffic_monitor_unit 26.22% <ø> (?)
traffic_ops_integration 69.39% <91.17%> (-0.03%) ⬇️
traffic_ops_unit 22.84% <4.27%> (?)
traffic_portal_v2 ?
traffic_stats_unit 10.76% <ø> (?)
unit_tests 26.27% <4.19%> (-47.51%) ⬇️
v3 57.79% <ø> (ø)
v4 79.18% <ø> (ø)
v5 78.52% <91.17%> (-0.12%) ⬇️

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

Files Changed Coverage Δ
cache-config/t3c-apply/config/config.go 0.00% <0.00%> (ø)
lib/go-atscfg/parentdotconfig.go 65.76% <ø> (ø)
lib/go-tc/cdns.go 0.00% <ø> (ø)
lib/go-tc/deliveryservice_servers.go 0.00% <0.00%> (ø)
lib/go-tc/federation_resolver.go 45.45% <0.00%> (ø)
lib/go-tc/log.go 0.00% <0.00%> (ø)
...c_ops/traffic_ops_golang/cachegroup/cachegroups.go 14.93% <0.00%> (ø)
...raffic_ops/traffic_ops_golang/cdn_lock/cdn_lock.go 0.00% <0.00%> (ø)
...ops/traffic_ops_golang/deliveryservice/eligible.go 55.27% <0.00%> (ø)
...fic_ops/traffic_ops_golang/deliveryservice/keys.go 31.86% <0.00%> (ø)
... and 21 more

... and 471 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Copy link
Member

@shamrickus shamrickus left a comment

Choose a reason for hiding this comment

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

LGTM

  • Relevant go components use 1.21
  • Builds are successful

@shamrickus shamrickus merged commit f8d72a9 into apache:master Aug 14, 2023
@zrhoffman zrhoffman deleted the go-1.21.0 branch August 14, 2023 21:18
cybertunnel pushed a commit to cybertunnel/trafficcontrol that referenced this pull request Aug 16, 2023
* Disable cgo entirely instead of specifying osusergo and netgo

* Remove musl libc hack

* Pull alpine digest if it is not found

* Update Go version to 1.21.0
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants