Skip to content
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

Bring PR up to date with ethereum-optimism:superchain-registry/main #1

Open
wants to merge 32 commits into
base: lattice-redstone
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
9ef8325
permit testnets and devnets to use newer contract versions (#508)
tessr Aug 27, 2024
8a84609
feat(bindings): Superchain Crate (#511)
refcell Aug 27, 2024
0966106
fix(bindings): Disable Default Features in superchain dep (#512)
refcell Aug 27, 2024
3bd2566
modify promotion test notification (#516)
geoknee Aug 28, 2024
1bace9f
Add silence for OP Mainnet Optimism_Portal_2_Params (#515)
geoknee Aug 28, 2024
4e6edcb
Store Optimism Config in config toml files (#510)
geoknee Aug 28, 2024
029f38f
Remove submodule (#521)
geoknee Aug 28, 2024
4ecea76
feat(bindings): Remove Rust Bindings (#517)
refcell Aug 28, 2024
a11045f
update op-geth version (#523)
geoknee Aug 28, 2024
c48846a
fix gas-token_test (#522)
geoknee Aug 28, 2024
4ed0b20
tweak add-chain instructions (#528)
tessr Aug 29, 2024
936d40b
Update README.md (#524)
geoknee Aug 29, 2024
70e9dbc
add button with link to just-promotion-test slack message (#527)
geoknee Aug 29, 2024
c7ac144
Update batcher proposer (#526)
cody-wang-cb Aug 30, 2024
852e765
validation: add Optimism Config test (#536)
bitwiseguy Aug 30, 2024
fb63973
Use `op-contracts/v1.3.0` ABI for pre fault proofs validation (#537)
geoknee Aug 30, 2024
389619c
Update superchain.toml (#542)
sbvegan Sep 2, 2024
9c9ba65
[ Feature Branch ] Genesis allocs validation (#489)
geoknee Sep 3, 2024
23d6ccb
circleci: use context to pass rpc urls (#544)
bitwiseguy Sep 3, 2024
29537da
Adds validation metadata for chain with id 9897 (arena-z / nod) (#540)
geoknee Sep 3, 2024
b8d06d9
Modify validation data for Lisk (#543)
geoknee Sep 3, 2024
acc3dbe
feat: Json Configs (#545)
refcell Sep 4, 2024
cece7a7
add genesis validation metadata for mode sepolia (#546)
geoknee Sep 4, 2024
9decb08
add validation metadata for zora sepolia (#547)
geoknee Sep 4, 2024
5bc7649
Merge remote-tracking branch 'origin/main' into lattice-redstone
geoknee Sep 5, 2024
9012c0d
add optimismConfig && just codegen
geoknee Sep 5, 2024
387ec1c
CI: Migrate scheduled workflows to scheduled pipeline jobs (#549)
vdamle Sep 5, 2024
da991d9
Genesis alloc utility: increase buffer size for streaming output/erro…
vdamle Sep 5, 2024
23f8c69
Move `L1SecurityConfigs` and `SuperchainConfig` tests from standard c…
geoknee Sep 6, 2024
9f46397
Merge remote-tracking branch 'origin/main' into gk/lattice-redstone
geoknee Sep 6, 2024
221dea9
modify optimism params for redstone
geoknee Sep 9, 2024
467e8d8
migrate redstone's rollup.json and rerun just add-chain
geoknee Sep 9, 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
253 changes: 16 additions & 237 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,248 +1,27 @@
version: 2.1

orbs:
go: circleci/[email protected]
node: circleci/[email protected]
slack: circleci/[email protected]
rust: circleci/[email protected]

commands:
notify-failures-on-main:
description: "Notify Slack for CI job failures"
parameters:
channel:
type: string
steps:
- slack/notify:
channel: << parameters.channel >>
event: fail
template: basic_fail_1
branch_pattern: main
install-just:
description: "Install just"
steps:
- run:
name: "Install just"
command: |
wget -qO - 'https://proget.makedeb.org/debian-feeds/prebuilt-mpr.pub' | gpg --dearmor | sudo tee /usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg 1> /dev/null
echo "deb [arch=all,$(dpkg --print-architecture) signed-by=/usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg] https://proget.makedeb.org prebuilt-mpr $(lsb_release -cs)" | sudo tee /etc/apt/sources.list.d/prebuilt-mpr.list
sudo apt update
sudo apt install just
install-nextest:
description: "Installs cargo nextest"
steps:
- run:
name: "Install nextest"
command: cargo install cargo-nextest --locked
install-rust-toolchain:
description: "Installs rust toolchain components"
steps:
- run:
name: "Install toolchain"
command: |
rustup install nightly-x86_64-unknown-linux-gnu
install-foundry:
description: "Installs foundry"
steps:
- run:
# need foundry to execute 'cast call' within add-chain script
name: Install foundry
command: |
echo "SHELL=$SHELL"
# Set up directory structure
mkdir -p $HOME/.foundry/bin
echo 'export PATH="$HOME/.foundry/bin:$PATH"' >> $BASH_ENV
source $BASH_ENV
# this allows us to use CircleCI's dynamic configuration feature
setup: true

# Download foundryup and make it executable
curl -sSL "https://raw.githubusercontent.com/foundry-rs/foundry/master/foundryup/foundryup" -o $HOME/.foundry/bin/foundryup
chmod +x $HOME/.foundry/bin/foundryup

$HOME/.foundry/bin/foundryup
forge --version
orbs:
continuation: circleci/[email protected]

jobs:
golang-lint:
executor:
name: go/default # is based on cimg/go
tag: '1.21'
steps:
- checkout
- install-just
- run: just lint-all
- run:
name: check git tree is clean
command: git diff --exit-code
golang-modules-tidy:
executor:
name: go/default # is based on cimg/go
tag: '1.21'
steps:
- checkout
- install-just
- run: just tidy-all
- run:
name: check git tree is clean
command: git diff --exit-code
golang-test:
shell: /bin/bash -eo pipefail
executor:
name: go/default # is based on cimg/go
tag: '1.21'
steps:
- checkout
- install-just
- install-foundry
- run:
name: run superchain module unit tests
command: just test-superchain
- run:
name: run validation module unit tests
command: just test-validation
- run:
name: run add-chain module unit tests
command: just test-add-chain
- notify-failures-on-main:
channel: C03N11M0BBN # to slack channel `notify-ci-failures`
golang-validate-modified:
shell: /bin/bash -eo pipefail
executor:
name: go/default # is based on cimg/go
tag: '1.21'
setup-genesis-allocs-validation:
macos:
xcode: 14.2.0
resource_class: macos.m1.medium.gen1
steps:
- checkout
- install-just
- install-foundry
- run:
name: run validation checks
command: just validate-modified-chains main # TODO ideally this is the base branch
golang-validate-all:
shell: /bin/bash -eo pipefail
executor:
name: go/default # is based on cimg/go
tag: '1.21'
steps:
- checkout
- install-just
- install-foundry
- run:
name: run validation checks on all chains
command: just validate "*"
- notify-failures-on-main:
channel: C07GQQZDW1G # to slack channel `notify-superchain-validation-failures`
golang-promotion-test:
shell: /bin/bash -eo pipefail
executor:
name: go/default # is based on cimg/go
tag: '1.21'
steps:
- checkout
- install-just
- install-foundry
- run:
name: run validation checks
command: just promotion-test
- notify-failures-on-main:
channel: C07GZVCCUS0 # to slack channel `notify-superchain-promotion-failures`
publish-bot:
environment:
NODE_AUTH_TOKEN: $NPM_TOKEN # Use NPM_TOKEN as the auth token
docker:
- image: cimg/node:18 # Use Node.js 18
steps:
- checkout
- run:
name: Set deployment token
command: npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
- env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- run:
name: Build and publish package on NPM 📦
command: pnpm release
check-codegen:
executor:
name: go/default # is based on cimg/go
tag: '1.21'
steps:
- checkout
- install-just
- run:
name: Run codegen
command: just codegen
- run:
name: check git tree is clean
command: git diff --exit-code
cargo-tests:
docker:
- image: cimg/rust:1.79
steps:
- checkout
- install-just
- install-nextest
- run:
name: Cargo Tests
command: just cargo-tests
- notify-failures-on-main:
channel: C03N11M0BBN # to slack channel `notify-ci-failures`
cargo-lint:
docker:
- image: cimg/rust:1.79
steps:
- checkout
- install-just
- install-rust-toolchain
- run:
name: Cargo lints
command: just cargo-lint
- notify-failures-on-main:
channel: C03N11M0BBN # to slack channel `notify-ci-failures`
cargo-build:
docker:
- image: cimg/rust:1.79
steps:
- checkout
- install-just
- run:
name: Cargo build
command: just cargo-build
- notify-failures-on-main:
channel: C03N11M0BBN # to slack channel `notify-ci-failures`
name: Generate list of chainids and insert into continue_config.yml file
command: |
bash validation/genesis/validation-inputs/generate-test-config.sh
- continuation/continue:
configuration_path: .circleci/continue_config.yml
parameters: '{}'

workflows:
hourly:
jobs:
- golang-validate-all:
context:
- slack
- golang-test:
context:
- slack
triggers:
- schedule:
cron: "0 * * * *"
filters:
branches:
only:
- main
nightly:
jobs:
- golang-promotion-test:
context:
- slack
triggers:
- schedule:
cron: "0 0 * * *"
filters:
branches:
only:
- main
pr-checks:
setup:
jobs:
- golang-lint
- golang-modules-tidy
- golang-test
- golang-validate-modified
- check-codegen
- cargo-tests
- cargo-lint
- cargo-build
- setup-genesis-allocs-validation
Loading