Skip to content
Merged
Show file tree
Hide file tree
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
217 changes: 11 additions & 206 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -717,42 +717,6 @@ jobs:
docker pull $image_name || exit 1
docker run $image_name <<parameters.op_component>> --version || exit 1


contracts-bedrock-frozen-code:
machine: true
resource_class: ethereum-optimism/latitude-1
steps:
- checkout-from-workspace
- check-changed:
patterns: contracts-bedrock
- get-target-branch
- run:
name: Check if target branch is develop or proposal branch
command: |
# If the target branch is not develop or proposal branch, do not run this check
if [ "${TARGET_BRANCH}" != "develop" ] && [[ ! "${TARGET_BRANCH}" =~ ^proposal/.* ]]; then
echo "Target branch is not develop or proposal branch, skipping frozen files check"
circleci-agent step halt
fi
- run:
name: Check if PR has exempt label
command: |
# Get PR number from CIRCLE_PULL_REQUEST
PR_NUMBER=$(echo $CIRCLE_PULL_REQUEST | rev | cut -d/ -f1 | rev)

# Use GitHub API to get labels
LABELS=$(curl -s "https://api.github.com/repos/${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}/pulls/${PR_NUMBER}" | jq -r .labels)

# If the PR has the "M-exempt-frozen-files" label, do not run this check
if echo $LABELS | jq -e 'any(.[]; .name == "M-exempt-frozen-files")' > /dev/null; then
echo "Skipping frozen files check, PR has exempt label"
circleci-agent step halt
fi
- run:
name: Check frozen files
command: just check-frozen-code
working_directory: packages/contracts-bedrock

contracts-bedrock-tests:
circleci_ip_ranges: true
docker:
Expand Down Expand Up @@ -1158,9 +1122,6 @@ jobs:
<<parameters.environment_overrides>>
export TEST_TIMEOUT=<<parameters.test_timeout>>
make <<parameters.rule>>
- codecov/upload:
disable_search: true
files: ./coverage.out
- store_test_results:
path: ./tmp/test-results
- run:
Expand Down Expand Up @@ -1244,15 +1205,6 @@ jobs:

op-acceptance-tests:
parameters:
devnet:
description: |
The name of the pre-defined kurtosis devnet to run the acceptance tests against
(e.g. 'simple', 'isthmus', 'interop'). Empty string uses
in-process testing (sysgo orchestrator). Named devnets use
external testing (sysext orchestrator) and must have a
recipe defined in kurtosis-devnet/Justfile.
type: string
default: ""
gate:
description: The gate to run the acceptance tests against. This gate should be defined in op-acceptance-tests/acceptance-tests.yaml.
type: string
Expand All @@ -1267,42 +1219,6 @@ jobs:
resource_class: xlarge
steps:
- checkout-from-workspace
- run:
name: Setup Kurtosis (if needed)
command: |
if [[ "<<parameters.devnet>>" != "" ]]; then
echo "Setting up Kurtosis for external devnet testing..."

# Print Kurtosis version
echo "Using Kurtosis from: $(which kurtosis || echo 'not found')"
kurtosis version

# Start Kurtosis engine
echo "Starting Kurtosis engine..."
kurtosis engine start || true

# Clean old instances
echo "Cleaning old instances..."
kurtosis clean -a || true

# Check engine status
kurtosis engine status || true

echo "Kurtosis setup complete"
else
echo "Using in-process testing (sysgo orchestrator) - no Kurtosis setup needed"
fi
# Notify us of a setup failure
- when:
condition: on_fail
steps:
- discord-notification-failures-on-develop:
mentions: "<@&1346448413172170807>" # Protocol DevX Pod
message: "Devnet <<parameters.devnet>>-devnet failed to start"
- run:
name: Stop the job if the devnet failed to start
command: circleci-agent step halt
when: on_fail
# Restore cached Go modules
- restore_cache:
keys:
Expand All @@ -1323,13 +1239,13 @@ jobs:
name: Run acceptance tests (gate=<<parameters.gate>>)
working_directory: op-acceptance-tests
no_output_timeout: 1h
environment:
GOFLAGS: "-mod=mod"
GO111MODULE: "on"
GOGC: "0"
command: |
# Run the tests
LOG_LEVEL=debug just acceptance-test "<<parameters.devnet>>" "<<parameters.gate>>"
if [[ "<<parameters.gate>>" == "" ]]; then
echo "Running in gateless mode - auto-discovering all tests in ./op-acceptance-tests/..."
else
echo "Running in gate mode (gate=<<parameters.gate>>)"
fi
LOG_LEVEL=info just acceptance-test "" "<<parameters.gate>>"
- run:
name: Print results (summary)
working_directory: op-acceptance-tests
Expand Down Expand Up @@ -1372,37 +1288,12 @@ jobs:
steps:
- store_artifacts:
path: ./op-acceptance-tests/logs
# Dump kurtosis logs if external devnet was used
- run:
name: Dump kurtosis logs (if external devnet was used)
when: on_fail
command: |
if [[ "<<parameters.devnet>>" != "" ]]; then
# Dump logs & specs
kurtosis dump ./.kurtosis-dump

# Remove spec.json files
rm -rf ./.kurtosis-dump/enclaves/**/*.json

# Remove all unnecessary logs
rm -rf ./.kurtosis-dump/enclaves/*/kurtosis-api--*
rm -rf ./.kurtosis-dump/enclaves/*/kurtosis-logs-collector--*
rm -rf ./.kurtosis-dump/enclaves/*/task-*
else
echo "In-process testing was used - no kurtosis logs to dump"
fi
- when:
condition: always
steps:
- store_artifacts:
path: ./.kurtosis-dump/enclaves
destination: op-acceptance-tests/kurtosis-logs
- when:
condition: on_fail
steps:
- discord-notification-failures-on-develop:
mentions: "Platforms (<@225161927351992320>) & Protocol (<@590878816004603924>)" # stefano, changwan
message: "Acceptance tests failed for gate <<parameters.gate>> on devnet <<parameters.devnet>>"
message: "Acceptance tests failed for gate <<parameters.gate>>"

sanitize-op-program:
docker:
Expand Down Expand Up @@ -1939,11 +1830,6 @@ workflows:
- contracts-bedrock-build
context:
- circleci-repo-readonly-authenticated-github-token
- contracts-bedrock-frozen-code:
requires:
- contracts-bedrock-build
context:
- circleci-repo-readonly-authenticated-github-token
- diff-fetcher-forge-artifacts:
context:
- circleci-repo-readonly-authenticated-github-token
Expand Down Expand Up @@ -2533,14 +2419,11 @@ workflows:
acceptance-tests:
when:
or:
- equal: ["webhook", << pipeline.trigger_source >>]
# Manual dispatch
- and:
- or:
- equal: ["develop", <<pipeline.git.branch>>]
- matches: { pattern: "^proposal/.*", value: <<pipeline.git.branch>> }
- equal: ["webhook",<< pipeline.trigger_source >>]
- and:
- equal: [true, <<pipeline.parameters.acceptance_tests_dispatch>>]
- equal: ["api",<< pipeline.trigger_source >>]
- equal: [true, <<pipeline.parameters.acceptance_tests_dispatch>>]
- equal: ["api", << pipeline.trigger_source >>]
jobs:
- initialize:
context:
Expand Down Expand Up @@ -2568,45 +2451,6 @@ workflows:
requires:
- contracts-bedrock-build
- cannon-prestate-quick
# KURTOSIS (Simple)
- op-acceptance-tests:
# Acceptance Testing params
name: kurtosis-simple
devnet: simple
gate: base
# CircleCI params
no_output_timeout: 30m
context:
- circleci-repo-readonly-authenticated-github-token
- discord
requires:
- initialize
# KURTOSIS (Isthmus)
- op-acceptance-tests:
# Acceptance Testing params
name: kurtosis-isthmus
devnet: isthmus
gate: isthmus
# CircleCI params
no_output_timeout: 30m
context:
- circleci-repo-readonly-authenticated-github-token
- discord
requires:
- initialize
# KURTOSIS (Interop)
- op-acceptance-tests:
# Acceptance Testing params
name: kurtosis-interop
devnet: interop
gate: interop
# CircleCI params
no_output_timeout: 30m
context:
- circleci-repo-readonly-authenticated-github-token
- discord
requires:
- initialize
# Generate flaky test report
- generate-flaky-report:
name: generate-flaky-tests-report
Expand Down Expand Up @@ -2646,45 +2490,6 @@ workflows:
requires:
- contracts-bedrock-build
- cannon-prestate-quick
# KURTOSIS (Simple)
- op-acceptance-tests:
# Acceptance Testing params
name: kurtosis-simple
devnet: simple
gate: base
# CircleCI params
no_output_timeout: 30m
context:
- circleci-repo-readonly-authenticated-github-token
- discord
requires:
- initialize
# KURTOSIS (Isthmus)
- op-acceptance-tests:
# Acceptance Testing params
name: kurtosis-isthmus
devnet: isthmus
gate: isthmus
# CircleCI params
no_output_timeout: 30m
context:
- circleci-repo-readonly-authenticated-github-token
- discord
requires:
- initialize
# KURTOSIS (Interop)
- op-acceptance-tests:
# Acceptance Testing params
name: kurtosis-interop
devnet: interop
gate: interop
# CircleCI params
no_output_timeout: 30m
context:
- circleci-repo-readonly-authenticated-github-token
- discord
requires:
- initialize
# Generate flaky test report
- generate-flaky-report:
name: generate-flaky-tests-report
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ require (
github.com/docker/docker v27.5.1+incompatible
github.com/docker/go-connections v0.5.0
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3
github.com/ethereum-optimism/superchain-registry/validation v0.0.0-20250603144016-9c45ca7d4508
github.com/ethereum-optimism/superchain-registry/validation v0.0.0-20251006142828-c6753b4d8617
github.com/ethereum/go-ethereum v1.15.11
github.com/fatih/color v1.18.0
github.com/fsnotify/fsnotify v1.9.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,8 @@ github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3 h1:RWHKLhCrQThMfch+QJ1Z
github.com/ethereum-optimism/go-ethereum-hdwallet v0.1.3/go.mod h1:QziizLAiF0KqyLdNJYD7O5cpDlaFMNZzlxYNcWsJUxs=
github.com/ethereum-optimism/op-geth v1.101511.1-dev.1.0.20250710181308-c6e05723600e h1:Ur5vjH2RmYqspDBIZH4RymNB6viHFheZkvvHt9W3spQ=
github.com/ethereum-optimism/op-geth v1.101511.1-dev.1.0.20250710181308-c6e05723600e/go.mod h1:SkytozVEPtnUeBlquwl0Qv5JKvrN/Y5aqh+VkQo/EOI=
github.com/ethereum-optimism/superchain-registry/validation v0.0.0-20250603144016-9c45ca7d4508 h1:A/3QVFt+Aa9ozpPVXxUTLui8honBjSusAaiCVRbafgs=
github.com/ethereum-optimism/superchain-registry/validation v0.0.0-20250603144016-9c45ca7d4508/go.mod h1:NZ816PzLU1TLv1RdAvYAb6KWOj4Zm5aInT0YpDVml2Y=
github.com/ethereum-optimism/superchain-registry/validation v0.0.0-20251006142828-c6753b4d8617 h1:ocPvHvva9jILii1YJ9X0pW0ExjbfaTuUkZ7AzkE1KlI=
github.com/ethereum-optimism/superchain-registry/validation v0.0.0-20251006142828-c6753b4d8617/go.mod h1:NZ816PzLU1TLv1RdAvYAb6KWOj4Zm5aInT0YpDVml2Y=
github.com/ethereum/c-kzg-4844/v2 v2.1.0 h1:gQropX9YFBhl3g4HYhwE70zq3IHFRgbbNPw0Shwzf5w=
github.com/ethereum/c-kzg-4844/v2 v2.1.0/go.mod h1:TC48kOKjJKPbN7C++qIgt0TJzZ70QznYR7Ob+WXl57E=
github.com/ethereum/go-verkle v0.2.2 h1:I2W0WjnrFUIzzVPwm8ykY+7pL2d4VhlsePn4j7cnFk8=
Expand Down
2 changes: 1 addition & 1 deletion op-deployer/pkg/deployer/broadcaster/keyed.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (
)

const (
GasPadFactor = 2.0
GasPadFactor = 1.2
)

type KeyedBroadcaster struct {
Expand Down
Loading