opentelemetry-go-build-tools

Build tools for use by the Go API/SDK, the collector, and their associated
contrib repositories
Contributing
Tools
This repository provides tooling for OpenTelemetry Go projects. Below are
overviews and examples of each provided tools:
gotmpl
generates files from Go templates and JSON data.
gotmpl --body=template.tmpl --data='{"key":"value"}' --out=output.go
gotmpl
is designed to be used with go generate
to generate code or
configuration files from templates.
Generates an issue if any test fails in CI.
Generates a CHANGELOG
file from individual change YAML files.
chloggen new -filename <filename>
chloggen validate
chloggen update -dry
chloggen update -version <version>
Analyzes a Go module's API surface and enforces restrictions.
checkapi -folder . -config config.yaml
Manages multiple go.mod
files and intra-repository dependencies.
crosslink --root=/path/to/repo
crosslink prune
crosslink --root=/path/to/repo --prune
crosslink --root=/path/to/repo --overwrite
crosslink work --root=/path/to/repo
Checks that components in OpenTelemetry core and contrib repos contain a
required file.
checkfile --project-path path/to/project \
--component-rel-path service/defaultcomponents/defaults.go \
--module-name go.opentelemetry.io/collector \
--file-name README.md
Generates .github/CODEOWNERS
and .github/ALLOWLIST
files.
githubgen --skipgithub --folder . --github-org "open-telemetry" \
--default-codeowner open-telemetry/opentelemetry-collector-approvers \
--allowlist cmd/githubgen/allowlist.txt
To authenticate for GitHub API, set a GITHUB_TOKEN
environment variable.
dbotconf
is a Go-based tool for management of dependabot configuration. It
provides the generate
and verify
commands to create and validate
dependabot configuration files.
dbotconf generate
dbotconf verify
Tooling to support versioning of multiple Go modules in a repository.
./multimod verify
./multimod prerelease --module-set-name <name>
./multimod tag --commit-hash <hash>