It's not needed as of Go 1.20, the generator
is seeded randomly at program startup anyway.
Change-Id: Ic1f5cd84df333a73c8bd39be70f88df03c690e81
Reviewed-on: https://go-review.googlesource.com/c/build/+/599736
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
We're gearing up to put most everything behind Cloud load balancers, at
which point Autocert serving will be unnecessary. To support HTTP/2 we
still need to serve TLS, but we can do it using a self-signed
certificate.
Unify the configuration of all that stuff behind a single set of flags
and clean up all the copied and tweaked code I could find.
The self-signed serving is dormant for now; I'll activate it in a later
change.
I didn't understand the need to tweak keepalive intervals everywhere;
keepalives have been on by default since 1.13. So I dropped them.
Change-Id: I0016211f1032a6c64375aad9e34e4e2e62861c5b
Reviewed-on: https://go-review.googlesource.com/c/build/+/358654
Trust: Heschi Kreinick <heschi@google.com>
Trust: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Run-TryBot: Alexander Rakoczy <alex@golang.org>
Following:
https://cloud.google.com/kubernetes-engine/docs/concepts/ingresshttps://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs
Create an Ingress with HTTPS redirects enabled.
For each of build, dev, gerritbot, maintner:
- Add three certs: the new Google-managed cert, plus the two old LE certs.
- Add an ingress rule for the host, and a new internal Service it maps to.
- Disable our own HTTPS redirects, since the ingress terminates HTTPS.
They will be accessible via HTTP for the duration of the migration;
they don't serve anything sensitive anyway.
dev-test.golang.org is already rolled out using only a Google-managed
cert, so you can try HTTP and HTTPS directly there. I've also verified
that the LE certs are served:
curl -v --resolve dev.golang.org:443:34.149.223.5 https://dev.golang.org/
Change-Id: I20f3c92ffb00dbd9066822f748508013b68d5483
Reviewed-on: https://go-review.googlesource.com/c/build/+/355670
Trust: Heschi Kreinick <heschi@google.com>
Trust: Alexander Rakoczy <alex@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
+ Adds a stats page that shows open CLs over time
+ Adds a command-line flag to reload templates on each request
+ Breaks some repeated code into some shared logic
+ Some minor cleanup to adhere to best practices
Change-Id: I2d84a1e5c77c7e9131c758d69e4a9bf9a9d815f4
Reviewed-on: https://go-review.googlesource.com/c/build/+/199637
Run-TryBot: Andrew Bonventre <andybons@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
We need to add this manually in order to enable the tls-alpn-01
challenge, since we're using GetCertificate directly instead of
via Manager.TLSConfig. We also don't have the http-01 challenge
enabled (HTTPHandler isn't being used), so this is the only way
for a Let's Encrypt certificate to be acquired now that tls-sni-*
challenges have been deprecated.
In the future, this code can probably be simplified by using
higher-level APIs of autocert, but this fixes the immediate issue.
Updates golang/go#32272
Change-Id: Ia72bca3e44bc585b0dfe5c7bcd3e4f544272d1ab
Reviewed-on: https://go-review.googlesource.com/c/build/+/179097
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This will allow for zero-downtime deployments, which will be
important for when services start relying on the /owners endpoint.
Change-Id: I4671dbbbf473ba07dbab585222d12832c3193fac
Reviewed-on: https://go-review.googlesource.com/127036
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This reverts the status changes to devapp from CL 96416
This will go into its own server instead.
Updates golang/go#21315
Updates golang/go#22603
Change-Id: Icb17a5915124241b2ef97a1ee2e9a0e4298784ce
Reviewed-on: https://go-review.googlesource.com/97516
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Also bump Go from 1.8 to 1.10, and change how the static binary is
built to avoid warnings during link.
Updates golang/go#21315
Updates golang/go#22603
Change-Id: I426491d48f787a77cb3eea4dff4d11f474236548
Reviewed-on: https://go-review.googlesource.com/96416
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Adds two new functions to maintner:
+ (*GerritCL).Subject() returns the first line of the latest
commit message.
+ (*GitHubRepo).ForeachMilestone calls a passed function for each
milestone in the repo.
Change-Id: I08c50ea53b781064c8ab2ddaff2177f51ebb091d
Reviewed-on: https://go-review.googlesource.com/50652
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
+ Add UpdateWithLocker method to maintner.Corpus to allow an
external locker to be passed that will be held during mutations.
+ Add OwnerID to maintner.GerritCL that returns the Gerrit user ID
of a change using its meta commits.
+ Add maintner corpus to server.
+ Add /imfeelinglucky and /imfeelinghelpful endpoints that redirect
to a random HelpWanted GitHub issue.
+ Add initial scaffold for GopherCon dashboard.
Change-Id: I2567b084f012cad5a9b4dee07e92be05088ac9d8
Reviewed-on: https://go-review.googlesource.com/47830
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This change removes all but the / and /release endpoints, moving
things around and deleting all App Engine-specific code while
attempting to not make many core logic changes (those will come in a
follow-up change).
Updates golang/go#20691
Change-Id: Ie8fa184578177cc2cb3c070e9108cf27d9e6f689
Reviewed-on: https://go-review.googlesource.com/46832
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
+ Remove superfluous check for PORT env var since only the flag
will be used.
+ Remove HTML being written to the page before escaping step,
causing jank.
+ Grab the GitHub token from GCE metadata if it’s available.
Updates golang/go#20691
Change-Id: I10fbc163ee91907ef0b843c823f40fd87a62f476
Reviewed-on: https://go-review.googlesource.com/46210
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Fix a vet error in cmd/buildlet/stage0 and a devapp test was failing
on Travis CI because the mime.types on that box did not match the
standard mime.types on a Mac.
Change-Id: Iabfd00542495ec34d912900e88da41be5c1cad54
Reviewed-on: https://go-review.googlesource.com/42147
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
devapp now supports 3 modes of operation:
- App Engine Standard. This supports Go 1.6 and requires a modified
local go-github to continue working. This app is built with the
"appengine" build tag.
- App Engine Flex. This builds Go 1.8 in a Docker container, using the
build tag "appenginevm", and works with the Google Cloud platform.
- Normal. This uses an in-memory datastore, and does not
support user login/logout.
To get this working I copied appengine.go to noappengine.go and
modified the calls until they were working. You can view a running app
at https://devapp-161505.appspot.com.
Change-Id: I8ea018e63baf2dafb44150f7eee419e09065ba2c
Reviewed-on: https://go-review.googlesource.com/38161
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
The latest master for go-github (google/go-github@23d6cb9c) adds
Context parameters as the first argument to every function call.
Update code that calls go-github to have contexts, where appropriate,
and adds timeouts to some long-running commands that didn't
previously have them.
Fixesgolang/go#19208.
Change-Id: I25203de5d10ada1dcd3a97eb5434a85bb328ce7e
Reviewed-on: https://go-review.googlesource.com/37293
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Per discussion on the mailing list we want to make this app run
on more environments than App Engine and hopefully with a backing
datastore that is just in-memory, or at the very least is not App
Engine specific.
Puts the datastore implementation detail behind an appengine build flag.
Adds an in-memory datastore if you are not running on App Engine; it's slow
since you have to fetch issues every time, but you can get all of the issues
and browse them. Adds a single test so we have the most basic of protections
against a regression.
Add a cmd/devapp main package so we can run the server outside of an
App Engine context.
Rename gg.Percentile to gg.Quantile to match the change in the latest
version of the downstream library.
Change-Id: Icbdef29676ecbf7078b0fb8c3920f61df60a5e2e
Reviewed-on: https://go-review.googlesource.com/34928
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This imports https://swtch.com/tmp/dash.html and makes it render for any
release. Initially, the only graph is the # of open issues by milestone
over the course of the release.
The dashboard is not currently tracking label history, which is needed
to draw the second graph on that page.
Change-Id: I9bd031f8709701b304e18208ae3c972bdfe3b276
Reviewed-on: https://go-review.googlesource.com/30012
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This adds a new project health dashboard, at /stats, that shows (for
now) 3 graphs of issue health.
Change-Id: Id9310924027a66af63e7a46b6a10a66917e01295
Reviewed-on: https://go-review.googlesource.com/28092
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
A subsequent CL will add a dashboard for graphing project health; this
CL collects information about when issues are opened, closed, and
milestoned.
This also includes a refactor of the guts of devapp to make it more
modular.
It also adds logging to the godash library, which can be activated with
the -v flag in the godash command.
Change-Id: I54c1419435e496f5c0e2e7f4b966b3ee4de0b0a1
Reviewed-on: https://go-review.googlesource.com/28091
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Resurrect the old go-dev.appspot.com, now backed by Gerrit and
GitHub.
Everything works except the state-mutating functions (permanently muting
directories, and changing the assigned reviewer from the dashboard). The
latter will likely never work with Gerrit.
Change-Id: Iad712ef2995f21083dbc57b399504d9da6f0f2c6
Reviewed-on: https://go-review.googlesource.com/23600
Reviewed-by: Andrew Gerrand <adg@golang.org>
This uses the godash command/library to serve release dashboards, on a
new app to be hosted at dev.golang.org.
The dashboards are automatically updated by a cron job every 30 minutes.
Change-Id: I2e1e6a270e26fd93a9c767b0168e2c8c520e8ace
Reviewed-on: https://go-review.googlesource.com/23210
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>