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

acceptance tests on not master branches fails after go version upgrade #66977

Closed
rail opened this issue Jun 28, 2021 · 3 comments
Closed

acceptance tests on not master branches fails after go version upgrade #66977

rail opened this issue Jun 28, 2021 · 3 comments
Assignees
Labels
C-bug Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.

Comments

@rail
Copy link
Member

rail commented Jun 28, 2021

In #66505 we upgraded the go version to 1.16.5, but still have one outstanding task to upgrade the version on TeamCity agents.

The acceptance test builds the test binary using docker, what means that for the 20.2 and 21.1 branches they are built using go 1.15.11.

Then it executes the go test command without docker, what means it uses go 1.16.5.

As a result the acceptance test fails to start with flag provided but not defined: -test.paniconexit0.
See
https://teamcity.cockroachdb.com/repository/download/Cockroach_UnitTests_Acceptance/3119347:id/raw.0.json.txt.tgz!/artifacts/full_output.txt
https://teamcity.cockroachdb.com/buildConfiguration/Cockroach_UnitTests_Acceptance/3119347

-test.paniconexit0 is a new flag from golang/go@4f76fe8

Possible solutions:

  • Run the acceptance test using builder.sh. Not sure if it's possible, because there is a lot of docker related things going under the hood in the acceptance test.
  • (temporary solution?) Install go 1.15.11 on the TeamCity agents in parallel with go 1.16.5 and use an absolute path call to go test for not master branches.
  • (bad idea) Patch go to not pass that flag
  • Use bazel
@rail rail added the C-bug Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior. label Jun 28, 2021
@jlinder
Copy link
Collaborator

jlinder commented Jun 29, 2021

The second solution (install go 1.15.11 on the TeamCity agents in parallel with go 1.16.5 ...) seems like the quickest way to resolve this problem. If we were only to do this, it would likely live until we stop releasing 21.1 in November 2022 (because we are unlikely to replace CI with bazel on master before we cut the release-21.2 branch in September).

Using bazel for master forward is ideal, but it will take some time to replace CI with bazel on master (probably until after the release-21.2 branch is cut in September).

Run the acceptance test using builder.sh might work, but running docker in docker seems not so great. And how would it perform?

@rickystewart
Copy link
Collaborator

+1 to all of the above.

@rail rail self-assigned this Jun 29, 2021
rail added a commit to rail/cockroach that referenced this issue Jun 30, 2021
Previously, to run the acceptance test we compiled the test binary using
the go version from the builder docker image, which depends on the
branch. TeamCity agents have only one version installed and with the go
1.16 upgrade it caused some issues. See cockroachdb#66977 for the details.

This patch uses absolute path to the go binary to run the acceptance
test in case it is installed on the agent.

Release note: None
rail added a commit to rail/cockroach that referenced this issue Jun 30, 2021
Previously, to run the acceptance test we compiled the test binary using
the go version from the builder docker image, which depends on the
branch. TeamCity agents have only one version installed and with the go
1.16 upgrade it caused some issues. See cockroachdb#66977 for the details.

This patch uses absolute path to the go binary to run the acceptance
test in case it is installed on the agent.

Release note: None
rail added a commit to rail/cockroach that referenced this issue Jun 30, 2021
Previously, to run the acceptance test we compiled the test binary using
the go version from the builder docker image, which depends on the
branch. TeamCity agents have only one version installed and with the go
1.16 upgrade it caused some issues. See cockroachdb#66977 for the details.

This patch installs 2 go versions in parallel. The older version is
installed in a location which is not added to `PATH` and has to be
called using its absolute path.

Release note: None
craig bot pushed a commit that referenced this issue Jun 30, 2021
67035: AUTHORS: Added bradjacobs to authors r=rail a=bradwastaken

Release note: None

67039: bazel: add toolchain for cross-compiling to linux on aarch64 r=rail a=rickystewart

This is just another `crosstool-ng` toolchain, so we use all the
pre-existing stuff added in b782105.

Release note: None

67046: build: install 2 go versions on TeamCity agents r=rail a=rail

Previously, to run the acceptance test we compiled the test binary using
the go version from the builder docker image, which depends on the
branch. TeamCity agents have only one version installed and with the go
1.16 upgrade it caused some issues. See #66977 for the details.

This patch installs 2 go versions in parallel. The older version is
installed in a location which is not added to `PATH` and has to be
called using its absolute path.

Release note: None

67073: jobs/jobspb,sql/stats: move constant from stats to jobspb r=rytaft a=ajwerner

It seemed crazy for jobspb to depend on stats over this one string constant.

Release note: None

Co-authored-by: Brad Jacobs <[email protected]>
Co-authored-by: Ricky Stewart <[email protected]>
Co-authored-by: Rail Aliiev <[email protected]>
Co-authored-by: Andrew Werner <[email protected]>
@rail
Copy link
Member Author

rail commented Jul 5, 2021

@rail rail closed this as completed Jul 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Code not up to spec/doc, specs & docs deemed correct. Solution expected to change code/behavior.
Projects
None yet
Development

No branches or pull requests

3 participants