Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
c329947
op-challenger: Introduce generic Player (#18441)
ajsutton Dec 2, 2025
6c62c5b
ci: update factory workflow to use attest parameter (#18471)
falcorocks Dec 2, 2025
96c6ec1
feat: add CGT system feature (#18405)
agusduha Dec 2, 2025
863107b
Unify on a single transport-websocket client and update devstack and …
teddyknox Dec 2, 2025
fcd09d5
op-dispute-mon: Update list of output root game types (#18469)
ajsutton Dec 2, 2025
8560d3f
op-challenger: Challenge invalid ZK games (#18442)
ajsutton Dec 2, 2025
813b8cd
op-challenger: Stop bundling asterisc (#18476)
ajsutton Dec 2, 2025
991a4a7
op-challenger: Support resolving optimistic zk games (#18464)
ajsutton Dec 3, 2025
6788384
op-challenger: Reclaim bonds for optimistic zk games (#18465)
ajsutton Dec 3, 2025
1316212
op-node: fix l1 origin selector getting stuck on reorg (#18233)
bearpebble Dec 3, 2025
498abba
op-batcher: fix MaxChannelDuration tracking for large block backlogs …
nonsense Dec 3, 2025
fbdb401
feat: deploy safersafes script (#18448)
JosepBove Dec 3, 2025
ff51a4a
feat: versioning updates (#18481)
JosepBove Dec 3, 2025
be88810
feat(ai-test): handle no-changes-needed case in contracts test system…
aliersh Dec 3, 2025
7672c9a
op-challenger: Challenge proposals that are still unsafe. (#18467)
ajsutton Dec 3, 2025
0b477d3
op-e2e: Test FPP for delegatecalled precompiles (#18475)
Inphi Dec 3, 2025
45387a6
test: skip some acceptance tests if CGT enabled (#720) (#18487)
hexshire Dec 3, 2025
478b8bd
op-service/sources: detect duplicate blob hashes (#18492)
sebastianst Dec 4, 2025
653c6a6
small tweaks to TestRequestDuplicateBlobHashes (#18497)
geoknee Dec 4, 2025
c0d1ce8
ci(workflows): update factory workflow to fix bash history expansion …
falcorocks Dec 4, 2025
22a35b4
feat: break out OPCMv2 utils into helper contracts (#18454)
smartcontracts Dec 4, 2025
f7d4b51
test(contracts): add AddressAliasHelper coverage and fix SystemConfig…
devin-ai-integration[bot] Dec 4, 2025
2014789
feat(op-deployer): use op-deployer build for publish-artifacts (#18488)
serpixel Dec 5, 2025
532d1e4
ci(GHA): fix tag builds & reduce permissions around forks (#18501)
falcorocks Dec 5, 2025
c59e981
chore: update fees depositor address and min withdrawal amount on gen…
0xDiscotech Dec 5, 2025
3377668
test: add tests for OPCMv2.deploy (#18486)
smartcontracts Dec 5, 2025
1c11d07
op-conductor: add JSON-based rollup-boost healthcheck, rename existin…
teddyknox Dec 5, 2025
d977132
fix: Full checkout for FFI build (#18527)
janjakubnanista Dec 6, 2025
e193df7
chore(op-acceptance-tests): delete very old logs (#18529)
scharissis Dec 6, 2025
f6a0ea9
chore(op-acceptance-tests): op-acceptor v3.8.0 (#18530)
scharissis Dec 6, 2025
e355cc4
jovian: remove feature toggles (#17978)
geoknee Dec 8, 2025
519484d
chore(ai-eng): add ReinitializableBase test to exclusion list (#18531)
aliersh Dec 8, 2025
c15a2ef
feat: have OPCM upgrade allowances be upgrade specific (#18462)
smartcontracts Dec 8, 2025
a0c6213
fix(op-acceptance-test): flake-shake; empty slack notifications. (#18…
scharissis Dec 8, 2025
a1e78ba
fix(ci): add attach-workspace to docker-build (#18543)
serpixel Dec 8, 2025
42bb95f
feat(op-deployer): add docker and github binary to the op-deployer te…
serpixel Dec 9, 2025
727890b
feat: have SystemConfig store a ref to last used OPCM (#18547)
smartcontracts Dec 9, 2025
1e1575d
fix: fuzz failure in system config test (#18550)
smartcontracts Dec 9, 2025
b7d48f0
op-batcher: exit process on criticial throttling RPC error (#17924)
geoknee Dec 9, 2025
3705b69
Merge branch 'develop' into chore/sync-audit
0xDiscotech Dec 9, 2025
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
201 changes: 110 additions & 91 deletions .circleci/config.yml

Large diffs are not rendered by default.

40 changes: 40 additions & 0 deletions .github/actions/docker-build-prep/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: 'Docker Build Prep'
description: 'Prepare environment for docker builds (checkout, kona version, git versions)'

outputs:
versions:
description: 'JSON object mapping image names to their GIT_VERSION'
value: ${{ steps.compute_versions.outputs.versions }}
kona_version:
description: 'KONA_VERSION from kona/version.json'
value: ${{ steps.kona.outputs.version }}
date:
description: 'Current date in YYYYMMDD format'
value: ${{ steps.date.outputs.date }}

runs:
using: 'composite'
steps:
- name: Get date
id: date
shell: bash
run: |
DATE=$(date +%Y%m%d)
echo "date=$DATE" >> $GITHUB_OUTPUT

- name: Read KONA_VERSION from kona/version.json
id: kona
shell: bash
run: |
KONA_VERSION=$(jq -r .version kona/version.json)
echo "version=$KONA_VERSION" >> $GITHUB_OUTPUT
echo "KONA_VERSION: $KONA_VERSION"

- name: Compute GIT_VERSION for all images
id: compute_versions
shell: bash
run: |
VERSIONS=$(GIT_COMMIT="${{ github.sha }}" make compute-git-versions)
echo "versions=$VERSIONS" >> $GITHUB_OUTPUT
echo "Computed versions: $VERSIONS"

122 changes: 122 additions & 0 deletions .github/workflows/branches.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
name: branch build

on:
push:
branches:
- 'develop'
pull_request:
branches:
- 'develop'
paths:
- 'ops/docker/**'
- 'packages/contracts-bedrock/**'
- 'docker-bake.hcl'
- '.github/workflows/branches.yaml'
- 'ops/scripts/compute-git-versions.sh'

jobs:
prep:
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
versions: ${{ steps.prep.outputs.versions }}
kona_version: ${{ steps.prep.outputs.kona_version }}
date: ${{ steps.prep.outputs.date }}
steps:
- name: Harden the runner
uses: step-security/harden-runner@95d9a5deda9de15063e7595e9719c11c38c90ae2 # v2
with:
egress-policy: audit
- name: Checkout
uses: actions/checkout@71cf2267d89c5cb81562390fa70a37fa40b1305e # v6
with:
fetch-depth: 0
- uses: ./.github/actions/docker-build-prep
id: prep

local:
needs: prep
# only build if push to develop, or PR from a local branch (not a fork)
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository)
strategy:
fail-fast: false
matrix:
image_name:
- op-node
- op-batcher
- op-deployer
- op-faucet
- op-program
- op-proposer
- op-challenger
- op-dispute-mon
- op-conductor
- da-server
- op-supervisor
- op-supernode
- op-test-sequencer
- cannon
- op-dripper
- op-interop-mon
uses: ethereum-optimism/factory/.github/workflows/docker.yaml@d04222c229c50320f513afe678b3264869ea11a9
with:
mode: bake
image_name: ${{ matrix.image_name }}
bake_file: docker-bake.hcl
target: ${{ matrix.image_name }}
tag: ${{ github.event_name == 'push' && 'develop' || format('pr-{0}', github.event.pull_request.number) }}
gcp_project_id: ${{ vars.GCP_PROJECT_ID_OPLABS_TOOLS_ARTIFACTS }}
registry: us-docker.pkg.dev/oplabs-tools-artifacts/oss
env: |
GIT_VERSION=${{ fromJson(needs.prep.outputs.versions)[matrix.image_name] }}
KONA_VERSION=${{ needs.prep.outputs.kona_version }}
set: |
*.args.GIT_COMMIT=${{ github.sha }}
*.args.GIT_DATE=${{ needs.prep.outputs.date }}
permissions:
contents: read
id-token: write
attestations: write

fork:
needs: prep
# only build if PR from a fork
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
strategy:
fail-fast: false
matrix:
image_name:
- op-node
- op-batcher
- op-deployer
- op-faucet
- op-program
- op-proposer
- op-challenger
- op-dispute-mon
- op-conductor
- da-server
- op-supervisor
- op-supernode
- op-test-sequencer
- cannon
- op-dripper
- op-interop-mon
uses: ethereum-optimism/factory/.github/workflows/docker.yaml@d04222c229c50320f513afe678b3264869ea11a9
with:
mode: bake
image_name: ${{ matrix.image_name }}
bake_file: docker-bake.hcl
target: ${{ matrix.image_name }}
tag: 24h
registry: ttl.sh/${{ github.sha }}
env: |
GIT_VERSION=${{ fromJson(needs.prep.outputs.versions)[matrix.image_name] }}
KONA_VERSION=${{ needs.prep.outputs.kona_version }}
set: |
*.args.GIT_COMMIT=${{ github.sha }}
*.args.GIT_DATE=${{ needs.prep.outputs.date }}
permissions:
contents: read

81 changes: 0 additions & 81 deletions .github/workflows/protected.yaml

This file was deleted.

53 changes: 53 additions & 0 deletions .github/workflows/tags.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: tag build

on:
push:
tags:
- '*/v*' # Match tags like op-node/v1.2.3

jobs:
prep:
runs-on: ubuntu-latest
permissions:
contents: read
outputs:
image_name: ${{ steps.parse-tag.outputs.image_name }}
version: ${{ steps.parse-tag.outputs.version }}
versions: ${{ steps.prep.outputs.versions }}
kona_version: ${{ steps.prep.outputs.kona_version }}
steps:
- name: Harden the runner
uses: step-security/harden-runner@95d9a5deda9de15063e7595e9719c11c38c90ae2 # v2
with:
egress-policy: audit
- name: Checkout
uses: actions/checkout@71cf2267d89c5cb81562390fa70a37fa40b1305e # v6
with:
fetch-depth: 0
- uses: ./.github/actions/docker-build-prep
id: prep
- name: Parse tag
uses: ethereum-optimism/factory/actions/parse-tag@240b16167a5f5aa789270fa9c0efbfa9f010b7e7
id: parse-tag

release:
needs: prep
uses: ethereum-optimism/factory/.github/workflows/docker.yaml@d04222c229c50320f513afe678b3264869ea11a9
with:
mode: bake
image_name: ${{ needs.prep.outputs.image_name }}
bake_file: docker-bake.hcl
target: ${{ needs.prep.outputs.image_name }}
tag: ${{ needs.prep.outputs.version }}
gcp_project_id: ${{ vars.GCP_PROJECT_ID_OPLABS_TOOLS_ARTIFACTS }}
registry: us-docker.pkg.dev/oplabs-tools-artifacts/oss
env: |
GIT_VERSION=${{ fromJson(needs.prep.outputs.versions)[needs.prep.outputs.image_name] }}
KONA_VERSION=${{ needs.prep.outputs.kona_version }}
set: |
*.args.GIT_COMMIT=${{ github.sha }}
*.args.GIT_DATE=${{ github.event.head_commit.timestamp }}
permissions:
contents: read
id-token: write
attestations: write
87 changes: 0 additions & 87 deletions .github/workflows/unprotected.yaml

This file was deleted.

2 changes: 2 additions & 0 deletions .semgrep/rules/sol-rules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,8 @@ rules:
- packages/contracts-bedrock/src/L1/OPContractsManager.sol
- packages/contracts-bedrock/src/L1/opcm/OPContractsManagerV2.sol
- packages/contracts-bedrock/src/L1/opcm/OPContractsManagerContainer.sol
- packages/contracts-bedrock/src/L1/opcm/OPContractsManagerUtils.sol
- packages/contracts-bedrock/src/L1/opcm/OPContractsManagerUtilsCaller.sol
- packages/contracts-bedrock/src/L1/OptimismPortal2.sol
- packages/contracts-bedrock/src/L1/OptimismPortalInterop.sol
- packages/contracts-bedrock/src/L2/FeeVault.sol
Expand Down
Loading