Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Update proto definitions to v1.4.0 #2

Closed
wants to merge 93 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
bceaa97
Bump otel/build-protobuf from 0.11.0 to 0.15.1 (#94)
MrAlias Mar 17, 2023
8cf745e
Update Clean Generation check (#103)
MrAlias Mar 17, 2023
39ff40b
Bump go.opentelemetry.io/build-tools/dbotconf in /internal/tools (#96)
dependabot[bot] Mar 17, 2023
b4e102b
Bump go.opentelemetry.io/build-tools/multimod in /internal/tools (#97)
dependabot[bot] Mar 17, 2023
a851186
Bump actions/setup-go from 3 to 4 (#104)
dependabot[bot] Mar 20, 2023
99c7642
Upgrade otel/build-protobuf from 0.15.1 to 0.19.0 (#109)
MrAlias Jun 5, 2023
dfa040f
Bump go.opentelemetry.io/build-tools/dbotconf in /internal/tools (#113)
dependabot[bot] Jun 5, 2023
f2c44e9
Bump go.opentelemetry.io/build-tools/multimod in /internal/tools (#112)
dependabot[bot] Jun 5, 2023
dee11b2
Release v0.20.0 (#114)
pellared Jun 7, 2023
c0e69ea
Bump google.golang.org/grpc from 1.55.0 to 1.56.1 in /otlp (#117)
dependabot[bot] Jun 26, 2023
70d3952
[chore] Simplify releasing (#115)
pellared Jun 26, 2023
d71a3a2
Bump google.golang.org/protobuf from 1.30.0 to 1.31.0 in /otlp (#118)
dependabot[bot] Jul 3, 2023
f10b42b
Bump google.golang.org/grpc from 1.56.1 to 1.56.2 in /otlp (#119)
dependabot[bot] Jul 13, 2023
97744b2
Release v1.0.0 (#120)
pellared Jul 14, 2023
49a2af9
Bump go.opentelemetry.io/build-tools/multimod in /internal/tools (#122)
dependabot[bot] Jul 17, 2023
9335e2c
Bump go.opentelemetry.io/build-tools/dbotconf in /internal/tools (#121)
dependabot[bot] Jul 17, 2023
00339a0
Bump github.com/grpc-ecosystem/grpc-gateway/v2 in /otlp (#123)
dependabot[bot] Jul 30, 2023
d6773ed
Bump go.opentelemetry.io/build-tools/dbotconf in /internal/tools (#126)
dependabot[bot] Jul 30, 2023
3435772
Bump go.opentelemetry.io/build-tools/multimod in /internal/tools (#125)
dependabot[bot] Jul 30, 2023
e2adbeb
Bump go.opentelemetry.io/build-tools/multimod in /internal/tools (#127)
dependabot[bot] Aug 7, 2023
2c5db53
Bump go.opentelemetry.io/build-tools/dbotconf in /internal/tools (#128)
dependabot[bot] Aug 7, 2023
940017d
Bump github.com/grpc-ecosystem/grpc-gateway/v2 in /otlp (#129)
dependabot[bot] Sep 4, 2023
ce1cb0e
Bump github.com/grpc-ecosystem/grpc-gateway/v2 in /otlp (#131)
dependabot[bot] Sep 11, 2023
ab94462
Bump actions/checkout from 3 to 4 (#130)
dependabot[bot] Sep 11, 2023
4706955
Bump google.golang.org/grpc from 1.58.0 to 1.58.1 in /otlp (#133)
dependabot[bot] Sep 18, 2023
aad0eab
Bump google.golang.org/grpc from 1.58.1 to 1.58.2 in /otlp (#134)
dependabot[bot] Sep 25, 2023
bcad0b3
Bump go.opentelemetry.io/build-tools/dbotconf in /internal/tools (#136)
dependabot[bot] Oct 2, 2023
fa97d89
Bump go.opentelemetry.io/build-tools/multimod in /internal/tools (#135)
dependabot[bot] Oct 2, 2023
39cf556
Bump golang.org/x/net from 0.15.0 to 0.17.0 in /otlp (#137)
dependabot[bot] Oct 16, 2023
e733d33
Bump google.golang.org/grpc from 1.58.2 to 1.58.3 in /otlp (#138)
dependabot[bot] Oct 16, 2023
f0427ac
Bump google.golang.org/grpc from 1.58.3 to 1.59.0 in /otlp (#140)
dependabot[bot] Oct 23, 2023
0e2da56
Bump github.com/grpc-ecosystem/grpc-gateway/v2 in /otlp (#141)
dependabot[bot] Nov 13, 2023
e266013
Bump actions/setup-go from 4 to 5 (#143)
dependabot[bot] Dec 10, 2023
000a111
Bump google.golang.org/grpc from 1.59.0 to 1.60.0 in /otlp (#144)
dependabot[bot] Dec 17, 2023
00ede97
Bump google.golang.org/grpc from 1.60.0 to 1.60.1 in /otlp (#146)
dependabot[bot] Jan 10, 2024
5bf6d5c
Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 in /otlp (#145)
dependabot[bot] Jan 10, 2024
38e397e
Bump github.com/grpc-ecosystem/grpc-gateway/v2 in /otlp (#147)
dependabot[bot] Jan 10, 2024
abdbec7
Update otel/build-protobuf 0.19.0->0.23.0 (#148)
MrAlias Jan 12, 2024
64639f4
Update to v1.1.0 release of proto (#149)
MrAlias Jan 12, 2024
8791df8
Release v1.1.0 (#150)
MrAlias Jan 16, 2024
1273065
Bump google.golang.org/grpc from 1.60.1 to 1.61.0 in /otlp (#151)
dependabot[bot] Jan 28, 2024
985478f
Bump github.com/grpc-ecosystem/grpc-gateway/v2 in /otlp (#152)
dependabot[bot] Feb 7, 2024
23e75dc
Bump google.golang.org/grpc from 1.61.0 to 1.61.1 in /otlp (#153)
dependabot[bot] Feb 19, 2024
1c3ab70
Bump google.golang.org/grpc from 1.61.1 to 1.62.0 in /otlp (#156)
dependabot[bot] Feb 26, 2024
9c41917
Bump go.opentelemetry.io/build-tools/multimod in /internal/tools (#158)
dependabot[bot] Mar 4, 2024
ed808a7
Bump go.opentelemetry.io/build-tools/dbotconf in /internal/tools (#157)
dependabot[bot] Mar 4, 2024
843429e
Add slim Go module without gRPC dependencies (#155)
pellared Mar 11, 2024
4dc729c
Add slim/otlp Go module to dependabot (#161)
pellared Mar 11, 2024
4f5473e
Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /slim/otlp (…
dependabot[bot] Mar 11, 2024
a9949a1
Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /otlp (#159)
dependabot[bot] Mar 11, 2024
dc175f2
Bump google.golang.org/grpc from 1.62.0 to 1.62.1 in /otlp (#160)
dependabot[bot] Mar 11, 2024
3b0a375
Bump google.golang.org/grpc from 1.62.1 to 1.63.0 in /otlp (#164)
dependabot[bot] Apr 7, 2024
31ff7ed
Release v1.2.0 (#163)
MrAlias Apr 8, 2024
1668ce3
Bump google.golang.org/protobuf from 1.33.0 to 1.34.0 in /otlp (#168)
dependabot[bot] May 6, 2024
4055d99
Bump google.golang.org/protobuf from 1.33.0 to 1.34.0 in /slim/otlp (…
dependabot[bot] May 6, 2024
af7b8fb
Bump google.golang.org/grpc from 1.63.0 to 1.63.2 in /otlp (#165)
dependabot[bot] May 6, 2024
cfa3298
Add Versioning Policy to README (#167)
florianl May 9, 2024
549cd09
Bump google.golang.org/protobuf from 1.34.0 to 1.34.1 in /slim/otlp (…
dependabot[bot] May 13, 2024
f1398ea
Bump google.golang.org/protobuf from 1.34.0 to 1.34.1 in /otlp (#172)
dependabot[bot] May 13, 2024
7dff8c9
Bump golang.org/x/net from 0.21.0 to 0.23.0 in /otlp (#173)
dependabot[bot] May 14, 2024
7586915
Bump google.golang.org/grpc from 1.63.2 to 1.64.0 in /otlp (#174)
dependabot[bot] May 20, 2024
4ef95d5
Bump github.com/grpc-ecosystem/grpc-gateway/v2 in /otlp (#175)
dependabot[bot] May 20, 2024
fef4f4c
Explain stability guarantees for experimental packages (#177)
MrAlias Jun 11, 2024
a300cca
Release v1.3.1 (#170)
florianl Jun 11, 2024
c8eb026
Bump google.golang.org/protobuf from 1.34.1 to 1.34.2 in /otlp (#179)
dependabot[bot] Jun 17, 2024
67633fb
Bump google.golang.org/protobuf from 1.34.1 to 1.34.2 in /slim/otlp (…
dependabot[bot] Jun 17, 2024
1096415
Bump google.golang.org/grpc from 1.64.0 to 1.65.0 in /otlp (#180)
dependabot[bot] Jul 8, 2024
777f701
Bump go.opentelemetry.io/build-tools/multimod in /internal/tools (#182)
dependabot[bot] Jul 15, 2024
804368e
Bump go.opentelemetry.io/build-tools/dbotconf in /internal/tools (#181)
dependabot[bot] Jul 15, 2024
04c94d9
Bump github.com/grpc-ecosystem/grpc-gateway/v2 in /otlp (#184)
dependabot[bot] Jul 29, 2024
0a67fa3
Bump github.com/grpc-ecosystem/grpc-gateway/v2 in /otlp (#185)
dependabot[bot] Aug 19, 2024
b5eb0a6
Bump google.golang.org/protobuf from 1.34.2 to 1.35.1 in /otlp (#186)
dependabot[bot] Oct 16, 2024
53975ec
Bump google.golang.org/protobuf from 1.34.2 to 1.35.1 in /slim/otlp (…
dependabot[bot] Oct 16, 2024
2f4facf
Bump github.com/grpc-ecosystem/grpc-gateway/v2 in /otlp (#188)
dependabot[bot] Nov 4, 2024
e69c61d
Bump google.golang.org/protobuf from 1.35.1 to 1.35.2 in /otlp (#191)
dependabot[bot] Nov 18, 2024
53bebda
Bump google.golang.org/protobuf from 1.35.1 to 1.35.2 in /slim/otlp (…
dependabot[bot] Nov 18, 2024
34957a5
Switch from dependabot to renovate (#196)
dmathieu Nov 26, 2024
ad54459
Document and test supported versions of Go (#205)
dmathieu Nov 28, 2024
7ac4801
Prevent the use of toolchain in go.mod (#202)
dmathieu Nov 28, 2024
9130231
Update module go.opentelemetry.io/build-tools/multimod to v0.15.0 (#201)
renovate[bot] Nov 28, 2024
c9ca953
Update module golang.org/x/text to v0.20.0 (#206)
renovate[bot] Nov 28, 2024
86bea3e
Update google.golang.org/genproto/googleapis/rpc digest to e639e21 (#…
renovate[bot] Nov 28, 2024
c0d2f82
Update module golang.org/x/net to v0.31.0 (#203)
renovate[bot] Nov 28, 2024
caac6f4
Update google.golang.org/genproto/googleapis/api digest to e639e21 (#…
renovate[bot] Nov 28, 2024
4073945
Update module github.com/grpc-ecosystem/grpc-gateway/v2 to v2.24.0 (#…
renovate[bot] Nov 28, 2024
e4eca26
Remove compat from go mod tidy (#213)
florianl Nov 28, 2024
f83a33f
clean the gen folder before running tidy (#211)
dmathieu Nov 28, 2024
c1b3008
Don't run clean-gen twice (#214)
dmathieu Nov 28, 2024
158176a
Upgrade proto to v1.4.0 (#193)
florianl Dec 2, 2024
f13cf94
update otlp submodule to 1.4.0
MikeGoldsmith Dec 12, 2024
7e3bdb1
Merge tag 'v1.4.0' of github.com:open-telemetry/opentelemetry-proto-g…
MikeGoldsmith Dec 12, 2024
7786c46
re-generate go files using updated proto definitions
MikeGoldsmith Dec 12, 2024
63c7f7f
fix makefile formatting
MikeGoldsmith Dec 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 0 additions & 39 deletions .github/dependabot.yml

This file was deleted.

53 changes: 53 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: CI
on:
push:
branches:
- main
pull_request:
env:
DEFAULT_GO_VERSION: "~1.23.0"
jobs:
generate-and-check:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.DEFAULT_GO_VERSION }}
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: Generate
run: make clean protobuf
- name: Check
run: make toolchain-check check-clean-work-tree
compatibility-test:
strategy:
matrix:
go-version: ["~1.23.0", "~1.22.4"]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: true
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
check-latest: true
cache-dependency-path: "**/go.sum"
- name: Generate
run: make clean protobuf go-mod-tidy
- name: Run tests
run: make test
test-compatibility:
runs-on: ubuntu-latest
needs: [compatibility-test]
if: always()
steps:
- name: Test if compatibility-test workflow passed
run: |
echo ${{ needs.compatibility-test.result }}
test ${{ needs.compatibility-test.result }} == "success"
13 changes: 0 additions & 13 deletions .github/workflows/dependabot-check.yaml

This file was deleted.

22 changes: 0 additions & 22 deletions .github/workflows/gen-check.yaml

This file was deleted.

116 changes: 85 additions & 31 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
PROTOC_VERSION := 3.14.0

TOOLS_MOD_DIR := ./internal/tools
PROTOBUF_VERSION := v1
PROTOBUF_VERSION := v1*
OTEL_PROTO_SUBMODULE := opentelemetry-proto
GEN_TEMP_DIR := gen
SUBMODULE_PROTO_FILES := $(wildcard $(OTEL_PROTO_SUBMODULE)/opentelemetry/proto/*/$(PROTOBUF_VERSION)/*.proto) $(wildcard $(OTEL_PROTO_SUBMODULE)/opentelemetry/proto/collector/*/$(PROTOBUF_VERSION)/*.proto)
Expand All @@ -36,14 +36,23 @@ ifeq ($(strip $(SUBMODULE_PROTO_FILES)),)
$(error Submodule at $(OTEL_PROTO_SUBMODULE) is not checked out, use "git submodule update --init")
endif

GO := go
PROTOBUF_GEN_DIR := opentelemetry-proto-gen
PROTOBUF_TEMP_DIR := $(GEN_TEMP_DIR)/go
GO := go
GO_MOD_ROOT := github.com/honeycombio/opentelemetry-proto-go
ALL_GO_MOD_DIRS := $(shell find . -type f -name 'go.mod' -exec dirname {} \; | sort)
ALL_GO_SUB_MOD_DIRS := $(shell find . -type f -name 'go.mod' -mindepth 2 -exec dirname {} \; | sort)
OTEL_GO_MOD_DIRS := $(filter-out $(TOOLS_MOD_DIR), $(ALL_GO_SUB_MOD_DIRS))
TIMEOUT = 60

PROTOBUF_GEN_DIR := opentelemetry-proto-gen
PROTOBUF_TEMP_DIR := $(GEN_TEMP_DIR)/go

PROTO_SOURCE_DIR := $(GEN_TEMP_DIR)/proto
SOURCE_PROTO_FILES := $(subst $(OTEL_PROTO_SUBMODULE),$(PROTO_SOURCE_DIR),$(SUBMODULE_PROTO_FILES))
GO_MOD_ROOT := github.com/honeycombio/opentelemetry-proto-go
OTLP_OUTPUT_DIR := otlp
GO_VERSION := 1.17

PROTOSLIM_SOURCE_DIR := $(GEN_TEMP_DIR)/slim/proto
SOURCE_PROTOSLIM_FILES := $(subst $(OTEL_PROTO_SUBMODULE),$(PROTOSLIM_SOURCE_DIR),$(SUBMODULE_PROTO_FILES))
OTLPSLIM_OUTPUT_DIR := slim/otlp

# Function to execute a command. Note the empty line before endef to make sure each command
# gets executed separately instead of concatenated with previous one.
Expand All @@ -55,6 +64,7 @@ endef

OTEL_DOCKER_PROTOBUF ?= otel/build-protobuf:0.24.0
PROTOC := docker run --rm -u ${shell id -u} -v${PWD}:${PWD} -w${PWD} ${OTEL_DOCKER_PROTOBUF} --proto_path="$(PROTO_SOURCE_DIR)"
PROTOC_SLIM := docker run --rm -u ${shell id -u} -v${PWD}:${PWD} -w${PWD} ${OTEL_DOCKER_PROTOBUF} --proto_path="$(PROTOSLIM_SOURCE_DIR)"

.DEFAULT_GOAL := protobuf

Expand All @@ -71,14 +81,11 @@ $(TOOLS)/%: | $(TOOLS)
MULTIMOD = $(TOOLS)/multimod
$(TOOLS)/multimod: PACKAGE=go.opentelemetry.io/build-tools/multimod

DBOTCONF = $(TOOLS)/dbotconf
$(TOOLS)/dbotconf: PACKAGE=go.opentelemetry.io/build-tools/dbotconf

.PHONY: tools
tools: $(DBOTCONF) $(MULTIMOD)
tools: $(MULTIMOD)

.PHONY: protobuf
protobuf: protobuf-source gen-otlp-protobuf copy-otlp-protobuf
protobuf: protobuf-source gen-otlp-protobuf copy-otlp-protobuf gen-otlp-protobuf-slim copy-otlp-protobuf-slim

.PHONY: protobuf-source
protobuf-source: $(SOURCE_PROTO_FILES)
Expand All @@ -96,6 +103,19 @@ $(PROTO_SOURCE_DIR)/%.proto: $(OTEL_PROTO_SUBMODULE)/%.proto
sed -e $(SED_EXPR) "$<" >"[email protected]"; \
mv "[email protected]" "$@"

# The sed expression for replacing the go_package option in proto
# file with a one that's valid for us.
SED_EXPR_SLIM := 's,go_package = "go.opentelemetry.io/proto/otlp/,go_package = "$(GO_MOD_ROOT)/$(OTLPSLIM_OUTPUT_DIR)/,'

# This copies proto files from submodule into $(PROTO_SOURCE_DIR),
# thus satisfying the $(SOURCE_PROTOSLIM_FILES) prerequisite. The copies
# have their package name replaced by go.opentelemetry.io/proto.
$(PROTOSLIM_SOURCE_DIR)/%.proto: $(OTEL_PROTO_SUBMODULE)/%.proto
@ \
mkdir -p $(@D); \
sed -e $(SED_EXPR_SLIM) "$<" >"[email protected]"; \
mv "[email protected]" "$@"

.PHONY: gen-otlp-protobuf
gen-otlp-protobuf: $(SOURCE_PROTO_FILES)
rm -rf ./$(PROTOBUF_TEMP_DIR)
Expand All @@ -104,21 +124,60 @@ gen-otlp-protobuf: $(SOURCE_PROTO_FILES)
$(PROTOC) --grpc-gateway_out=logtostderr=true,grpc_api_configuration=$(OTEL_PROTO_SUBMODULE)/opentelemetry/proto/collector/trace/v1/trace_service_http.yaml:./$(PROTOBUF_TEMP_DIR) --go_out=./$(PROTOBUF_TEMP_DIR) --go-grpc_out=./$(PROTOBUF_TEMP_DIR) $(PROTO_SOURCE_DIR)/opentelemetry/proto/collector/trace/v1/trace_service.proto
$(PROTOC) --grpc-gateway_out=logtostderr=true,grpc_api_configuration=$(OTEL_PROTO_SUBMODULE)/opentelemetry/proto/collector/metrics/v1/metrics_service_http.yaml:./$(PROTOBUF_TEMP_DIR) --go_out=./$(PROTOBUF_TEMP_DIR) --go-grpc_out=./$(PROTOBUF_TEMP_DIR) $(PROTO_SOURCE_DIR)/opentelemetry/proto/collector/metrics/v1/metrics_service.proto
$(PROTOC) --grpc-gateway_out=logtostderr=true,grpc_api_configuration=$(OTEL_PROTO_SUBMODULE)/opentelemetry/proto/collector/logs/v1/logs_service_http.yaml:./$(PROTOBUF_TEMP_DIR) --go_out=./$(PROTOBUF_TEMP_DIR) --go-grpc_out=./$(PROTOBUF_TEMP_DIR) $(PROTO_SOURCE_DIR)/opentelemetry/proto/collector/logs/v1/logs_service.proto
$(PROTOC) --grpc-gateway_out=logtostderr=true,grpc_api_configuration=$(OTEL_PROTO_SUBMODULE)/opentelemetry/proto/collector/profiles/v1development/profiles_service_http.yaml:./$(PROTOBUF_TEMP_DIR) --go_out=./$(PROTOBUF_TEMP_DIR) --go-grpc_out=./$(PROTOBUF_TEMP_DIR) $(PROTO_SOURCE_DIR)/opentelemetry/proto/collector/profiles/v1development/profiles_service.proto


.PHONY: copy-otlp-protobuf
copy-otlp-protobuf:
rm -rf ./$(OTLP_OUTPUT_DIR)
mkdir -p ./$(OTLP_OUTPUT_DIR)
rm -rf ./$(OTLP_OUTPUT_DIR)/*/
@rsync -a $(PROTOBUF_TEMP_DIR)/go.opentelemetry.io/proto/otlp/ ./$(OTLP_OUTPUT_DIR)
cd ./$(OTLP_OUTPUT_DIR) \
&& go mod init $(GO_MOD_ROOT)/$(OTLP_OUTPUT_DIR) \
&& go mod edit -go=$(GO_VERSION) \
&& go mod tidy
cd ./$(OTLP_OUTPUT_DIR) && go mod tidy

.PHONY: gen-otlp-protobuf-slim
gen-otlp-protobuf-slim: $(SOURCE_PROTOSLIM_FILES)
rm -rf ./$(PROTOBUF_TEMP_DIR)
mkdir -p ./$(PROTOBUF_TEMP_DIR)
$(foreach file,$(SOURCE_PROTOSLIM_FILES),$(call exec-command,$(PROTOC_SLIM) $(PROTO_INCLUDES) --go_out=./$(PROTOBUF_TEMP_DIR) $(file)))

.PHONY: copy-otlp-protobuf-slim
copy-otlp-protobuf-slim:
rm -rf $(OTLPSLIM_OUTPUT_DIR)/*/
@rsync -a $(PROTOBUF_TEMP_DIR)/go.opentelemetry.io/proto/slim/otlp/ ./$(OTLPSLIM_OUTPUT_DIR)
cd ./$(OTLPSLIM_OUTPUT_DIR) && go mod tidy

.PHONY: toolchain-check
toolchain-check:
@toolchainRes=$$(for f in $(ALL_GO_MOD_DIRS); do \
awk '/^toolchain/ { found=1; next } END { if (found) print FILENAME }' $$f/go.mod; \
done); \
if [ -n "$${toolchainRes}" ]; then \
echo "toolchain checking failed:"; echo "$${toolchainRes}"; \
exit 1; \
fi

.PHONY: clean-gen
clean-gen:
rm -rf $(GEN_TEMP_DIR)

.PHONY: clean
clean:
rm -rf $(GEN_TEMP_DIR) $(OTLP_OUTPUT_DIR)
rm -rf $(GEN_TEMP_DIR)
rm -rf $(OTLP_OUTPUT_DIR)/*/ $(OTLPSLIM_OUTPUT_DIR)/*/

.PHONY: go-mod-tidy
go-mod-tidy: clean-gen $(ALL_GO_MOD_DIRS:%=go-mod-tidy/%)
go-mod-tidy/%: DIR=$*
go-mod-tidy/%:
@echo "$(GO) mod tidy in $(DIR)" \
&& cd $(DIR) \
&& $(GO) mod tidy

test: $(OTEL_GO_MOD_DIRS:%=test/%)
test/%: DIR=$*
test/%:
@echo "$(GO) test -timeout $(TIMEOUT)s $(ARGS) $(DIR)/..." \
&& cd $(DIR) \
&& $(GO) test -timeout $(TIMEOUT)s $(ARGS) ./...

.PHONY: check-clean-work-tree
check-clean-work-tree:
Expand All @@ -130,15 +189,6 @@ check-clean-work-tree:
exit 1; \
fi

DEPENDABOT_CONFIG = .github/dependabot.yml
.PHONY: dependabot-check
dependabot-check: | $(DBOTCONF)
@$(DBOTCONF) verify $(DEPENDABOT_CONFIG) || printf "\n(run: make dependabot-generate)\n"

.PHONY: dependabot-generate
dependabot-generate: | $(DBOTCONF)
@$(DBOTCONF) generate > $(DEPENDABOT_CONFIG)

# Releasing

.PHONY: submodule-version
Expand All @@ -159,7 +209,11 @@ verify-versions: | $(MULTIMOD)
$(MULTIMOD) verify

COMMIT ?= "HEAD"
.PHONY: add-tags
add-tags: | $(MULTIMOD)
@[ "${MODSET}" ] || ( echo "MODSET unset: set to taget module set from versions.yaml"; exit 1 )
$(MULTIMOD) verify && $(MULTIMOD) tag -m ${MODSET} -c ${COMMIT}
REMOTE ?= upstream
.PHONY: push-tags
push-tags: | $(MULTIMOD)
$(MULTIMOD) verify
set -e; for tag in `$(MULTIMOD) tag -m all -c ${COMMIT} --print-tags | grep -v "Using" `; do \
echo "pushing tag $${tag}"; \
git push ${REMOTE} $${tag}; \
done;
48 changes: 47 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,26 @@ This is a modified version of the Go OpenTelemtry protobuf files to re-add depre
You should not depend on this module directly but instead use a replace in your go.mod to swap out the official proto package with this one like this:

```golang
replace go.opentelemetry.io/proto/otlp => github.com/honeycombio/opentelemetry-proto-go/otlp v0.19.0
replace go.opentelemetry.io/proto/otlp => github.com/honeycombio/opentelemetry-proto-go/otlp v1.4.0
```

## Versioning Policy

The auto-generated Go code follows the stability guarantees as defined in
[maturity
level](https://github.com/open-telemetry/opentelemetry-proto?tab=readme-ov-file#maturity-level).

Versioning of modules in this project will be idiomatic of a Go project using [Go modules](https://github.com/golang/go/wiki/Modules).
They will use [semantic import versioning](https://github.com/golang/go/wiki/Modules#semantic-import-versioning).
Meaning modules will comply with [semver 2.0](https://semver.org/spec/v2.0.0.html) with the following exception:

- Packages with a `development` suffix do not comply with [semver 2.0](https://semver.org/spec/v2.0.0.html).
- Backwards incompatible changes may be introduced to these packages between minor versions.
- These packages are intended to be temporary.
They will be deprecated and removed when the protobuf definition stabilizes or is removed.
If the protobuf definition stabilizes, the package will be replaced with a stable "non-development" package.
If the protobuf definition is removed, the package will be removed without a replacement.

## Getting Started

Install the latest version in your project.
Expand All @@ -36,3 +53,32 @@ import (
tracepb "go.opentelemetry.io/proto/otlp/trace/v1"
)
```

### Compatibility

OpenTelemetry Proto Go ensures compatibility with the current supported
versions of
the [Go language](https://golang.org/doc/devel/release#policy):

> Each major Go release is supported until there are two newer major releases.
> For example, Go 1.5 was supported until the Go 1.7 release, and Go 1.6 was supported until the Go 1.8 release.

For versions of Go that are no longer supported upstream, opentelemetry-proto-go will
stop ensuring compatibility with these versions in the following manner:

- A minor release of opentelemetry-proto-go will be made to add support for the new
supported release of Go.
- The following minor release of opentelemetry-proto-go will remove compatibility
testing for the oldest (now archived upstream) version of Go. This, and
future, releases of opentelemetry-proto-=go may include features only supported by
the currently supported versions of Go.

This project is tested on the following systems.

| OS | Go Version |
| -------- | ---------- |
| Ubuntu | 1.23 |
| Ubuntu | 1.22 |

While this project should work for other systems, no compatibility guarantees
are made for those systems currently.
Loading
Loading