The build repository currently uses two diffrent GRPC implementations.
The go4.org one and the official one. This change attempts to converge
on a single version of GRPC for the build repository.
Change-Id: I3c19c1159646cbbff8fa28c8f1738cb468b6be8c
Reviewed-on: https://go-review.googlesource.com/c/build/+/361454
Reviewed-by: Alex Rakoczy <alex@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Trust: Carlos Amedee <carlos@golang.org>
Run-TryBot: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Its v1.0.1 version has been recently retracted in esimov/stackblur-go#5.
Update to the latest stable version. As a benefit, its new API makes it
possible to drop the type assertion.
Updates golang/go#47403.
Change-Id: I08abac0e19ee32b83441e56ff42d1edc5fac441f
Reviewed-on: https://go-review.googlesource.com/c/build/+/388835
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
When working on CL 358897, I forgot that there's already an SFNT font
parser and glyph rasterizer available in the x/image module. Using it
produces an equivalent final image, and allows x/build to depend on 1
less module.
Also add a regression test for drawTerminal.
Updates golang/go#47403.
Change-Id: I77166a2180a7db9c81a30f77b12bb20dcd21bd8b
Reviewed-on: https://go-review.googlesource.com/c/build/+/388834
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
This upgrades golang.org/x/text to v0.3.7 and
suppresses govulncheck's report on GO-2021-0113
For golang/go#51565
Change-Id: I21ec6a3772b455c88a418087b4fbf3cabc1ecc65
Reviewed-on: https://go-review.googlesource.com/c/build/+/391214
Trust: Hyang-Ah Hana Kim <hyangah@gmail.com>
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
This updates the version of x/crypto in order to mitigate the
revokation of Let's Encrypt certificates.
Updates golang/go#50880
Change-Id: I6c8004ebbcc4f51395242ac46f930a93588d0f09
Reviewed-on: https://go-review.googlesource.com/c/build/+/381735
Trust: Carlos Amedee <carlos@golang.org>
Run-TryBot: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
This change adds an access package which is intented to contain
functions which will handle Identity Aware Proxy authentication. It
may be extended to include authorization logic in the future.
Fixesgolang/go#48729
Updates golang/go#47521
Change-Id: I68cd90c3e83066763e3194fcb58e324c3630f811
Reviewed-on: https://go-review.googlesource.com/c/build/+/358915
Reviewed-by: Heschi Kreinick <heschi@google.com>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
Trust: Alexander Rakoczy <alex@golang.org>
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Use the Twitter API to post tweets with the generated text and image.
Credentials are fetched from secret manager, and OAuth 1.0a is used
for authentication during Twitter API calls¹.
Tested with the real Twitter API (to be sure it would work).
¹ https://developer.twitter.com/en/docs/authentication/oauth-1-0a
For golang/go#40279.
Fixesgolang/go#47403.
Change-Id: I69d0798a69c8e5a0ae8b150dd9d7673c86bdf849
Reviewed-on: https://go-review.googlesource.com/c/build/+/358898
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Trust: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
This CL adds an internal API for making release tweets of various kinds,
including the templates used to generate the tweet text and tweet image.
It does not have code for using the Twitter API. CL 358898 will do that.
For golang/go#40279.
For golang/go#47403.
Change-Id: Ic0cb2f5f1e59c0fd932aed7c5c4a88decc5a3d8d
Reviewed-on: https://go-review.googlesource.com/c/build/+/358897
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Trust: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
This change adds golang-migrate to manage database migrations for relui.
relui will run all database migrations on start, and return an error for
any failures.
The current developer tooling is managed through the Makefile. For ease
of use, common tasks will be moved to a script in a future CL.
For golang/go#47401
Change-Id: I678c3b21d7e89d7d5a66305f66075f02cc2f3284
Reviewed-on: https://go-review.googlesource.com/c/build/+/349951
Trust: Alexander Rakoczy <alex@golang.org>
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
gomote ssh connections immediately close with a "Connection closed"
error. The coordinator logs indicate an error in our call to pty.Start,
which is used to relay the tty between ssh connections. When the
coordinator was updated to Go 1.16 from Go 1.13 in July, it likely
caused this issue (see creack/pty#96).
Fixesgolang/go#48329
Change-Id: Ieec5d2220c6c5ef4c53de594acbdd598a1bafb6d
Reviewed-on: https://go-review.googlesource.com/c/build/+/349092
Trust: Alexander Rakoczy <alex@golang.org>
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
This adds a Dockerfile for relui, as well as a file for running
integration tests against the database. It also adds a configuration for
a development database, as well as a test environment.
For golang/go#47401
Change-Id: I668c99d028265c865baa7e15dfe627423815af94
Reviewed-on: https://go-review.googlesource.com/c/build/+/347289
Trust: Alexander Rakoczy <alex@golang.org>
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
This will make room for a new workflow definition, and a new datastore.
For golang/go#47401
Change-Id: I4bdc8a9a0ed2c5a3743284d0f267b838dddec8aa
Reviewed-on: https://go-review.googlesource.com/c/build/+/340430
Trust: Alexander Rakoczy <alex@golang.org>
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
This is the result of running go get -d github.com/gliderlabs/ssh.
Change-Id: I1b087e3823f9e03575ecb13130c9314fdced7b95
Reviewed-on: https://go-review.googlesource.com/c/build/+/337790
Trust: Alexander Rakoczy <alex@golang.org>
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
This change is the result of running go get -d for each of our
golang.org/x dependencies in our go.mod file.
Change-Id: If1e188052c7b3edcaa332c22f01a213914221c52
Reviewed-on: https://go-review.googlesource.com/c/build/+/337789
Trust: Alexander Rakoczy <alex@golang.org>
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Replace low-level Stackdriver monitoring API usage for OpenCensus
with a Stackdriver exporter. To benefit local development, expose
metrics at an /metrics endpoint (to be picked up with Prometheus).
This makes it much easier to add new metrics, to test them locally,
and brings our metrics solution in sync with what's currently in
use in x/playground (see CL 302769). It's expected to be preferable
to migrate to OpenTelemetry in the future when a good migration path
becomes available, and both x/build and x/playground can be updated
at that time.
This CL is based on work in CL 229679 and CL 138522.
For golang/go#26779.
For golang/go#44406.
For golang/go#17104.
Co-authored-by: Alexander Rakoczy <alex@golang.org>
Co-authored-by: Emmanuel T Odeke <emmanuel@orijtech.com>
Change-Id: Iad45730feace471db1668e828b7c9775377be8a9
Reviewed-on: https://go-review.googlesource.com/c/build/+/303669
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com>
This change replaces the file storage layer with Google Cloud Datastore.
It adds a fake implementation of the datastore client, supporting only
the features we use so far.
Slightly simplifies Workflow configuration.
Updates golang/go#40279
Change-Id: I55228f6540fbcdf5f803203ff7309232cebf6a20
Reviewed-on: https://go-review.googlesource.com/c/build/+/275237
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Sets workflow and tasks IDs when a workflow is created in the UI. These
IDs will be used in the future when operating on workflows and tasks via
the UI or API.
This ID will likely change to a datastore ID after datastore integration
is added.
For golang/go#40279
Co-authored-by: Carlos Amedee <carlos@golang.org>
Change-Id: Ib75c00c234d156cc1bbdab8c658281f04914165b
Reviewed-on: https://go-review.googlesource.com/c/build/+/257238
Trust: Alexander Rakoczy <alex@golang.org>
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
This change adds an AWS buildlet client which allows us to
create EC2 instances on AWS. With this change we have also
moved a portion of the gce creation logic into a helper
function which allows multiple clients to use it. Metadata
for the instances are stored in the user data fields.
The creation of a buildlet pool and modifications to
rundocker buildlet be made in order to enable this change.
Updates golang/go#36841
Change-Id: Ice03e1520513d51a02b9d66542e00012453bf0d9
Reviewed-on: https://go-review.googlesource.com/c/build/+/232077
Run-TryBot: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
This change updates the secret manager client version from beta to v1.
Updates golang/go#37171
Change-Id: Id7648c299ceb542afdb93e970df7b4ed1d13f98b
Reviewed-on: https://go-review.googlesource.com/c/build/+/222665
Run-TryBot: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
As part of our migration to combine codebases of the Build Dashboard and
the Coordinator, the first step is to start calling a Coordinator API
for wiping release status of failed builds. This adds a gRPC API to the
coordinator, listening on the same port as the HTTPS listeners.
The Coordinator API in this implementation simply validates and forwards
a request to the dashboard API.
This change also updates cmd/retrybuilds to optionally use the
Coordinator gRPC API for wiping.
Tested locally using the live Dashboard API.
Updates golang/go#34744
Change-Id: I4b34b064625193eb11a280565d701605064a8443
Reviewed-on: https://go-review.googlesource.com/c/build/+/219120
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
This change adds a package which can be used to retrieve secrets from
GCP Secret Management Service. The goal of this package is to ensure
that there is a simple and known way to retrieve secrets for any
service housed in the build repository. This package should enable the
storage of the project secrets in a single, secure location.
A simple use of the package is introduced to the scaleway application.
Updates golang/go#37171
Change-Id: I957afc2a8b8cede2c2eaa132513fad3fb3691867
Reviewed-on: https://go-review.googlesource.com/c/build/+/217340
Run-TryBot: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
Collaboration with @tiborvass at Docker who got Docker running on
big-endian PPC64. Go for ppc64 doesn't support cgo or external
linking, so runc doesn't work, but a new OCI-compliant runc
implementation written in C (https://github.com/containers/crun) means
we can run Docker after all. See NOTES & build-*.sh
Then add a Dockerfile & associated cleanup in buildlet & stage0 to use
rundockerbuildlet.
Once done, might help with golang/go#35188, golang/go#32613, etc.
Fixesgolang/go#34830
Updates golang/go#21260
Change-Id: I43d7afa1d58bbdfa16e3c57670bc41f1d1932d80
Reviewed-on: https://go-review.googlesource.com/c/build/+/203886
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
And delete our old, incomplete vendor directory. We already rely on
modules, so we can rely on modules for that one package too.
Fixesgolang/go#31815
Change-Id: I7cb97df2045a0719963b2eea538f9182427393f1
Reviewed-on: https://go-review.googlesource.com/c/build/+/175139
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Version v1.16.0 of the grpc module is known to be bad (because it
doesn't include the fix from grpc/grpc-go#2393), so we don't want
to require it, even indirectly.
Commands run:
go mod edit -droprequire=google.golang.org/grpc
go mod tidy
go test ./...
Updates golang/go#30833
Change-Id: I549dd5276ae19aa89c18cf2e9c981e81b8ffdd11
Reviewed-on: https://go-review.googlesource.com/c/build/+/167597
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This change creates a new module with the module path
golang.org/x/build/maintner/cmd/maintserve, and moves the maintserve
command into it. This is done by adding a go.mod file in the
maintner/cmd/maintserve directory. As a result, the maintserve command
and its dependencies are removed from this and later pseudo-versions of
the golang.org/x/build module.
This is similar to how the h2demo command was carved out into a separate
module in CL 162822.
The motivation for doing this is that the maintserve command requires a
large number of dependencies for its own use, that no other package in
x/build needs. Even though authors of library modules should not be
requiring x/build, it still happens (see golang/go#29935). So, improve
the situation by moving maintserve into a module separate from x/build,
which in turn significantly reduces the dependencies in x/build.
Updates golang/go#29935
Change-Id: Ic64da32be142fedf6475a11fea787cdfe245e0ce
Reviewed-on: https://go-review.googlesource.com/c/build/+/167461
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Commands run:
go get -u
go get github.com/russross/blackfriday@v1
go mod tidy
go test ./...
Change-Id: I65db2cd0b8dc60bb8a90433d11c4d0e72ddf7099
Reviewed-on: https://go-review.googlesource.com/c/145857
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
We started using ListTeamMembersOptions in CL 132995, but it requires
go-github v17.
We updated to the v17 API for (*IssuesService).Lock in CL 129075, but
didn't bump the go.mod.
This fixes 'go test ./...' in module mode.
To reproduce this change:
go get github.com/google/go-github@latest
go mod tidy
Change-Id: Ie586ebae95331a1674a0efd29a6b9004ac28be40
Reviewed-on: https://go-review.googlesource.com/137317
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
The only valid semantic-version tags for that module are
three-year-old prereleases (v2.0.0-beta.2), and they predate one of
the packages we need to resolve (github.com/google/martian/httpspec).
Explicitly use a newer pseudoversion.
Change-Id: Ia54e8e9f958e300a61bdf226b8d1e24615b3e453
Reviewed-on: https://go-review.googlesource.com/137316
Run-TryBot: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
I computed these using a build of the Go toolchain from a working copy at
https://golang.org/cl/128136, patchset 12.
The versions selected by 'go mod tidy' needed two tweaks to pass tests:
go get golang.org/x/text@master
go get github.com/russross/blackfriday@v1
The x/text version bump is because the last tagged version (v0.3.0) is very old
(last December).
The blackfriday bump is because the repository made a breaking change (v2.0.0)
without changing the import path.
With those changes, 'go test ./...' passes at the repo root.
('go test all' fails, possibly due to golang/go#26279.)
Updates golang/go#26279.
Updates golang/go#26872.
Change-Id: Ieac5327e4bddd2b78b981d7683beb98608708a3a
Reviewed-on: https://go-review.googlesource.com/128636
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>