The default normalization that adjustTar applies is sufficient for
the needs of ConvertPKGToTGZ. There are no additional adjustments
needed since they've already been applied in earlier stages.
This was expected, and a test run hasn't uncovered anything more
to change here, so remove the resolved TODO comment.
For golang/go#53632.
Change-Id: I024bf5fd739ab07200b7f2339f68cfe340a594c3
Reviewed-on: https://go-review.googlesource.com/c/build/+/447959
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Also update test data to match, since the fake signing service now
applies a signature. Check that it's a signature of the right type.
For golang/go#53632.
Change-Id: Iea2321e0e0c41ce12e2a6152a2300f03e592c546
Reviewed-on: https://go-review.googlesource.com/c/build/+/447299
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Add useSignService, a const initially set to false, that controls
whether the new sign.Service is used in the main release workflow,
addSingleReleaseWorkflow, and in turn the tests that exercise it.
Increase the strictness and coverage of the release test to also
check additional properties:
- that exactly all expected artifacts are published,
and no unexpected ones are
- that the filename is exactly the right string
- that the binary size and SHA256 checksum matches the one in metadata,
as well as the .sha256 file
- when applicable, the GPG .asc file is uploaded and its content is
our fake signature for the right file
Merge signDarwinPKG and signWindowsMSI into one general signArtifact
method since they're exactly the same apart from the build type, and
are now doing more work to compute the SHA256 and size of the signed
artifact.
Also set the SignedPath field (which will be going away when the old
signing code is deleted) and Filename artifact fields.
For golang/go#53632.
Change-Id: Ib7bf831c8f0a0bff14588be432c91d2a5fd1fd5d
Reviewed-on: https://go-review.googlesource.com/c/build/+/447298
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
During testing, it's useful to be able to supply fake system commands.
Add a mechanism that allows doing that to FakeBuildlets. This will be
used by the release test to mock macOS installer building.
For golang/go#53632.
Change-Id: I003b357112b1f5349503d928b7b5f2e3411614a2
Reviewed-on: https://go-review.googlesource.com/c/build/+/447297
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
The new tasks to create a macOS installer uncovered a few places where
the fake buildlet was skipping the step of creating directories like
the real one. Fix that so it behaves more like the real one.
For golang/go#53632.
Change-Id: I5882d916edba92e21e25282a70efed6bd49ad17b
Reviewed-on: https://go-review.googlesource.com/c/build/+/447296
Reviewed-by: Carlos Amedee <carlos@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
The combined build+communication workflows have superseded the previous
separate workflows.
For golang/go#53537.
Change-Id: I380501aa80fbaa32334ef54cca11649e29dfcf26
Reviewed-on: https://go-review.googlesource.com/c/build/+/447295
Reviewed-by: Carlos Amedee <carlos@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
GCE ARM64 instances do not support the Konnn on COS images. Cloud init
is used to start containers on GCE ARM64 COS images instead of using the
gce-container-declaration metadata method.
Updates golang/go#53851
Change-Id: I3097ab3fc075829a45c93320023e54d3c16fa7a1
Reviewed-on: https://go-review.googlesource.com/c/build/+/447738
Run-TryBot: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
This adds the ability to track quota for t2a instances which have an
ARM64 architecture. This is required functionality if the coordinator
makes use of this machine type.
Updates golang/go#53851
Change-Id: I5fd384fee78bd1817fb022e67ecaa3e405977e3b
Reviewed-on: https://go-review.googlesource.com/c/build/+/447260
Run-TryBot: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This adds the ability to query for COS images which are ARM64 based.
The HostConfig has been updated to provide the ability to note that a
host requires an ARM64 COS image.
Updates golang/go#53851
Change-Id: Ib57bf6359ca365078528dbb6912dca2402939df9
Reviewed-on: https://go-review.googlesource.com/c/build/+/447259
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Carlos Amedee <carlos@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Stage0 has been configured to allow linux arm64 instances that are on
GCP. The makefile that generates the instances was refactored to
follow the model used by a the buildlet makefile refactor in CL
419992.
Updates golang/go#53851
Change-Id: Iffe0829fc1ba1d863adcb3b73cde2c48d5d84c68
Reviewed-on: https://go-review.googlesource.com/c/build/+/447258
Run-TryBot: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
This adds the configuration details for a Debian ARM64 docker image.
The container will run on a COS machine on GCP.
Updates golang/go#53851
Change-Id: I416c524138573c86f45fdccd505a28666e4b7b09
Reviewed-on: https://go-review.googlesource.com/c/build/+/447257
Reviewed-by: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
The storage client and bucket are needed while the program is running,
not for any of the tests. Move the init code to main so x/build tests
can work okay on a machine without Application Default Credentials.
Change-Id: I3da39cace35588ffa0fb7cc2b5a93b8bfc3f594e
Reviewed-on: https://go-review.googlesource.com/c/build/+/447300
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Connections connected for long than the timeout are automatically closed
by the load balancer. gomote create (CreateInstance) and gomote run
(ExecuteCommand) are implemented as single, long-running gRPC calls.
Currently, if one of these exceeds 2 hours, the connection is closed and
the call fails.
Increase the limit to 24 hr as a mitigation to give long-running
commands more time to complete. As noted at
https://cloud.google.com/load-balancing/docs/https#timeouts_and_retries,
these connections are still at risk of reset due to restarts of the load
balance itself, so ideally gomote eventually migrates to RPCs that
support retry/continue.
For golang/go#56423.
Change-Id: Ia10faea1ca8558373d2d6b45abcf99c476317270
Reviewed-on: https://go-review.googlesource.com/c/build/+/445435
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Run-TryBot: Michael Pratt <mpratt@google.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
When doing development on the release workflow tasks, the release test
reports problems by timing out. Use the new WorkflowStalled hook to do
that more quickly.
Also reword the documentation of Workflow.Run to be more clear that it
not returning upon reaching a fully stuck state is working as intended,
as it needs to wait for possible out-of-band retries, etc.
Change-Id: Id98deef262f23771a6c97dc2e116fc7f793cb16e
Reviewed-on: https://go-review.googlesource.com/c/build/+/446873
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Jenny Rakoczy <jenny@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Go 1.20 will not be shipping with precompiled .a files for most packages
in the distribution in favor of having them compiled as needed and
cached. The .a files for libraries that depend on cgo are left in so
that packages that depend on them can still be built without a C
compiler. With this cl, we will further stop producing .a files for race
targets (including those that use cgo). Because the race targets aren't
used for production releases, this will allow us to test if we run into
issues removing all precompiled .a files in a future release while
limiting impact, and will reduce the size of the distribution still
further.
For golang/go#47257
Change-Id: I686a74e9438785cb85d4ea9a8cc7ca6ca7c9c43a
Reviewed-on: https://go-review.googlesource.com/c/build/+/446735
Reviewed-by: Heschi Kreinick <heschi@google.com>
Reviewed-by: Michael Matloob <matloob@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Matloob <matloob@golang.org>
To make one-off tagging less error-prone, run a miniature version of the
overall workflow to tag a specific repository.
Also includes a tiny bug fix for expansions with parameters.
For golang/go#48523.
Change-Id: Ic9089966aa28d20c716169b41121e2da21faf54a
Reviewed-on: https://go-review.googlesource.com/c/build/+/445955
Auto-Submit: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
I forgot to check buildRepoByDefault on the Stretch builders, so they
started running x/mobile.
Also noticed a ton of obsolete builders/checks, clean them out while I'm
at it. In the tests, clear out very old version checks, and replace
"arbitrary release branch" versions with go1.99 rather than whatever
happened to be current when the test case was written.
For golang/go#56414.
Change-Id: I88eeeaec5d166d1ac1a3938dbc26870ff8d4b33a
Reviewed-on: https://go-review.googlesource.com/c/build/+/446183
Auto-Submit: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
I suspect that when the coordinator restarts with lots of VMs active, it
tries to create and destroy a lot of VMs at the same time, eating quota.
Because there are many goroutines attempting to create, and only one
deleting, our GCE API quota is consumed entirely by creation and we
don't get a chance to clean up the problem. Quota exhaustion retries
presumably only make it worse.
Increase the retry delay, and create a separate rate limiter for
deletion to see if that improves the situation.
Change-Id: I7ab780d6361837d3fb8e1489ce60157ddd4ef9fb
Reviewed-on: https://go-review.googlesource.com/c/build/+/446182
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Stretch was EOL at the beginning of the 1.20 cycle, so according to our
draft policy we should no longer build on it.
For golang/go#56414.
Change-Id: Ibac0d5438cf9e0b8f24cde7b38bb3f6cdc7a5096
Reviewed-on: https://go-review.googlesource.com/c/build/+/445618
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Auto-Submit: Heschi Kreinick <heschi@google.com>
I basically just did a find-and-replace, and we'll see if it works?
I've updated and built the new disk images so this should be ready to
deploy.
For golang/go#56414.
Change-Id: Iaac41d6f7a1244c3682e624f7a4ee4fa7477dfa1
Reviewed-on: https://go-review.googlesource.com/c/build/+/445617
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Auto-Submit: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
We have to update the non-versioned builders sometime, and now seems as
good as any.
This is just an easy first step, still need to figure out vmx and
whether to disable the stretch builders on master/1.20.
For golang/go#56414.
Change-Id: I7f1ce4faa9c6fa1595b7a0c3c72d451b1d18e5f4
Reviewed-on: https://go-review.googlesource.com/c/build/+/445616
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Heschi Kreinick <heschi@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
The user who scheduled a workflow may not be closely watching at the
time of failure. This adds functionality to send an email if a scheduled
workflow cannot progress.
The current implementation logs on stall, but it's trivial to
configure to email as some tasks do.
For golang/go#54476
Change-Id: Id0deefd3c1b07f569585600a583ba4e04f8f7be1
Reviewed-on: https://go-review.googlesource.com/c/build/+/444695
Run-TryBot: Jenny Rakoczy <jenny@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Our stream.Recv returns io.EOF when the other end has done a CloseSend,
at which point the bidirectional stream is unhealthy since it can only
send but not receive further messages. Return only non-nil errors from
the errgroup functions so that both of them end as quickly as possible,
to remove the possibility of a send-only stream being long-lasting.
Also return stream.Send errors directly rather than converting them to
an opaque internal error, since it's simpler and doesn't hide possibly
useful error details from the gRPC server.
For golang/go#53632.
Change-Id: I53bfe51161c93f00d088f4a7aae706d55295f026
Reviewed-on: https://go-review.googlesource.com/c/build/+/445855
Reviewed-by: Carlos Amedee <carlos@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Make it clearer when a buildlet failed because of an error outside of
all.bash.
Change-Id: I7bd7a1d093eecc8a8a1d7a5c80bf7de12b026b6e
Reviewed-on: https://go-review.googlesource.com/c/build/+/445715
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Roland Shoemaker <roland@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
Started and Failed are the two possible responses
to a SignArtifact request, so add the missing one.
For golang/go#53632.
Change-Id: I9d0e4ef21b5f32ba3eac780fd8421ed36af8387e
Reviewed-on: https://go-review.googlesource.com/c/build/+/445595
Reviewed-by: Carlos Amedee <carlos@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
The AWS Macs are offline indefinitely and blocking the release. When I
originally wrote the TryBot check I thought KIs would be transient and
it'd be useful to see their results, but in practice we have builders
broken in various ways for months. So just skip them.
Maybe a more sophisticated approach where we try them and ignore errors
would be better but I don't feel like working through it.
Change-Id: I14c982acdc7ee721f91436b33784cf693b860f4b
Reviewed-on: https://go-review.googlesource.com/c/build/+/445615
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Adds the internal security TryBot service binary, which is used to
execute tests against CLs in the private Go repo that is used to
develop security patches. This service implements are very small
subset of the features of the public TryBots, using coordinator
buildlets which are controlled by Google.
Part of b/238465473.
Change-Id: I51745376b4c523fb5fc938eb57fffb81c85a7c78
Reviewed-on: https://go-review.googlesource.com/c/build/+/424615
Reviewed-by: Jenny Rakoczy <jenny@golang.org>
Run-TryBot: Roland Shoemaker <roland@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
After CL 427914 is merged, the tests for cmd/go will no longer depend
on the server hosted at vcs-test.golang.org. The release branch for Go
1.19 will continue to need that server until Go 1.19 is no longer
supported, but after that point the server can be permanently turned
down and its code deleted.
The test in this CL will remind us to do that deletion by failing on
the -longtest builders when the Go version in the main repo is updated
for the Go 1.22 development cycle. The Go 1.22 cycle will begin after
Go 1.21 is released, and (assuming our current release policy remains
in effect) that coincides with the end of support for Go 1.19.
Updates golang/go#27494.
Change-Id: I1e98b88060e303ae75e2f3fb86d6f34bd7765326
Reviewed-on: https://go-review.googlesource.com/c/build/+/428835
Reviewed-by: Heschi Kreinick <heschi@google.com>
Auto-Submit: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
I expect successful communication with a signing client to be on the
order of a few seconds, maybe 10 or 20. Some signing status requests
are stalling for 10 minutes.
In such cases, it's better to give up earlier and try again, so cap
individual status requests inside AwaitCondition to a minute at most,
and prefer to try again if that doesn't work out. This should prevent
the watchdog timer from reaching 10 minutes and stopping the task.
Also improve logging to print more useful timing information, and
fix a case where UpdateSigningStatus was always returning nil error.
For golang/go#53632.
Change-Id: Idb340fb6396b31570acd980adf33a52877d60012
Reviewed-on: https://go-review.googlesource.com/c/build/+/444495
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
The log writer flushes every ten seconds, so maybe the reason
https://build.golang.org/log/15994e2898dd9b9d16186fab7bbd4104312323c8
doesn't show any logs from the command is that the test exits too
quickly? Though it's also supposed to flush when the context finishes.
Which leaves me wondering why running bash just...hangs.
For golang/go#56231.
Change-Id: I55d54da191e1fe82036d7bbb28ab512a08bb7dd4
Reviewed-on: https://go-review.googlesource.com/c/build/+/444797
Auto-Submit: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
gopls has a replace directive that uses the local tools version, which
means that they have to be updated together.
This is currently a one-off, so rather than trying to figure it out
automatically tools is hardcoded. I'm not proud of it. But at least
there's a test! (?)
For golang/go#48523.
Change-Id: If59e669ba3ede08967b72ba3bb36b2c66e1a03a7
Reviewed-on: https://go-review.googlesource.com/c/build/+/443857
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Auto-Submit: Heschi Kreinick <heschi@google.com>
Clean up after the change to read the branch head later. Also fix a bug:
in the version tasks, we want to know exactly what commit we're tagging,
so we pass in the expected commit, and AwaitCL returns that if no CL was
necessary. But here we want to tag the latest branch head if there's no
CL necessary. So we need a different Await function.
For golang/go#48523.
Change-Id: I97f92b22d4f29edeb52d06c311fddaa6596da0c2
Reviewed-on: https://go-review.googlesource.com/c/build/+/444116
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Allow us to build different .syso files for different subarch values.
Change-Id: I690c5b7eb0bda5c45489cf26b291590b36914f83
Reviewed-on: https://go-review.googlesource.com/c/build/+/444496
Reviewed-by: Than McIntosh <thanm@google.com>
Reviewed-by: Keith Randall <khr@google.com>
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
The StatusRunning and StatusFailed protobuf messages have a field named
Description, though previously its content wasn't accessible. Return it
to the caller and log it. This way we can figure out whether to keep it
or possibly remove it entirely if it stays unused.
It was useful during initial development and testing at least.
Also modify ArtifactSigningStatus to return a nil error when status
is NotFound, since it's a valid status that the caller can handle.
For golang/go#53632.
Change-Id: I7f9b038d86f985b71300150d1ccc700e209cdf2b
Reviewed-on: https://go-review.googlesource.com/c/build/+/444255
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Use dedicated buffered channels with capacity of 1 to receive responses
to messages, instead of a local variable and a cancel context. This is
simpler and fixes a race.
The signResponse struct had two places where message ID could be read
from, and some code paths read the wrong one. Keep only the message
and error fields, and factor the message ID out of this struct.
The responseCallback did not seem to benefit from being separated
out of SigningServer; combine the two to simplify the code.
Rename send to do since it waits for the response before returning.
Make the requests channel unbuffered rather than having a capacity
of 1 to simplify the code. It doesn't benefit from being buffered
since operations block until a response is available. This makes the
first request handled the same way as the second, third, etc.
For golang/go#53632.
Fixesgolang/go#56297.
Change-Id: I2ae4f774aabe4c4bdae34694dc1ad46896fc44a3
Reviewed-on: https://go-review.googlesource.com/c/build/+/443676
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
This new dry-run workflow starts to exercise the new signing service.
Modify the naming pattern for scratch files to place the random number
in front of the filename to avoid modifying the file extension.
For golang/go#53632.
Change-Id: I799e4f9d50b22130a91428477c675c562952f441
Reviewed-on: https://go-review.googlesource.com/c/build/+/443095
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
This change implements functionality to build a macOS installer using
Xcode tools on the remote buildlet. This is somewhat analogous to how
the existing releaselet command builds a Windows installer.
Templates are used to generalize it for arm64 and amd64 architectures.
At this time all supported Go versions share the same minimum macOS
version requirement. When that changes, it'll be possible to use these
templates to set an appropriate value for each one. (In the past,
we always used one value for all installers, making it less precise.)
Otherwise this implements the same installer as previously constructed
during the signing process.
This code isn't used yet. The next CL in the stack starts to use it.
For golang/go#53632.
Change-Id: I53b4ea68cd9cbb41b6bc6cacd136322284e1fae6
Reviewed-on: https://go-review.googlesource.com/c/build/+/443060
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Previously for all packages that had {filippo, securityTeam}, only
filippo would get added as a reviewer, because github teams are not
considered when assigning reviewers. In all those cases switch to
{filippo, roland, securityTeam}, so that at least one person on the
Security team is at least assigned as a reviewer.
Additionally remove agl from secondary on various packages, as he hasn't
worked on the project actively in quite a while.
Change-Id: I96fc27b81b7fe54b990948854a4c7140b9c66d32
Reviewed-on: https://go-review.googlesource.com/c/build/+/444055
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Auto-Submit: Roland Shoemaker <roland@golang.org>
Run-TryBot: Roland Shoemaker <roland@golang.org>
CL 442258 removed GOPATH from the environment, as I believed it was
inconsequential. However, it is still used to store downloaded modules.
Without setting GOPATH, the modules end up stored on the root disk
(instead of /workdir tmpfs), which has limited space, resulting in out
of disk space errors.
Change-Id: I0a51e94df07fbe93bbd6e7e4bd7f205a8f77146c
Reviewed-on: https://go-review.googlesource.com/c/build/+/443858
Run-TryBot: Michael Pratt <mpratt@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
I have no earthly idea why this script seems to be hanging for 10
seconds. Add more logging.
For golang/go#56231.
Change-Id: I473ae4856c58191c25c70d899520eed0f78738f2
Reviewed-on: https://go-review.googlesource.com/c/build/+/444118
Auto-Submit: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
With the first run done this code is now dead. We can create manual tags
for future bootstrapping.
For golang/go#48523.
Change-Id: Iff147d095205f3e3687136d85eaaa08bae207069
Reviewed-on: https://go-review.googlesource.com/c/build/+/444117
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Auto-Submit: Heschi Kreinick <heschi@google.com>
go.mod generation is inherently racy with people submitting other CLs,
so I wasn't worried about getting the base commit outside of the update
process. But I didn't think about the fact that it might take a few
days. I also didn't consider what would happen if the updates broke for
some reason, and now they have:
golang.org/x/mod/zip tested by
golang.org/x/mod/zip.test imports
golang.org/x/tools/txtar loaded from golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e,
but go 1.16 would select v0.1.12
CL 443936 will fix that error, but relui needs to use that commit as the
basis for updating go.mod, not the one it chose on Monday.
I'll redesign the workflow in the next CL -- I can't change it while
it's running.
For golang/go#48523.
Change-Id: Ibf9c74e465a2dccbe831fb80f2904481c51d74c0
Reviewed-on: https://go-review.googlesource.com/c/build/+/444115
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Marking tasks as interrupted in memory confused the rest of the relui
UI, which reads the database to learn the workflow's state. Make the
change in the database as the workflow is resumed instead.
Change-Id: Ifb08033f5203b090f0d26bd7c5727183bb7f36dc
Reviewed-on: https://go-review.googlesource.com/c/build/+/443696
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Jenny Rakoczy <jenny@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Heschi Kreinick <heschi@google.com>
If I need to find someone to ping to triage a bug, I look here.
So, I added the OS (and architecture) teams.
Updates #28596.
Change-Id: I32a8eff23d68d6d9219ec71a509a6693963c8f05
Reviewed-on: https://go-review.googlesource.com/c/build/+/443435
Run-TryBot: David Chase <drchase@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
I wanted the greenness check to handle the case where the commit had
aged off the first page of results, and have it pick an arbitrary commit
it could in that case. But I didn't consider that the dashboard doesn't
observe commits instantaneously, and relui can't distinguish the two
cases.
For now, refuse to proceed if the commit isn't on the result page.
For golang/go#48523.
Change-Id: I0a8c9977c1b159f794f2a1d209ef749e606fc422
Reviewed-on: https://go-review.googlesource.com/c/build/+/443436
Auto-Submit: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Note that this will be initially failing, as x/benchmarks/cmd/bench
doesn't yet support x/tools. Unfortunately we can't set a KnownIssue for
just one subrepo.
For golang/go#53538.
Change-Id: I99e83e35162685de5b490bcfb788a20f2cc4646d
Reviewed-on: https://go-review.googlesource.com/c/build/+/442615
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Pratt <mpratt@google.com>
When running against a subrepo other than x/benchmarks, we check out an
experiment and baseline version of that subrepo for benchmarking. Note
that we are comparing two versions of the subrepo built with a single
version of Go (the latest release). We are not testing vs Go tip.
See comment in runBenchmarkTests for more details.
For golang/go#53538.
Change-Id: I4099cf99f763978e87658f3c9c3b5c362dc5042e
Reviewed-on: https://go-review.googlesource.com/c/build/+/442258
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
There's some kind of bug with the coordinator that's causing it to miss
release branch work. Once it eventually shows up, it starves because
it's old.
As a workaround, prioritize release branches over others. This may not
be a good idea long-term but I'm not sure. The policy we really want is
probably too complicated to express as a total ordering and I don't know
if we want to take on that complexity.
For golang/go#48523.
Change-Id: I04a88ebaeb90636e478460b4cf71021a264151a6
Reviewed-on: https://go-review.googlesource.com/c/build/+/443342
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Heschi Kreinick <heschi@google.com>
Reviewed-by: Jenny Rakoczy <jenny@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>