Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 26 additions & 10 deletions .github/workflows/rsk-test.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Go CI for the RSK fork: whole-module static checks, plus a scoped test suite
# for the packages the fork diverges from upstream in.
# for RSK-divergent packages and consumer trees.
#
# Both jobs run on every PR to rsk/** (and on push to rsk/develop). They are
# separate jobs so they run in parallel and neither hides the other's result;
Expand All @@ -20,8 +20,8 @@ permissions:

jobs:
# Build, vet and lint EVERY package. `go test` only compiles the packages it
# runs, so until this job existed a compile error anywhere outside the six
# trees in go-tests passed CI unnoticed (PAYROLLUP-137). rootstack, which
# runs, so until this job existed a compile error anywhere outside the
# scoped trees in go-tests passed CI unnoticed (PAYROLLUP-137). rootstack, which
# consumes this fork, already ran build and vet before its own tests; this
# closes the gap on our side. Locally the same checks are `go build ./...`,
# `go vet ./...` and `just lint-go`.
Expand Down Expand Up @@ -52,7 +52,7 @@ jobs:
# checkout cannot even load the package ("pattern
# superchain-configs.zip: no matching files found"), so Build, Vet and
# Lint below all need this step first. go-tests does not: none of its
# six trees import op-core/superchain.
# scoped trees import op-core/superchain.
#
# Same command as `just sync-superchain`. Needs git, yq, jq and zip, all
# preinstalled on the runner image; ~6 s (a shallow clone of the registry).
Expand Down Expand Up @@ -106,7 +106,7 @@ jobs:
- name: Lint
run: ./linter/bin/op-golangci-lint run ./...

# Scoped Go tests for the packages the RSK fork diverges from upstream in.
# Scoped Go tests for RSK-divergent packages and consumer trees.
#
# A single `go test` over the package paths below covers two things at once:
# upstream's existing tests, as a regression guard that the fork's changes
Expand All @@ -118,6 +118,13 @@ jobs:
# op-deployer/pkg/deployer/forge is EXCLUDED here: its tests invoke the `forge`
# binary (Foundry) and compile Solidity, so they need a Foundry-enabled runner.
# That job exists separately, in rsk-contracts-test.yml.
#
# TestLastStepCacheAccuracy needs gitignored cannon artifacts and its package
# imports no RSK-edited code, so skipping it loses no signal (PAYROLLUP-132).
#
# op-deployer bootstrap, manage, opcm, pipeline, verify and integration_test
# need forge-artifacts or the synced superchain registry, so they stay with
# the Foundry tier (PAYROLLUP-132).
Comment on lines +125 to +127
go-tests:
runs-on: ubuntu-latest
timeout-minutes: 20
Expand All @@ -132,12 +139,21 @@ jobs:
go-version-file: go.mod
cache: true

- name: Test RSK-divergent packages
- name: Test RSK-divergent and consumer trees
run: |
go test -timeout 15m \
./op-node/rollup/derive/... \
./op-node/node/... \
go test -timeout 15m -skip '^TestLastStepCacheAccuracy$' \
./op-node/... \
./op-service/sources/... \
./op-service/txmgr/... \
./op-deployer/pkg/deployer/broadcaster/... \
./op-proposer/contracts/...
./op-deployer/pkg/deployer \
./op-deployer/pkg/deployer/artifacts/... \
./op-deployer/pkg/deployer/clean/... \
./op-deployer/pkg/deployer/standard/... \
./op-deployer/pkg/deployer/state/... \
./op-deployer/pkg/deployer/upgrade/embedded/... \
./op-deployer/pkg/deployer/upgrade/v2_0_0/... \
./op-deployer/pkg/deployer/validate/... \
./op-batcher/... \
./op-proposer/... \
./op-challenger/...
Loading