Skip to content

chore: upgrade Go version to 1.27 and modernize idioms - #974

Merged
matthyx merged 2 commits into
mainfrom
chore/go-1.27-migration
Sep 11, 2026
Merged

chore: upgrade Go version to 1.27 and modernize idioms#974
matthyx merged 2 commits into
mainfrom
chore/go-1.27-migration

Conversation

@matthyx

@matthyx matthyx commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Overview

Upgrades the Go version to 1.27 across the project and applies automated idiom refactoring.

  • Updated go.mod to Go 1.27 and tidied dependencies.
  • Applied go fix ./... and golang.org/x/tools/go/analysis/passes/modernize/cmd/modernize -fix ./....
  • Refactored manual slice and map loops to use standard library utilities (slices.Contains, maps.Copy).
  • Modernized struct initialization syntax and formatted code using go fmt ./....
  • Updated builder image tags in build/Dockerfile and build/Dockerfile.debug to golang:1.27-trixie.
  • Updated Go version in GitHub Actions workflows (pr-created.yaml, pr-merged.yaml, bypass.yaml, component-tests.yaml, benchmark.yaml) and documentation.

How to Test

  • Run go build ./...
  • Run go test ./...

- Update go.mod to Go 1.27 and run go mod tidy
- Run go fix and modernize analyzer passes
- Modernize slice lookups with slices.Contains and map copies with maps.Copy
- Format repository code with go fmt

Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
@coderabbitai

coderabbitai Bot commented Sep 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 188 files, which is 88 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: a675bab1-9b3f-4fad-8753-06d995391b84

📥 Commits

Reviewing files that changed from the base of the PR and between b791193 and d7eba96.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (188)
  • .github/workflows/benchmark.yaml
  • .github/workflows/bypass.yaml
  • .github/workflows/component-tests.yaml
  • .github/workflows/pr-created.yaml
  • .github/workflows/pr-merged.yaml
  • README.md
  • build/Dockerfile
  • build/Dockerfile.debug
  • build/README.md
  • docs/features/network-stream-process-attribution.md
  • docs/features/process-id-reuse-hardening.md
  • docs/features/process-start-time.md
  • docs/features/process-tree-exit-manager-lifecycle.md
  • go.mod
  • pkg/cloudmetadata/metadata.go
  • pkg/config/config_test.go
  • pkg/containerprofilemanager/v1/container_data_test.go
  • pkg/containerprofilemanager/v1/event_reporting.go
  • pkg/containerprofilemanager/v1/event_reporting_test.go
  • pkg/containerprofilemanager/v1/monitoring.go
  • pkg/containerprofilemanager/v1/network_helpers.go
  • pkg/containerprofilemanager/v1/network_helpers_service_ports.go
  • pkg/containerprofilemanager/v1/queue/containerprofile_queue.go
  • pkg/containerprofilemanager/v1/queue/containerprofile_queue_errors.go
  • pkg/containerprofilemanager/v1/queue/containerprofile_queue_errors_test.go
  • pkg/containerprofilemanager/v1/queue/containerprofile_queue_test.go
  • pkg/containerprofilemanager/v1/queue/containerprofile_split_test.go
  • pkg/containerwatcher/container_watcher_interface.go
  • pkg/containerwatcher/v2/container_watcher.go
  • pkg/containerwatcher/v2/container_watcher_private_test.go
  • pkg/containerwatcher/v2/event_handler_factory.go
  • pkg/containerwatcher/v2/ordered_event_queue_test.go
  • pkg/containerwatcher/v2/tracers/dns_retry_test.go
  • pkg/containerwatcher/v2/tracers/httpparse.go
  • pkg/containerwatcher/v2/tracers/httpparse_test.go
  • pkg/containerwatcher/v2/tracers/syscall_test.go
  • pkg/cooldownqueue/cooldownqueue_test.go
  • pkg/dedupcache/dedup_cache.go
  • pkg/dedupcache/dedup_cache_test.go
  • pkg/dedupcache/keys_test.go
  • pkg/dnsmanager/dns_manager.go
  • pkg/dnsmanager/dns_manager_interface.go
  • pkg/dnsmanager/dns_manager_test.go
  • pkg/exporters/alert_bulk_manager.go
  • pkg/exporters/alert_bulk_manager_test.go
  • pkg/exporters/alert_limit_test.go
  • pkg/exporters/alert_manager.go
  • pkg/exporters/alert_manager_test.go
  • pkg/exporters/http_exporter.go
  • pkg/fimmanager/fim_manager.go
  • pkg/hostfimsensor/v1/filetree/comparator.go
  • pkg/hostfimsensor/v1/filetree/filetree.go
  • pkg/hostfimsensor/v1/fimsensor_fanotify.go
  • pkg/hostfimsensor/v1/fimsensor_fanotify_test.go
  • pkg/hostfimsensor/v1/fimsensor_periodic_test.go
  • pkg/hostfimsensor/v1/fimsensor_test.go
  • pkg/hostsensormanager/crd_client.go
  • pkg/hostsensormanager/sensor_cloudprovider.go
  • pkg/hostsensormanager/sensor_cni.go
  • pkg/hostsensormanager/sensor_controlplane.go
  • pkg/hostsensormanager/sensor_kernelvars.go
  • pkg/hostsensormanager/sensor_kernelversion.go
  • pkg/hostsensormanager/sensor_kubelet.go
  • pkg/hostsensormanager/sensor_kubeproxy.go
  • pkg/hostsensormanager/sensor_network.go
  • pkg/hostsensormanager/sensor_osrelease.go
  • pkg/hostsensormanager/sensor_security.go
  • pkg/hostsensormanager/types.go
  • pkg/k8sclient/k8sclient_mock.go
  • pkg/metricsmanager/otel/resource_metrics.go
  • pkg/networkstream/v1/network_stream.go
  • pkg/networkstream/v1/wire_test.go
  • pkg/nodeprofilemanager/nodeprofile_manager_interface.go
  • pkg/nodeprofilemanager/v1/nodeprofile_manager.go
  • pkg/nodeprofilemanager/v1/nodeprofile_manager_test.go
  • pkg/objectcache/callstackcache/callstackcache_test.go
  • pkg/objectcache/containerprofilecache/authored_container_section_test.go
  • pkg/objectcache/containerprofilecache/containerprofilecache.go
  • pkg/objectcache/containerprofilecache/containerprofilecache_test.go
  • pkg/objectcache/containerprofilecache/init_eviction_test.go
  • pkg/objectcache/containerprofilecache/integration_helpers_test.go
  • pkg/objectcache/containerprofilecache/lock_stress_test.go
  • pkg/objectcache/containerprofilecache/projection_apply_test.go
  • pkg/objectcache/containerprofilecache/projection_golden_test.go
  • pkg/objectcache/containerprofilecache/reconciler_checksum_test.go
  • pkg/objectcache/containerprofilecache/reconciler_ephemeral_test.go
  • pkg/objectcache/containerprofilecache/reconciler_notfound_test.go
  • pkg/objectcache/containerprofilecache/reconciler_test.go
  • pkg/objectcache/containerprofilecache/resolve_authored_section_test.go
  • pkg/objectcache/containerprofilecache/shared_pointer_race_test.go
  • pkg/objectcache/shared_container_data.go
  • pkg/objectcache/shared_container_data_ephemeral_test.go
  • pkg/otelsetup/otelsetup_test.go
  • pkg/processtree/creator/exit_manager_lifecycle_test.go
  • pkg/processtree/creator/exit_manager_test.go
  • pkg/processtree/creator/processtree_creator.go
  • pkg/processtree/creator/processtree_creator_test.go
  • pkg/processtree/creator/starttime_test.go
  • pkg/processtree/errors.go
  • pkg/processtree/feeder/procfs_feeder.go
  • pkg/processtree/feeder/procfs_feeder_test.go
  • pkg/resourcelocks/resourcelocks_test.go
  • pkg/rulebindingmanager/cache/cache_test.go
  • pkg/rulebindingmanager/cache/helpers_test.go
  • pkg/rulebindingmanager/types/v1/types.go
  • pkg/rulemanager/cel/cel.go
  • pkg/rulemanager/cel/cel_interface.go
  • pkg/rulemanager/cel/cel_tty_test.go
  • pkg/rulemanager/cel/libraries/cache/function_cache.go
  • pkg/rulemanager/cel/libraries/celparse/parseargs.go
  • pkg/rulemanager/cel/libraries/containerprofile/cache_test.go
  • pkg/rulemanager/cel/libraries/containerprofile/capability_test.go
  • pkg/rulemanager/cel/libraries/containerprofile/containerprofile.go
  • pkg/rulemanager/cel/libraries/containerprofile/containerprofile_test.go
  • pkg/rulemanager/cel/libraries/containerprofile/exec.go
  • pkg/rulemanager/cel/libraries/containerprofile/exec_test.go
  • pkg/rulemanager/cel/libraries/containerprofile/integration_test.go
  • pkg/rulemanager/cel/libraries/containerprofile/legacy_test.go
  • pkg/rulemanager/cel/libraries/containerprofile/open_test.go
  • pkg/rulemanager/cel/libraries/containerprofile/path_match.go
  • pkg/rulemanager/cel/libraries/containerprofile/prestop_cache_test.go
  • pkg/rulemanager/cel/libraries/containerprofile/syscall_test.go
  • pkg/rulemanager/cel/libraries/containerprofilenetwork/cache_test.go
  • pkg/rulemanager/cel/libraries/containerprofilenetwork/containerprofilenetwork.go
  • pkg/rulemanager/cel/libraries/containerprofilenetwork/fixtures_test.go
  • pkg/rulemanager/cel/libraries/containerprofilenetwork/integration_test.go
  • pkg/rulemanager/cel/libraries/containerprofilenetwork/legacy_test.go
  • pkg/rulemanager/cel/libraries/containerprofilenetwork/network_test.go
  • pkg/rulemanager/cel/libraries/containerprofilenetwork/wildcard_test.go
  • pkg/rulemanager/cel/libraries/k8s/k8s.go
  • pkg/rulemanager/cel/libraries/k8s/k8s_test.go
  • pkg/rulemanager/cel/libraries/net/net_test.go
  • pkg/rulemanager/cel/libraries/net/netlib.go
  • pkg/rulemanager/cel/libraries/parse/default_rules_yaml_lint_test.go
  • pkg/rulemanager/cel/libraries/parse/integration_test.go
  • pkg/rulemanager/cel/libraries/parse/parselib.go
  • pkg/rulemanager/cel/libraries/parse/parsing_test.go
  • pkg/rulemanager/cel/libraries/process/process.go
  • pkg/rulemanager/cel/libraries/process/process_test.go
  • pkg/rulemanager/cel/libraries/process/processlib.go
  • pkg/rulemanager/prefilter/prefilter.go
  • pkg/rulemanager/prefilter/prefilter_test.go
  • pkg/rulemanager/rule_manager.go
  • pkg/rulemanager/ruleadapters/adapters/bpf.go
  • pkg/rulemanager/ruleadapters/adapters/capabilities.go
  • pkg/rulemanager/ruleadapters/adapters/dns.go
  • pkg/rulemanager/ruleadapters/adapters/exec.go
  • pkg/rulemanager/ruleadapters/adapters/hardlink.go
  • pkg/rulemanager/ruleadapters/adapters/http.go
  • pkg/rulemanager/ruleadapters/adapters/iouring.go
  • pkg/rulemanager/ruleadapters/adapters/kmod.go
  • pkg/rulemanager/ruleadapters/adapters/network.go
  • pkg/rulemanager/ruleadapters/adapters/open.go
  • pkg/rulemanager/ruleadapters/adapters/procfs.go
  • pkg/rulemanager/ruleadapters/adapters/randomx.go
  • pkg/rulemanager/ruleadapters/adapters/ssh.go
  • pkg/rulemanager/ruleadapters/adapters/symlink.go
  • pkg/rulemanager/ruleadapters/adapters/syscall.go
  • pkg/rulemanager/ruleadapters/adapters/unshare.go
  • pkg/rulemanager/ruleadapters/creator.go
  • pkg/rulemanager/rulecooldown/rulecooldown_test.go
  • pkg/rulemanager/rulepolicy_test.go
  • pkg/rulemanager/types/failure.go
  • pkg/rulemanager/types/v1/doc_exec_tty_test.go
  • pkg/rulemanager/types/v1/profiledata.go
  • pkg/rulemanager/types/v1/types.go
  • pkg/sbommanager/v1/sbom_manager.go
  • pkg/sbommanager/v1/sbom_manager_sharedwait_test.go
  • pkg/sbomscanner/v1/client.go
  • pkg/sbomscanner/v1/server.go
  • pkg/sbomscanner/v1/types.go
  • pkg/seccompmanager/v1/seccomp_manager_test.go
  • pkg/storage/v1/seccompprofile.go
  • pkg/storage/v1/seccompprofile_crd.go
  • pkg/storage/v1/seccompprofile_test.go
  • pkg/storage/v1/storage_test.go
  • pkg/utils/datasource_event.go
  • pkg/utils/datasource_event_tty_test.go
  • pkg/utils/events.go
  • pkg/utils/events_test.go
  • pkg/utils/k8s.go
  • pkg/utils/struct_event.go
  • pkg/utils/time.go
  • pkg/watcher/seccompprofilewatcher/seccompprofilewatcher_test.go
  • tests/resources/network_fixture_lint_test.go
  • tests/testutils/k8s.go
  • tests/testutils/prometheus.go
  • tests/testutils/utils.go

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
@github-actions

Copy link
Copy Markdown

Performance Benchmark Results

Node-Agent Resource Usage
Metric BEFORE AFTER Delta
Avg CPU (cores) 0.152 0.144 -4.6%
Peak CPU (cores) 0.158 0.150 -4.9%
Peak CPU p95 (cores) 0.157 0.150 -4.6%
Avg Memory (MiB) 391.765 310.490 -20.7%
Peak Memory (MiB) 393.492 313.133 -20.4%
Dedup Effectiveness

No data available.

@matthyx matthyx added the release Create release label Sep 11, 2026
@matthyx
matthyx merged commit 732c1ba into main Sep 11, 2026
23 of 40 checks passed
@matthyx
matthyx deleted the chore/go-1.27-migration branch September 11, 2026 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Create release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant