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

Attempt to release v0.7.0 #91

Closed
wants to merge 6 commits into from
Closed

Conversation

jmacd
Copy link
Contributor

@jmacd jmacd commented Nov 8, 2023

This partly undoes the changes in #88.

The goal was to install a go.work file, which #88 indicates does not work, and I thought I'd try again anyway.

The problem we are hoping to resolve is that a new user who can run the Golang toolchain ought to be able to run a one-line command to install the OTel Arrow collector from its module name github.com/open-telemetry/otel-arrow/collector/cmd/otelarrowcol.

This does not work because of relative replace statements, which breaks the one-line command functionality for Golang installation. If go.work could successfully navigate the release process for us, this would be a winning strategy, but it does not.

In the present form of this PR, I removed all replace statements because I believe they are unnecessary. Note, however, that current OTC builders will install a replace for cloud.google.com/go for historical reasons. With or without these replace statements (in two of the three modules here), it seems that go.work cannot survive the release process.

The release process DEPENDS on having those relative replace statements, is what I'm trying to say. Is there a way for go.work to succeed in the pre-release state where sed has been used to update the new version in each go.mod file but the corresponding tag has not been pushed to github.com yet? This is where I'm stuck.

The error is:

% go mod tidy
go: downloading github.com/open-telemetry/otel-arrow v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/compression/zstd: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/connector/validationconnector: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/examples/printer: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/exporter/fileexporter: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/exporter/fileexporter/internal/metadata: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/exporter/otelarrowexporter: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/exporter/otelarrowexporter/internal/arrow: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/exporter/otelarrowexporter/internal/arrow/grpcmock: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/exporter/otelarrowexporter/internal/metadata: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/netstats: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/processor/batchprocessor: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/processor/experimentprocessor: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/processor/obfuscationprocessor: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/receiver/filereceiver: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/receiver/filereceiver/internal/metadata: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/receiver/otelarrowreceiver: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/receiver/otelarrowreceiver/internal/arrow: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/receiver/otelarrowreceiver/internal/arrow/mock: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/receiver/otelarrowreceiver/internal/logs: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/receiver/otelarrowreceiver/internal/metadata: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/receiver/otelarrowreceiver/internal/metrics: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/receiver/otelarrowreceiver/internal/trace: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/sharedcomponent: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0
go: github.com/open-telemetry/otel-arrow/collector/testutil: reading github.com/open-telemetry/otel-arrow/go.mod at revision v0.7.0: unknown revision v0.7.0

@jmacd
Copy link
Contributor Author

jmacd commented Nov 8, 2023

This PR looks like it will do everything we want --

  1. No replace statements, so go install works
  2. Developers use go.work (which is checked in for simplicity, but doesn't need to be)

The only problem is that it won't pass CI/CD until after the release branch is pushed, which goes against the current release practice in this repo.

Solution: I propose to bypass the CI/CD check using superuser powers to do so. If my hypothesis is correct, the outcome will be a successful release, and we will address this going forward with adjustments to our release process. If my hypothesis is incorrect, we will have to undo several things and go back to relative replace statements.

@jmacd
Copy link
Contributor Author

jmacd commented Nov 9, 2023

I will close this in favor of #92, which validates the approach in this PR w/o making a release. I will re-open a new PR for the release.

@jmacd jmacd closed this Nov 9, 2023
@jmacd jmacd mentioned this pull request Nov 10, 2023
jmacd added a commit that referenced this pull request Nov 10, 2023
As with #91, this release is going to face problems with passing tests
during while its new version tags are unreleased.
We will bypass the automatic checks with this release, and if the
results are acceptable we will address this in the future with an
updated release procedure.

We cannot run `go work sync` with unreleased version tags.
@jmacd jmacd deleted the jmacd/070 branch November 15, 2023 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant