-
Notifications
You must be signed in to change notification settings - Fork 0
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
CUS-345: CI: use self-hosted runners #7
Conversation
Local builds only for now. Waiting for an upstream bug fix to land in Opal for macOS. |
- os: "macos" | ||
arch: "x64" | ||
os_distribution: "monterey" | ||
os_version: "12" | ||
revision: "d04e89854b3931f4aaced77aa3a2fcad5834b3a6" | ||
|
||
golang-builder: | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 5 | ||
- os: "windows" | ||
arch: "x64" | ||
os_distribution: "server" | ||
os_version: "2022" | ||
revision: "d04e89854b3931f4aaced77aa3a2fcad5834b3a6" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why add all the platforms? AFAICT we can build and release our binaries using Linux as the exec platform (for either local or remote builds)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could build and release the binaries, but we can't run the tests on other platforms.
The other issue is that the GoStdLib
action is kind of slow if we're building for three platforms on the same machine. There are a few ways to speed that up, but it's easy to run on separate machines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding info from our chat: test coverage is important; if we add builds that use the Go toolchain (either via bazel run @rules_go//go -- build ./...
, or via Docker images with the Go toolchain installed) then we can choose whether we implement these checks via bazel test
or go test
.
the GoStdLib action is kind of slow if we're building for three platforms on the same machine
Agreed, though I think we will be resolving that with RBE?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, though I think we will be resolving that with RBE?
Unfortunately, I don't think Bazel can test on more than one platform at a time, even with RBE. Running Bazel on multiple machines helps a little with that.
LGTM! Added a PR description - do you mind checking it for accuracy/completeness? |
Thanks, I edited in that we also want to control the CI environment. |
This change moves the various workflow steps from Github hosted runners to our self-hosted runners, so that we control the CI environment and save on Github action minutes spent. Since the self-hosted runners don't have the Go toolchain installed, these builds are removed (hopefully temporarily, while we resolve this issue).
Tested: workflows successfully run on this PR
Bug: CUS-345