Commit Graph

53 Commits

Author SHA1 Message Date
Aaron Gable 2a84211ec5
Fix filename of add-to-project workflow (#6177)
The workflow wasn't running because GitHub didn't
recognize the config file due to the missing extension.
2022-06-17 13:59:19 -07:00
Aaron Gable d6e151dfcc
Automatically add new issues to triage project (#6165)
Create a GitHub Actions workflow that automatically adds
newly-filed bugs to https://github.com/orgs/letsencrypt/projects/6.
The `ADD_TO_PROJECT_PAT` secret is a Personal Access
Token configured as laid out at
https://github.com/actions/add-to-project#creating-a-pat-and-adding-it-to-your-repository
2022-06-14 15:53:25 -07:00
dependabot[bot] 99dcb9a5b3
Bump docker/login-action from 1.8.0 to 2.0.0 (#6118)
Bumps [docker/login-action](https://github.com/docker/login-action) from 1.8.0 to 2.0.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1.8.0...v2.0.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-31 15:35:52 -07:00
Jacob Hoffman-Andrews 3e01ffe8bf
Revert "Add GitHub Action for golangci-lint (#5973)" (#6138)
This reverts commit 5fe5859c38.

Per #5973:

> we will eventually want to go back to doing this in boulder-tools, so it's easy
> to run the lints locally. But this is useful so we can unblock testing on go 1.18beta2.
2022-05-25 14:35:39 -07:00
dependabot[bot] fd57e39414
Bump actions/checkout from 2 to 3 (#6107)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-24 14:36:27 -07:00
Aaron Gable 9b4ca235dd
Update boulder-tools dependencies (#6129)
Update:
- golangci-lint from v1.42.1 to v1.46.2
- protoc from v3.15.6 to v3.20.1
- protoc-gen-go from v1.26.0 to v1.28.0
- protoc-gen-go-grpc from v1.1.0 to v1.2.0
- fpm from v1.14.0 to v1.14.2

Also remove a reference to go1.17.9 from one last place.

This does result in updating all of our generated .pb.go files, but only
to update the version number embedded in each file's header.

Fixes #6123
2022-05-20 14:24:01 -07:00
Aaron Gable f958d479f9
Stop testing on go1.17 (#6126)
We are using exclusively go1.18 in our deployment environments.
2022-05-18 08:40:29 -07:00
dependabot[bot] 6f5b3e7f2e
Bump golangci-lint actions/setup-go from v2 to v3 (#6108)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2 to 3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2...v3)

We don't use any special configuration for setup-go, so this is fully backwards
compatible for us.
2022-05-12 10:04:48 -07:00
nathannaveen d40edc1933
Set permissions for GitHub actions (#6044)
Explicitly restrict the permissions used by the boulder-ci workflow jobs.
2022-05-10 13:24:30 -07:00
Aaron Gable f6978f396f
Improve github release artifacts (#6092)
Generate .deb packages for all currently configured Go versions
(usually the current and upcoming versions that we use in prod), rather
than just the one default version. Also ensure that the uploaded
artifacts have 8-character short hashes in their names.

Unfortunately this does require updating Go versions in one additional
place (the release.yml file), since we are no longer parsing it out of the
docker-compose.yml. This is unavoidable without hacks that I consider
to be even uglier than the repetition.

Fixes #6075
Fixes #6084
2022-05-09 16:41:26 -07:00
Jacob Hoffman-Andrews 23fc3c907b
Split up build and release job (#6055)
This allows us to narrow permissions by only granting write privileges
to the upload portion of the job (which doesn't run any code from our
repo). It also allows us to verify that the release build works on every
commit, while only generating releases on actual release tags.
2022-04-19 21:42:23 -07:00
Samantha bafe45f301
Update Go to 1.17.9 and 1.18.1 (#6047)
go1.17.9 (released 2022-04-12) includes security fixes to the crypto/elliptic and encoding/pem packages, as well as bug fixes to the linker and runtime. See the [Go 1.17.9 milestone](https://github.com/golang/go/issues?q=milestone%3AGo1.17.9+label%3ACherryPickApproved) on our issue tracker for details.

go1.18.1 (released 2022-04-12) includes security fixes to the crypto/elliptic, crypto/x509, and encoding/pem packages, as well as bug fixes to the compiler, linker, runtime, the go command, vet, and the bytes, crypto/x509, and go/types packages. See the [Go 1.18.1 milestone](https://github.com/golang/go/issues?q=milestone%3AGo1.18.1+label%3ACherryPickApproved) on our issue tracker for details.
2022-04-12 19:32:42 -07:00
Aaron Gable e128685d7a
Update to latest version of golangci-lint (#6032)
Update from v1.42.1 to v1.45.2. This version has both
better support for go1.18, and better automatic detection
of which go version to use (based on our go.mod file,
it will currently use go1.17).
2022-04-04 16:59:35 -07:00
Samantha 3dfe4efe5c
CI: Update make-deb.sh path in release action (#6015) 2022-03-21 16:50:52 -07:00
Aaron Gable c57b12436d
Remove update-master github workflow (#6013)
We've had this disabled for a long time now, and nothing
relies on keeping `master` up to date anymore.
2022-03-21 14:58:06 -07:00
Jacob Hoffman-Andrews 7d00d9fbcf
Use go1.18 in CI, and fix up Docker image (#6002)
- Remove GOPATH-style path structure, which isn't needed with Go
modules.
- Remove check for existing of docker buildx builder instance, since it
was unreliable.
2022-03-21 12:24:13 -07:00
Samantha 4cb3afc9a3
Grant release action permission to post packages to releases (#6004) 2022-03-17 15:36:21 -07:00
Samantha 21416b4d72
Post Debian package on release tag cut (#5977)
- Add a CI workflow which publishes a GitHub Release containing a Debian package
  when a release tag is pushed
- Add a script, called by the CI host, that installs all of the dependencies
  necessary to `make` a Debian package
- Remove the, now defunct, goreleaser config file

Fixes #5970
2022-03-10 16:00:39 -08:00
Jacob Hoffman-Andrews 6395701244
Update CI to test go1.18beta2 (#5982)
This requires using GODEBUG to enable a couple of thing turned off by go1.18 (TLS 1.0/1.1, SHA-1 CSRs).

Also add help for a failure mode of cross builds.
2022-03-09 13:42:15 -08:00
Jacob Hoffman-Andrews 5fe5859c38
Add GitHub Action for golangci-lint (#5973)
Adapted from https://github.com/golangci/golangci-lint-action#how-to-use.
Uses the same version we've been using in boulder-tools.

Part of #5946

Note: we will eventually want to go back to doing this in boulder-tools,
so it's easy to run the lints locally. But this is useful so we can
unblock testing on go 1.18beta2.
2022-02-28 09:55:26 -08:00
Andrew Gabbitas 3bb3421631
Remove go 1.17.5 from test matrix (#5940) 2022-02-12 12:03:23 -07:00
Andrew Gabbitas fcb817897c
Add go1.17.7 to the test matrix (#5939) 2022-02-10 17:50:46 -07:00
Aaron Gable ad0e56ec4a
Remove test coverage on go1.17 (#5882) 2022-01-14 16:22:24 -08:00
Samantha 7d4facc403
test: Install arm64 protobuf for arm64 docker images (#5880) 2022-01-13 13:45:38 -08:00
Samantha 8a1b51f81b
Use go install for dep binaries when building docker (#5858)
Update the way our docker build script installs the binaries we rely on
at runtime to avoid "go get" deprecation warnings.

Fixes #5744
2021-12-16 19:02:46 -08:00
Aaron Gable c88640c816
Run tests on Go 1.17.5 (#5845)
Build a new docker container for the new Go 1.17.5 security release,
which includes a fix for the `net/http` package. Update our CI to run
tests on both our current and the new go versions.
2021-12-10 14:44:23 -08:00
Jacob Hoffman-Andrews dfc3ea434f
Tidy up CI (#5806)
Remove goreleaser since we're not currently using it.
Remove the script that moves PRs from master to main because it hasn't
been needed in practice.

Set persist-credentials: true for Boulder CI.
2021-11-17 19:18:52 -08:00
Jacob Hoffman-Andrews 803d6cfbf6
Fix leftover test.sh in matrix. (#5730) 2021-10-20 08:23:00 -07:00
Jacob Hoffman-Andrews ac125dc60f
Make test matrix results more readable (#5711)
Right now when looking at a list of Boulder CI test results, they all
say:

boulder_ci_tests (go_1.17_2021-...

Which is not very informative as to which type of test failed. This
shortens the test name to "ci", and also changes the invoked command so
more of it fits on the screen. That involves adding two new scripts,
t.sh and tn.sh, which each run `docker-compose run ... test.sh`. tn.sh
runs it with the appropriate flags to use config-next.
2021-10-14 16:15:57 -07:00
Amir Omidi 30dce246c4
Add maintainer, ldflags, and vendor to goreleaser (#5657) 2021-09-21 13:33:54 -06:00
Amir Omidi be8cb741be
Integrate with goreleaser (#5654)
* Integrate with goreleaser to make building and deployment of Boulder components easier.
2021-09-15 11:33:38 -06:00
Andrew Gabbitas 258e0cf7c1
Remove go 1.16.6 from testing (#5636)
Fixes: #5585
2021-09-07 15:34:54 -06:00
Andrew Gabbitas 9fd55b6e39
Update Boulder CI to golang 1.17 (#5608)
Part of #5585
2021-08-26 14:34:36 -07:00
Aaron Gable 9a7dd0bb33
Update from go1.17beta1 to go1.17rc1 (#5537) 2021-07-13 15:57:35 -07:00
Aaron Gable 4c581436a3
Add go1.17beta1 to CI (#5483)
Add go1.17beta1 docker images to the set of things we build,
and integrate go1.17beta1 into the set of environments CI runs.
Fix one test which breaks due to an underlying refactoring in
the `crypto/x509` stdlib package. Fix one other test which breaks
due to new guarantees in the stdlib's TLS ALPN implementation.

Also removes go1.16.5 from CI so we're only running 2 versions.

Fixes #5480
2021-07-13 10:00:04 -07:00
Andrew Gabbitas fc9ac77a69
Add testing for go1.16.6 (#5524) 2021-07-12 23:41:06 -06:00
Aaron Gable 915510b5ab
Run GitHub Actions on all PRs (#5510)
Currently we only run pre-submit CI for PRs which are against
our main branch or release branches. This means that "stacked"
PRs (a chain of PRs which all build on each other, and which will
need to be submitted in order) don't get any CI runs for PRs beyond
the first.

We don't expect large amounts of PR spam running us out of free
GH Actions credits, so just run CI for all PRs. Continue to run post-
submit CI only for commits to main and release branches so that we
don't prematurely run it on not-yet-PR-ready branches.
2021-07-09 10:32:27 -07:00
Aaron Gable 923aef5839
Update to go1.16.5 (#5482)
Includes a number of updates to packages we use: math/big,
net, net/http/httputil, and archive/zip. See release notes at
https://golang.org/doc/devel/release#go1.16.minor

Fixes #5464
2021-06-15 11:42:04 -07:00
Aaron Gable d61be404d1
Run CI for commits and PRs to release branches (#5475)
In normal operation, Boulder does not have release branches, only
release tags. However, when we need to add hotfix commits on top of an
old release, we create a release branch, merge the commits there, and
then produce a new tag pointing at the tip of that branch. These release
branches are documented[1] to be named `refs/heads/release-branch-*`.
Therefore, we should run CI for PRs targeting, and new commits on, those
release branches.

[1] https://github.com/letsencrypt/boulder-release-process#when-main-is-dirty
2021-06-11 12:45:53 -07:00
Andrew Gabbitas 401df1c48a
Remove go1.16.2 from ci matrix (#5417)
Fixes #5416
2021-05-14 11:04:25 -07:00
Aaron Gable 81bb7dd571
Add Go 1.16.4 to docker image and CI (#5407)
This minor release contains a security fix for the http package's
Client, Server, and Transport, all of which we use.

CVE-2021-31525
2021-05-06 13:33:07 -07:00
Amir Omidi 4205363ae3
Add deb target to the Makefile (#5375)
Enables the use of `make deb` to build and then generate a deb package using `fpm`.
2021-04-02 13:13:27 -07:00
Jacob Hoffman-Andrews 7194624191
Update grpc and protobuf to latest. (#5369)
protoc now generates grpc code in a separate file from protobuf code.
Also, grpc servers are now required to embed an "unimplemented"
interface from the generated .pb.go file, which provides forward
compatibility.

Update the generate.go files since the invocation for protoc has changed
with the split into .pb.org and _grpc.pb.go.

Fixes #5368
2021-04-01 17:18:15 -07:00
Andrew Gabbitas 3d9d5e2306
Cleanup go1.15.7 (#5374)
Remove code that is no longer needed after migrating to go1.16.x.
Remove testing with go1.15.7 in the test matrix.

Fixes #5321
2021-04-01 10:50:18 -07:00
Jacob Hoffman-Andrews b5471f36f0
Switch to OS-provided SoftHSM2. (#5365)
The OS-provided packages used to be too old for us, but now they are
not!
2021-03-30 17:37:58 -07:00
Samantha 1e5d89e6c8
Remove Coveralls (#5363)
- Remove `goveralls`, `gover`, and `cover` from `build.sh`.
- Remove `--coverage` option from `test.sh`.
- Update Docker image in `docker-compose.yml` and
  `.github/workflows/boulder-ci.yml`

Fixes #5357
2021-03-29 11:56:52 -07:00
Samantha cdce9f0f2f
Remove Travis-CI (#5356)
- Remove `.travis.yml`
- Remove references to Travis in `test.sh`
- Update documentation in `test/boulder-tools/README.md`, `README.MD`,
  and `CONTRIBUTING.MD`
- Update comments in `.github/workflows/boulder-ci.yml`

Fixes #5329
2021-03-19 17:49:05 -07:00
Andrew Gabbitas 8315393eb1
Update tests to go1.16.2 (#5342)
* Update to go1.16.2

Fixes #5333
2021-03-16 14:56:20 -06:00
Samantha fc53482cac
Run db-next migrations with config-next configuration (#5320)
Docker container should load the appropriate schema (`sa/_db` or
`sa/_db-next`) for the given configuration.

- Add `docker-compose.next.yml` docker-compose overrides
- Detect when to apply `sa/_db-next/migrations`
- Detect mismatch between `goose dbversion` and the latest migration
- Symlink `promoted` schema back to `sa/_db-next/migrations`
- Add tooling to consistently promote/demote schema migrations

Fixes #5300
2021-03-11 14:45:32 -08:00
Andrew Gabbitas ceffe18dfc
Add testing for golang 1.16 (#5313)
- Add 1.16.1 to the GitHub CI test matrix
- Fix tlsalpn tests for go 1.16.1 but maintain compatibility with 1.15.x
- Fix integration tests.

Fix: #5301
Fix: #5316
2021-03-11 11:47:41 -08:00