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

Release prep v1.0.1/v0.24.0 #2270

Merged
merged 8 commits into from Oct 1, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
14 changes: 10 additions & 4 deletions CHANGELOG.md
Expand Up @@ -8,13 +8,20 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm

## [Unreleased]

## [1.0.1] - 2021-10-01

### Fixed

- json stdout exporter no longer crashes due to concurrency bug. (#2265)

## [Metrics 0.24.0] - 2021-10-01

### Changed

- NoopMeterProvider is now private and NewNoopMeterProvider must be used to obtain a noopMeterProvider. (#2237)
- The Metric SDK `Export()` function takes a new two-level reader interface for iterating over results one instrumentation library at a time. (#2197)
- The former `"go.opentelemetry.io/otel/sdk/export/metric".CheckpointSet` is renamed `Reader`.
- The new interface is named `"go.opentelemetry.io/otel/sdk/export/metric".InstrumentationLibraryReader`.

## [1.0.0] - 2021-09-20

Expand Down Expand Up @@ -65,9 +72,6 @@ This release includes an API and SDK for the tracing signal that will comply wit
- The Metrics SDK export record no longer contains a Resource pointer, the SDK `"go.opentelemetry.io/otel/sdk/trace/export/metric".Exporter.Export()` function for push-based exporters now takes a single Resource argument, pull-based exporters use `"go.opentelemetry.io/otel/sdk/metric/controller/basic".Controller.Resource()`. (#2120)
- The JSON output of the `go.opentelemetry.io/otel/exporters/stdout/stdouttrace` is harmonized now such that the output is "plain" JSON objects after each other of the form `{ ... } { ... } { ... }`. Earlier the JSON objects describing a span were wrapped in a slice for each `Exporter.ExportSpans` call, like `[ { ... } ][ { ... } { ... } ]`. Outputting JSON object directly after each other is consistent with JSON loggers, and a bit easier to parse and read. (#2196)
- Update the `NewTracerConfig`, `NewSpanStartConfig`, `NewSpanEndConfig`, and `NewEventConfig` function in the `go.opentelemetry.io/otel/trace` package to return their respective configurations as structs instead of pointers to the struct. (#2212)
- The Metric SDK `Export()` function takes a new two-level reader interface for iterating over results one instrumentation library at a time. (#2197)
- The former `"go.opentelemetry.io/otel/sdk/export/metric".CheckpointSet` is renamed `Reader`.
- The new interface is named `"go.opentelemetry.io/otel/sdk/export/metric".InstrumentationLibraryReader`.

### Deprecated

Expand Down Expand Up @@ -1546,7 +1550,9 @@ It contains api and sdk for trace and meter.
- CircleCI build CI manifest files.
- CODEOWNERS file to track owners of this project.

[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.0.0...HEAD
[Unreleased]: https://github.com/open-telemetry/opentelemetry-go/compare/v1.0.1...HEAD
[1.0.1]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.0.1
[Metrics 0.24.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/metric/v0.24.0
[1.0.0]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.0.0
[1.0.0-RC3]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.0.0-RC3
[1.0.0-RC2]: https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.0.0-RC2
Expand Down
17 changes: 16 additions & 1 deletion Makefile
Expand Up @@ -40,6 +40,9 @@ $(TOOLS)/%: | $(TOOLS)
cd $(TOOLS_MOD_DIR) && \
$(GO) build -o $@ $(PACKAGE)

MULTIMOD = $(TOOLS)/multimod
$(TOOLS)/multimod: PACKAGE=go.opentelemetry.io/build-tools/multimod

SEMCONVGEN = $(TOOLS)/semconvgen
$(TOOLS)/semconvgen: PACKAGE=go.opentelemetry.io/build-tools/semconvgen

Expand All @@ -61,10 +64,11 @@ $(TOOLS)/stringer: PACKAGE=golang.org/x/tools/cmd/stringer
PORTO = $(TOOLS)/porto
$(TOOLS)/porto: PACKAGE=github.com/jcchavezs/porto/cmd/porto

GOJQ = $(TOOLS)/gojq
$(TOOLS)/gojq: PACKAGE=github.com/itchyny/gojq/cmd/gojq

.PHONY: tools
tools: $(CROSSLINK) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(TOOLS)/gojq $(SEMCONVGEN)
tools: $(CROSSLINK) $(GOLANGCI_LINT) $(MISSPELL) $(GOCOVMERGE) $(STRINGER) $(PORTO) $(GOJQ) $(SEMCONVGEN) $(MULTIMOD)

# Build

Expand Down Expand Up @@ -190,3 +194,14 @@ check-clean-work-tree:
git status; \
exit 1; \
fi

.PHONY: prerelease
prerelease: | $(MULTIMOD)
@[ "${MODSET}" ] || ( echo ">> env var MODSET is not set"; exit 1 )
$(MULTIMOD) verify && $(MULTIMOD) prerelease -m ${MODSET}

COMMIT ?= "HEAD"
.PHONY: add-tags
add-tags: | $(MULTIMOD)
@[ "${MODSET}" ] || ( echo ">> env var MODSET is not set"; exit 1 )
$(MULTIMOD) verify && $(MULTIMOD) tag -m ${MODSET} -c ${COMMIT}
26 changes: 20 additions & 6 deletions RELEASING.md
Expand Up @@ -34,21 +34,30 @@ pipeline if you like living on the edge.

## Pre-Release

First, decide which module sets will be released and update their versions
in `versions.yaml`. Commit this change to a new branch.

Update go.mod for submodules to depend on the new release which will happen in the next step.

1. Run the pre-release script. It creates a branch `pre_release_<new tag>` that will contain all release changes.
1. Run the `prerelease` make target. It creates a branch
`prerelease_<module set>_<new tag>` that will contain all release changes.

```
./pre_release.sh -t <new tag>
make prerelease MODSET=<module set>
```

2. Verify the changes.

```
git diff main
git diff ...prerelease_<module set>_<new tag>
```

This should have changed the version for all modules to be `<new tag>`.
If these changes look correct, merge them into your pre-release branch:

```go
git merge prerelease_<module set>_<new tag>
```

3. Update the [Changelog](./CHANGELOG.md).
- Make sure all relevant changes for this release are included and are in language that non-contributors to the project can understand.
Expand All @@ -69,18 +78,23 @@ Update go.mod for submodules to depend on the new release which will happen in t
Once the Pull Request with all the version changes has been approved and merged it is time to tag the merged commit.

***IMPORTANT***: It is critical you use the same tag that you used in the Pre-Release step!
Failure to do so will leave things in a broken state.
Failure to do so will leave things in a broken state. As long as you do not
change `versions.yaml` between pre-release and this step, things should be fine.

***IMPORTANT***: [There is currently no way to remove an incorrectly tagged version of a Go module](https://github.com/golang/go/issues/34189).
It is critical you make sure the version you push upstream is correct.
[Failure to do so will lead to minor emergencies and tough to work around](https://github.com/open-telemetry/opentelemetry-go/issues/331).

1. Run the tag.sh script using the `<commit-hash>` of the commit on the main branch for the merged Pull Request.
1. For each module set that will be released, run the `add-tags` make target
using the `<commit-hash>` of the commit on the main branch for the merged Pull Request.

```
./tag.sh <new tag> <commit-hash>
make add-tags MODSET=<module set> COMMIT=<commit hash>
```

It should only be necessary to provide an explicit `COMMIT` value if the
current `HEAD` of your working directory is not the correct commit.

2. Push tags to the upstream remote (not your fork: `github.com/open-telemetry/opentelemetry-go.git`).
Make sure you push all sub-modules as well.

Expand Down
12 changes: 6 additions & 6 deletions bridge/opencensus/go.mod
Expand Up @@ -4,12 +4,12 @@ go 1.15

require (
go.opencensus.io v0.22.6-0.20201102222123-380f4078db9f
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/metric v0.23.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/sdk/export/metric v0.23.0
go.opentelemetry.io/otel/sdk/metric v0.23.0
go.opentelemetry.io/otel/trace v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/metric v0.24.0
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/sdk/export/metric v0.24.0
go.opentelemetry.io/otel/sdk/metric v0.24.0
go.opentelemetry.io/otel/trace v1.0.1
)

replace go.opentelemetry.io/otel => ../..
Expand Down
8 changes: 4 additions & 4 deletions bridge/opencensus/test/go.mod
Expand Up @@ -4,10 +4,10 @@ go 1.15

require (
go.opencensus.io v0.23.0
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/bridge/opencensus v0.23.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/trace v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/bridge/opencensus v0.24.0
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/trace v1.0.1
)

replace go.opentelemetry.io/otel => ../../..
Expand Down
4 changes: 2 additions & 2 deletions bridge/opentracing/go.mod
Expand Up @@ -6,8 +6,8 @@ replace go.opentelemetry.io/otel => ../..

require (
github.com/opentracing/opentracing-go v1.2.0
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/trace v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/trace v1.0.1
)

replace go.opentelemetry.io/otel/bridge/opencensus => ../opencensus
Expand Down
8 changes: 4 additions & 4 deletions example/fib/go.mod
Expand Up @@ -3,10 +3,10 @@ module go.opentelemetry.io/otel/example/fib
go 1.15

require (
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.0.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/trace v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.0.1
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/trace v1.0.1
)

replace go.opentelemetry.io/otel => ../..
Expand Down
6 changes: 3 additions & 3 deletions example/jaeger/go.mod
Expand Up @@ -9,9 +9,9 @@ replace (
)

require (
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/exporters/jaeger v1.0.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/exporters/jaeger v1.0.1
go.opentelemetry.io/otel/sdk v1.0.1
)

replace go.opentelemetry.io/otel/bridge/opencensus => ../../bridge/opencensus
Expand Down
8 changes: 4 additions & 4 deletions example/namedtracer/go.mod
Expand Up @@ -8,10 +8,10 @@ replace (
)

require (
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.0.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/trace v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.0.1
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/trace v1.0.1
)

replace go.opentelemetry.io/otel/bridge/opencensus => ../../bridge/opencensus
Expand Down
12 changes: 6 additions & 6 deletions example/opencensus/go.mod
Expand Up @@ -10,12 +10,12 @@ replace (

require (
go.opencensus.io v0.22.6-0.20201102222123-380f4078db9f
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/bridge/opencensus v0.23.0
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v0.23.0
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.0.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/sdk/export/metric v0.23.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/bridge/opencensus v0.24.0
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v0.24.0
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.0.1
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/sdk/export/metric v0.24.0
)

replace go.opentelemetry.io/otel/bridge/opentracing => ../../bridge/opentracing
Expand Down
8 changes: 4 additions & 4 deletions example/otel-collector/go.mod
Expand Up @@ -8,10 +8,10 @@ replace (
)

require (
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.0.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/trace v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.0.1
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/trace v1.0.1
google.golang.org/grpc v1.41.0
)

Expand Down
8 changes: 4 additions & 4 deletions example/passthrough/go.mod
Expand Up @@ -3,10 +3,10 @@ module go.opentelemetry.io/otel/example/passthrough
go 1.15

require (
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.0.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/trace v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.0.1
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/trace v1.0.1
)

replace (
Expand Down
10 changes: 5 additions & 5 deletions example/prometheus/go.mod
Expand Up @@ -9,11 +9,11 @@ replace (
)

require (
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/exporters/prometheus v0.23.0
go.opentelemetry.io/otel/metric v0.23.0
go.opentelemetry.io/otel/sdk/export/metric v0.23.0
go.opentelemetry.io/otel/sdk/metric v0.23.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/exporters/prometheus v0.24.0
go.opentelemetry.io/otel/metric v0.24.0
go.opentelemetry.io/otel/sdk/export/metric v0.24.0
go.opentelemetry.io/otel/sdk/metric v0.24.0
)

replace go.opentelemetry.io/otel/bridge/opencensus => ../../bridge/opencensus
Expand Down
8 changes: 4 additions & 4 deletions example/zipkin/go.mod
Expand Up @@ -9,10 +9,10 @@ replace (
)

require (
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/exporters/zipkin v1.0.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/trace v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/exporters/zipkin v1.0.1
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/trace v1.0.1
)

replace go.opentelemetry.io/otel/bridge/opencensus => ../../bridge/opencensus
Expand Down
6 changes: 3 additions & 3 deletions exporters/jaeger/go.mod
Expand Up @@ -5,9 +5,9 @@ go 1.15
require (
github.com/google/go-cmp v0.5.6
github.com/stretchr/testify v1.7.0
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/trace v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/trace v1.0.1
)

replace go.opentelemetry.io/otel/bridge/opencensus => ../../bridge/opencensus
Expand Down
10 changes: 5 additions & 5 deletions exporters/otlp/otlpmetric/go.mod
Expand Up @@ -6,11 +6,11 @@ require (
github.com/cenkalti/backoff/v4 v4.1.1
github.com/google/go-cmp v0.5.6
github.com/stretchr/testify v1.7.0
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/metric v0.23.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/sdk/export/metric v0.23.0
go.opentelemetry.io/otel/sdk/metric v0.23.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/metric v0.24.0
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/sdk/export/metric v0.24.0
go.opentelemetry.io/otel/sdk/metric v0.24.0
go.opentelemetry.io/proto/otlp v0.9.0
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013
google.golang.org/grpc v1.41.0
Expand Down
10 changes: 5 additions & 5 deletions exporters/otlp/otlpmetric/otlpmetricgrpc/go.mod
Expand Up @@ -4,11 +4,11 @@ go 1.15

require (
github.com/stretchr/testify v1.7.0
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.23.0
go.opentelemetry.io/otel/metric v0.23.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/sdk/metric v0.23.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.24.0
go.opentelemetry.io/otel/metric v0.24.0
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/sdk/metric v0.24.0
go.opentelemetry.io/proto/otlp v0.9.0
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013
google.golang.org/grpc v1.41.0
Expand Down
6 changes: 3 additions & 3 deletions exporters/otlp/otlpmetric/otlpmetrichttp/go.mod
Expand Up @@ -4,9 +4,9 @@ go 1.15

require (
github.com/stretchr/testify v1.7.0
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.23.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.24.0
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/proto/otlp v0.9.0
google.golang.org/protobuf v1.27.1
)
Expand Down
6 changes: 3 additions & 3 deletions exporters/otlp/otlptrace/go.mod
Expand Up @@ -6,9 +6,9 @@ require (
github.com/cenkalti/backoff/v4 v4.1.1
github.com/google/go-cmp v0.5.6
github.com/stretchr/testify v1.7.0
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel/trace v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/otel/trace v1.0.1
go.opentelemetry.io/proto/otlp v0.9.0
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013
google.golang.org/grpc v1.41.0
Expand Down
6 changes: 3 additions & 3 deletions exporters/otlp/otlptrace/otlptracegrpc/go.mod
Expand Up @@ -4,9 +4,9 @@ go 1.15

require (
github.com/stretchr/testify v1.7.0
go.opentelemetry.io/otel v1.0.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.0.0
go.opentelemetry.io/otel/sdk v1.0.0
go.opentelemetry.io/otel v1.0.1
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.0.1
go.opentelemetry.io/otel/sdk v1.0.1
go.opentelemetry.io/proto/otlp v0.9.0
google.golang.org/grpc v1.41.0
)
Expand Down