update-go-version

Propagate a detected Go version across Tempo modules, Dockerfiles, and CI workflows.

5.4k|739|Updated Jan 24, 2020
One-click install
npx skills add https://github.com/grafana/tempo --skill update-go-version-grafana
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: update-go-version
Source: https://github.com/grafana/tempo/tree/main/.claude/skills/update-go-version
Command: npx skills add https://github.com/grafana/tempo --skill update-go-version-grafana

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill updates and synchronizes the Go version across the Tempo codebase, ensuring all relevant files reflect the same X.Y.Z to prevent build and compatibility issues.

Core Features & Use Cases

  • Cross-file synchronization: Propagates a detected Go version to go.mod, tools/go.mod, Dockerfile, CI workflows, and the tools image tag.
  • Consistency guarantees: Maintains uniform Go version across main and tools modules and the build tooling.
  • Use Case: When upgrading Go for Tempo, run this skill to update all references in the repository and verify a clean build.

Quick Start

Invoke with /update-go-version to propagate the detected Go version across go.mod, tools/go.mod, Dockerfile, and CI workflows.

Frequently Asked Questions about update-go-version

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I update the Go version across a Tempo codebase?

To update the Go version across a Tempo codebase, propagate the detected version to go.mod, tools/go.mod, Dockerfiles, and CI workflows to ensure all modules and tooling remain in sync and prevent build issues.

What files need to be modified when upgrading Go in Tempo?

When upgrading Go in Tempo, you must modify go.mod, tools/go.mod, tools/Dockerfile, build/tools.mk, and related CI workflow files to maintain uniform compilation and build tooling compatibility.

How does cross-file Go version synchronization work in Tempo?

Cross-file Go version synchronization reads the target version from tools/Dockerfile, updates the go.mod directives, updates the TOOLS_IMAGE_TAG in build/tools.mk, and validates the compilation using make vendor and make build.

Why do my Tempo builds fail after a Go version upgrade?

Tempo builds fail after a Go version upgrade when files like go.mod, tools/go.mod, or CI workflows are not synchronized to the same X.Y.Z version, causing dependency mismatches and tooling incompatibilities.

Can I use this to sync Go versions in both main and tools modules?

Yes, you can use this to sync Go versions by updating both the main and tools modules, ensuring the Dockerfile, CI workflows, and tools image tag all reflect the same Go version to maintain consistency.

Do I need to run make build after updating the Go version in go.mod?

Yes, you need to run make vendor and make build after updating the Go version in go.mod to validate compilation and ensure the new version does not introduce any build or dependency errors.