Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
b01b93e
feat: Remove DelayedVetoable (#12939)
maurelian Nov 15, 2024
c267d98
improve tests SystemConfig (#12938)
AmadiMichael Nov 15, 2024
8f0a9b2
opcm-redesign: opcm targets a single release (#12851)
blmalone Nov 15, 2024
78fed1e
remove unnecessary check (#12914)
AmadiMichael Nov 16, 2024
914157f
devnet: Replace mt-cannon with 64-bit Cannon (#12924)
Inphi Nov 17, 2024
7550853
Check `bcast.From` correctly (#12941)
zhiqiangxu Nov 18, 2024
873b3e0
op-batcher: fix channel duration timeout management (#12916)
geoknee Nov 18, 2024
c91fe2f
batcher: keep blocks, channels and frames in strict order & simplify …
geoknee Nov 18, 2024
01559d2
adding conduit bootnodes (#12534)
sbvegan Nov 18, 2024
fd42715
cannon: Add more concurrency primitives tests (#12771)
GrapeBaBa Nov 18, 2024
bc6f8de
dependabot(gomod): bump golang.org/x/sync from 0.8.0 to 0.9.0 (#12885)
dependabot[bot] Nov 18, 2024
29f76e5
Sc/fix update semgrep (#12942)
AmadiMichael Nov 18, 2024
f6810a4
feat: opcm mainnet deploy. (#12953)
blmalone Nov 18, 2024
f94151b
op-deployer: Refactor semver inspector, add L2 genesis test (#12946)
mslipper Nov 18, 2024
7359d15
improve tests L2CrossDomainMessenger_Test (#12934)
AmadiMichael Nov 19, 2024
e32278e
improve tests of L1CrossDomainMessenger_Test (#12933)
AmadiMichael Nov 19, 2024
357fc7d
fix challenge struct natspec (#12951)
AmadiMichael Nov 19, 2024
99150d3
security-reviews: Add 3Doc report on Canon F_GETFD changes. (#12960)
ajsutton Nov 19, 2024
c4a44c9
make the solidity code path correct. (#12959)
CarolAHHaydn Nov 19, 2024
52e9be8
Typo fix Update build-legacy-cannons.sh (#12955)
brawncode Nov 19, 2024
d675309
Typo Update pr-guidelines.md (#12929)
defitricks Nov 19, 2024
3d50ab9
Update README.md (#12945)
sbvegan Nov 19, 2024
fbcfb83
Typo fix Update commitment.go (#12961)
brawncode Nov 19, 2024
3e7c1dd
fix typos (#12910)
zhiqiangxu Nov 19, 2024
e8de7b1
chore: Fix Typos and Minor Edits in Documentation Files* (#12881)
cypherpepe Nov 19, 2024
b3ec4d6
batcher refactor: flatten out go routines (#12405)
geoknee Nov 19, 2024
aec3697
document batcher throttling in op-batcher readme (#12957)
Nov 19, 2024
8e0b89c
Update superchain-registry to include metal-sepolia Holocene activati…
sebastianst Nov 19, 2024
910c9ad
batcher: add batchSubmitter.checkExpectedProgress (#12430)
geoknee Nov 19, 2024
50e1623
interop: Reset Derivation and Backfill Supervisor when Too Far Behind…
axelKingsley Nov 19, 2024
cd2df97
op-deployer: Test mainnet deployment (#12958)
mslipper Nov 19, 2024
85b535c
interop: make geth Dockerfile use v1.101411.2-rc.1 (#12820)
axelKingsley Nov 19, 2024
9144db1
repo: remove `op-ufm` package (#12968)
tynes Nov 19, 2024
0933da4
fix: op-batcher batch-tx-submitted metric double count (#12975)
geoknee Nov 19, 2024
9e7d6d3
op-deployer: Update dockerfile (#12979)
mslipper Nov 19, 2024
d2df40a
remove an impossible condition (#12865)
zhiqiangxu Nov 19, 2024
b824f9b
op-chain-ops: remove L1 clique option (#12977)
protolambda Nov 19, 2024
c46e8bb
op-chain-ops: remove legacy contracts addresses (#12984)
protolambda Nov 20, 2024
b322d5b
fix: new spolia deploy (#12956)
blmalone Nov 20, 2024
9d82935
migrate github actions to circleci (#12928)
raffaele-oplabs Nov 20, 2024
cccbc2d
go: set default versions to v0.0.0 (#12989)
protolambda Nov 20, 2024
bb02d4b
feat(ctb): Vendor `RISCV.sol` (#12994)
clabby Nov 20, 2024
f3701d7
improve delayedWeth test and coverage (#12963)
AmadiMichael Nov 20, 2024
406e92e
improve universal and libraries tests and coverage (#12996)
AmadiMichael Nov 20, 2024
f496b07
dependabot(docker): bump ethereum/client-go in /ops-bedrock (#12982)
dependabot[bot] Nov 20, 2024
39c3b5b
contracts: remove op-nft (#12950)
tynes Nov 20, 2024
8a728cf
Sc/improve optimismportal test cov (#12962)
AmadiMichael Nov 20, 2024
ca101a9
improve dispute game tests and coverage (#12972)
AmadiMichael Nov 20, 2024
ab77ae7
add challenger account to wallets.sh (#12998)
zhiqiangxu Nov 20, 2024
d728f26
dependabot(gomod): bump github.com/kurtosis-tech/kurtosis/api/golang …
dependabot[bot] Nov 20, 2024
f2056c0
op-node: Add Metrics (#12408)
trianglesphere Nov 20, 2024
0bfa930
fix create2 collision (#12852)
zhiqiangxu Nov 20, 2024
b05ec5a
op-deployer: Safety and validation improvements (#12993)
mslipper Nov 20, 2024
790e1aa
make riscv compile without the optimizer turned on (#13000)
AmadiMichael Nov 20, 2024
0437018
bump kona (#13003)
clabby Nov 20, 2024
b0427be
op-deployer: add test for deployConfig overrides (#12985)
vdamle Nov 20, 2024
240d0f8
op-alt-da: list alt-da options in alt-da category (#12986)
protolambda Nov 20, 2024
042433b
op-deployer: Fix invalid intent panic in SR command (#13006)
mslipper Nov 21, 2024
79306cb
op-program/prestates: Add op-program including Holocene Sepolia activ…
sebastianst Nov 21, 2024
c29b209
make -> just migration recipe (#12883)
sigma Nov 21, 2024
cc2715c
cannon: Add more sync tests (#12949)
mbaxter Nov 21, 2024
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
149 changes: 112 additions & 37 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ parameters:
reproducibility_dispatch:
type: boolean
default: false
diff_asterisc_bytecode_dispatch:
type: boolean
default: false
kontrol_dispatch:
type: boolean
default: false
Expand All @@ -41,6 +44,9 @@ parameters:
publish_contract_artifacts_dispatch:
type: boolean
default: false
stale_check_dispatch:
type: boolean
default: false

orbs:
go: circleci/go@1.8.0
Expand Down Expand Up @@ -239,6 +245,43 @@ jobs:
command: python3 maketests.py && git diff --exit-code
working_directory: cannon/mipsevm/tests/open_mips_tests

diff-asterisc-bytecode:
docker:
- image: <<pipeline.parameters.ci_builder_image>>
resource_class: medium
steps:
- checkout
- run:
name: Check `RISCV.sol` bytecode
working_directory: packages/contracts-bedrock
command: |
# Clone asterisc @ the pinned version to fetch remote `RISCV.sol`
ASTERISC_REV="$(cat ../../versions.json | jq -r .asterisc)"
REMOTE_ASTERISC_PATH="./src/asterisc/RISCV_Remote.sol"
git clone https://github.com/ethereum-optimism/asterisc \
-b $ASTERISC_REV && \
cp ./asterisc/rvsol/src/RISCV.sol $REMOTE_ASTERISC_PATH

# Replace import paths
sed -i -e 's/@optimism\///' $REMOTE_ASTERISC_PATH
# Replace contract name
sed -i -e 's/contract RISCV/contract RISCV_Remote/' $REMOTE_ASTERISC_PATH

# Install deps
forge install

# Diff bytecode, with both contracts compiled in the local environment.
REMOTE_ASTERISC_CODE="$(forge inspect RISCV_Remote bytecode | tr -d '\n')"
LOCAL_ASTERISC_CODE="$(forge inspect RISCV bytecode | tr -d '\n')"
if [ "$REMOTE_ASTERISC_CODE" != "$LOCAL_ASTERISC_CODE" ]; then
echo "Asterisc bytecode mismatch. Local version does not match remote. Diff:"
diff <(echo "$REMOTE_ASTERISC_CODE") <(echo "$LOCAL_ASTERISC_CODE")
else
echo "Asterisc version up to date."
fi
- notify-failures-on-develop:
mentions: "@clabby @proofs-team"

contracts-bedrock-build:
machine: true
resource_class: ethereum-optimism/latitude-1
Expand Down Expand Up @@ -347,7 +390,7 @@ jobs:
machine:
image: <<pipeline.parameters.base_image>>
resource_class: "<<parameters.resource_class>>"
docker_layer_caching: true # we rely on this for faster builds, and actively warm it up for builds with common stages
docker_layer_caching: true # we rely on this for faster builds, and actively warm it up for builds with common stages
steps:
- checkout
- attach_workspace:
Expand Down Expand Up @@ -458,7 +501,7 @@ jobs:
docker save -o /tmp/docker_images/<<parameters.docker_name>>.tar $IMAGE_NAME
- persist_to_workspace:
root: /tmp/docker_images
paths: # only write the one file, to avoid concurrent workspace-file additions
paths: # only write the one file, to avoid concurrent workspace-file additions
- "<<parameters.docker_name>>.tar"
- when:
condition: "<<parameters.release>>"
Expand All @@ -471,11 +514,11 @@ jobs:
condition:
or:
- and:
- "<<parameters.publish>>"
- "<<parameters.release>>"
- "<<parameters.publish>>"
- "<<parameters.release>>"
- and:
- "<<parameters.publish>>"
- equal: [develop, << pipeline.git.branch >>]
- "<<parameters.publish>>"
- equal: [develop, << pipeline.git.branch >>]
steps:
- gcp-oidc-authenticate:
service_account_email: GCP_SERVICE_ATTESTOR_ACCOUNT_EMAIL
Expand Down Expand Up @@ -867,6 +910,7 @@ jobs:

export ENABLE_ANVIL=true
export SEPOLIA_RPC_URL="https://ci-sepolia-l1-archive.optimism.io"
export MAINNET_RPC_URL="https://ci-mainnet-l1-archive.optimism.io"

gotestsum --format=testname \
--junitfile=./tmp/test-results/results.xml \
Expand Down Expand Up @@ -1000,8 +1044,7 @@ jobs:
steps:
- checkout
- setup_remote_docker
- run:
make -C op-program verify-reproducibility
- run: make -C op-program verify-reproducibility
- notify-failures-on-develop:
mentions: "@proofs-team"

Expand Down Expand Up @@ -1053,7 +1096,7 @@ jobs:
- checkout
- unless:
condition:
equal: [ "develop", << pipeline.git.branch >> ]
equal: ["develop", << pipeline.git.branch >>]
steps:
- run:
# Scan changed files in PRs, block on new issues only (existing issues ignored)
Expand Down Expand Up @@ -1109,7 +1152,7 @@ jobs:
paths:
- "/go/pkg/mod"

bedrock-go-tests: # just a helper, that depends on all the actual test jobs
bedrock-go-tests: # just a helper, that depends on all the actual test jobs
docker:
# Use a smaller base image to avoid pulling the huge ci-builder
# image which is not needed for this job and sometimes misses
Expand Down Expand Up @@ -1271,17 +1314,29 @@ jobs:
command: |
goreleaser release --clean -f ./<<parameters.module>>/<<parameters.filename>>

stale-check:
docker:
- image: cimg/python:3.11
steps:
- run:
name: Run Stale Check Script
command: |
git clone --branch main --depth 1 https://github.com/ethereum-optimism/circleci-utils.git /tmp/circleci-utils
cd /tmp/circleci-utils/stale-check
pip3 install -r requirements.txt
python3 stale-check.py --repo "ethereum-optimism/${CIRCLE_PROJECT_REPONAME}" --github-token "${STALE_GITHUB_TOKEN}"

workflows:
main:
when:
and:
- or:
# Trigger on new commits
- equal: [ webhook, << pipeline.trigger_source >> ]
- equal: [webhook, << pipeline.trigger_source >>]
# Trigger on manual triggers if explicitly requested
- equal: [ true, << pipeline.parameters.main_dispatch >> ]
- equal: [true, << pipeline.parameters.main_dispatch >>]
- not:
equal: [ scheduled_pipeline, << pipeline.trigger_source >> ]
equal: [scheduled_pipeline, << pipeline.trigger_source >>]
jobs:
- go-mod-download
- contracts-bedrock-build:
Expand All @@ -1304,7 +1359,7 @@ workflows:
# Heavily fuzz any fuzz tests within added or modified test files.
name: contracts-bedrock-tests-heavy-fuzz-modified
test_parallelism: 1
test_list: git diff origin/develop...HEAD --name-only -- './test/**/*.t.sol' | sed 's|packages/contracts-bedrock/||'
test_list: git diff origin/develop...HEAD --name-only --diff-filter=AM -- './test/**/*.t.sol' | sed 's|packages/contracts-bedrock/||'
test_timeout: 1h
test_profile: ciheavy
- contracts-bedrock-coverage
Expand Down Expand Up @@ -1425,7 +1480,7 @@ workflows:
notify: true
matrix:
parameters:
mips_word_size: [ 32, 64 ]
mips_word_size: [32, 64]
- cannon-build-test-vectors
- todo-issues:
name: todo-issues-check
Expand All @@ -1434,8 +1489,7 @@ workflows:
name: shell-check
# We don't need the `exclude` key as the orb detects the `.shellcheckrc`
dir: .
ignore-dirs:
./packages/contracts-bedrock/lib
ignore-dirs: ./packages/contracts-bedrock/lib

go-release-deployer:
jobs:
Expand All @@ -1452,7 +1506,7 @@ workflows:
release:
when:
not:
equal: [ scheduled_pipeline, << pipeline.trigger_source >> ]
equal: [scheduled_pipeline, << pipeline.trigger_source >>]
jobs:
# Wait for approval on the release
- hold:
Expand Down Expand Up @@ -1545,7 +1599,7 @@ workflows:

scheduled-todo-issues:
when:
equal: [ build_four_hours, <<pipeline.schedule.name>> ]
equal: [build_four_hours, <<pipeline.schedule.name>>]
jobs:
- todo-issues:
name: todo-issue-checks
Expand All @@ -1554,7 +1608,7 @@ workflows:

scheduled-fpp:
when:
equal: [ build_hourly, <<pipeline.schedule.name>> ]
equal: [build_hourly, <<pipeline.schedule.name>>]
jobs:
- fpp-verify:
context:
Expand All @@ -1564,19 +1618,20 @@ workflows:
develop-publish-contract-artifacts:
when:
or:
- equal: [ "develop", <<pipeline.git.branch>> ]
- equal: [ true, <<pipeline.parameters.publish_contract_artifacts_dispatch>> ]
- equal: ["develop", <<pipeline.git.branch>>]
- equal:
[true, <<pipeline.parameters.publish_contract_artifacts_dispatch>>]
jobs:
- publish-contract-artifacts

develop-fault-proofs:
when:
and:
- or:
- equal: [ "develop", <<pipeline.git.branch>> ]
- equal: [ true, <<pipeline.parameters.fault_proofs_dispatch>> ]
- equal: ["develop", <<pipeline.git.branch>>]
- equal: [true, <<pipeline.parameters.fault_proofs_dispatch>>]
- not:
equal: [ scheduled_pipeline, << pipeline.trigger_source >> ]
equal: [scheduled_pipeline, << pipeline.trigger_source >>]
jobs:
- go-mod-download
- cannon-prestate
Expand Down Expand Up @@ -1606,10 +1661,10 @@ workflows:
when:
and:
- or:
- equal: [ "develop", <<pipeline.git.branch>> ]
- equal: [ true, <<pipeline.parameters.kontrol_dispatch>> ]
- equal: ["develop", <<pipeline.git.branch>>]
- equal: [true, <<pipeline.parameters.kontrol_dispatch>>]
- not:
equal: [ scheduled_pipeline, << pipeline.trigger_source >> ]
equal: [scheduled_pipeline, << pipeline.trigger_source >>]
jobs:
- kontrol-tests:
context:
Expand All @@ -1619,8 +1674,8 @@ workflows:
scheduled-cannon-full-tests:
when:
or:
- equal: [ build_four_hours, <<pipeline.schedule.name>> ]
- equal: [ true, << pipeline.parameters.cannon_full_test_dispatch >> ]
- equal: [build_four_hours, <<pipeline.schedule.name>>]
- equal: [true, << pipeline.parameters.cannon_full_test_dispatch >>]
jobs:
- contracts-bedrock-build:
skip_pattern: test
Expand All @@ -1632,14 +1687,14 @@ workflows:
- slack
matrix:
parameters:
mips_word_size: [ 32, 64 ]
mips_word_size: [32, 64]

scheduled-docker-publish:
when:
or:
- equal: [ build_hourly, <<pipeline.schedule.name>> ]
- equal: [build_hourly, <<pipeline.schedule.name>>]
# Trigger on manual triggers if explicitly requested
- equal: [ true, << pipeline.parameters.docker_publish_dispatch >> ]
- equal: [true, << pipeline.parameters.docker_publish_dispatch >>]
jobs:
- docker-build:
matrix:
Expand Down Expand Up @@ -1687,13 +1742,33 @@ workflows:
- oplabs-gcr
- slack

scheduled-diff-asterisc-bytecode:
when:
or:
- equal: [build_daily, <<pipeline.schedule.name>>]
# Trigger on manual triggers if explicitly requested
- equal: [true, <<pipeline.parameters.diff_asterisc_bytecode_dispatch>>]
jobs:
- diff-asterisc-bytecode:
context:
- slack

scheduled-preimage-reproducibility:
when:
or:
- equal: [build_daily, <<pipeline.schedule.name>> ]
- equal: [build_daily, <<pipeline.schedule.name>>]
# Trigger on manual triggers if explicitly requested
- equal: [ true, << pipeline.parameters.reproducibility_dispatch >> ]
- equal: [true, << pipeline.parameters.reproducibility_dispatch >>]
jobs:
- preimage-reproducibility:
context:
slack
context: slack

scheduled-stale-check:
when:
or:
- equal: [build_daily, <<pipeline.schedule.name>>]
# Trigger on manual triggers if explicitly requested
- equal: [true, << pipeline.parameters.stale_check_dispatch >>]
jobs:
- stale-check:
context: github-token-stale-check
18 changes: 0 additions & 18 deletions .github/workflows/close-stale.yml

This file was deleted.

Loading