Commit ed4a80c4 authored by Matthew Slipper's avatar Matthew Slipper Committed by GitHub

ci: Port some CI jobs to self-hosted runners (#12199)

* ci: Port some CI jobs to self-hosted runners

This PR ports the following CI jobs to use self-hosted runners:

- cannon-go-lint-and-test
- contracts-bedrock-build
- go-lint
- go-test-kurtosis
- go-e2e-test
- cannon-prestate

These jobs benefit from running on beefier hardware. Since Go cache data is shared among the executors, it also allowed me to remove a lot of the manual caching logic from our builds while  improving Go compilation times overall.

I'll provide a separate writeup detailing exactly how the executors work.

* use test result directories in the workspace
parent 6f41bac6
This diff is collapsed.
......@@ -13,6 +13,8 @@ import (
"testing"
"time"
op_e2e "github.com/ethereum-optimism/optimism/op-e2e"
"github.com/ethereum-optimism/optimism/op-chain-ops/deployer"
"github.com/holiman/uint256"
......@@ -66,6 +68,7 @@ func (d *deployerKey) String() string {
}
func TestEndToEndApply(t *testing.T) {
op_e2e.InitParallel(t)
kurtosisutil.Test(t)
lgr := testlog.Logger(t, slog.LevelDebug)
......@@ -363,6 +366,7 @@ func TestApplyExistingOPCM(t *testing.T) {
}
func TestL2BlockTimeOverride(t *testing.T) {
op_e2e.InitParallel(t)
kurtosisutil.Test(t)
lgr := testlog.Logger(t, slog.LevelDebug)
......
num_cores := $(shell nproc)
# Generally, JUNIT_FILE is set in CI but may be specified to an arbitrary file location to emulate CI locally
# If JUNIT_FILE is set, JSON_LOG_FILE should also be set
ifdef JUNIT_FILE
go_test = OP_TESTLOG_DISABLE_COLOR=true OP_E2E_DISABLE_PARALLEL=false gotestsum --format=testname --junitfile=$(JUNIT_FILE) --jsonfile=$(JSON_LOG_FILE) -- -failfast
# Note: -parallel must be set to match the number of cores in the resource class
go_test_flags = -timeout=60m -parallel=8
go_test_flags = -timeout=60m -parallel=$(num_cores)
else
go_test = go test
go_test_flags = -v
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment