Commit 327e6e68 authored by Adrian Sutton's avatar Adrian Sutton Committed by GitHub

proofs Add a proofs-tools docker image (#11825)

* op-challenger: Add a "big" op-challenger docker image including asterisc and kona

* proofs-tools: Rename op-challenger-deps to proofs-tools and use tagged asterisc and kona sources.

* proofs-tools: Use more recent version of challenger for testing

* proofs-tools: Remove TODO

* proofs-tools: Only build for amd64 - kona doesn't support arm64.

* proofs-tools: Add README

* proofs-tools: Use challenger v1.1.0
parent c21d0c5f
...@@ -1744,6 +1744,10 @@ workflows: ...@@ -1744,6 +1744,10 @@ workflows:
docker_name: op-challenger docker_name: op-challenger
docker_tags: <<pipeline.git.revision>>,<<pipeline.git.branch>> docker_tags: <<pipeline.git.revision>>,<<pipeline.git.branch>>
save_image_tag: <<pipeline.git.revision>> # for devnet later save_image_tag: <<pipeline.git.revision>> # for devnet later
- docker-build:
name: proofs-tools-docker-build
docker_name: proofs-tools
docker_tags: <<pipeline.git.revision>>,<<pipeline.git.branch>>
- docker-build: - docker-build:
name: op-dispute-mon-docker-build name: op-dispute-mon-docker-build
docker_name: op-dispute-mon docker_name: op-dispute-mon
...@@ -1980,10 +1984,10 @@ workflows: ...@@ -1980,10 +1984,10 @@ workflows:
requires: requires:
- op-supervisor-docker-release - op-supervisor-docker-release
- docker-build: - docker-build:
name: ci-builder-docker-release name: op-challenger-big-docker-release
filters: filters:
tags: tags:
only: /^ci-builder\/v.*/ only: /^op-challenger\/v.*/
branches: branches:
ignore: /.*/ ignore: /.*/
docker_name: ci-builder docker_name: ci-builder
...@@ -1995,6 +1999,22 @@ workflows: ...@@ -1995,6 +1999,22 @@ workflows:
- oplabs-gcr - oplabs-gcr
requires: requires:
- hold - hold
- docker-build:
name: proofs-tools-docker-release
filters:
tags:
only: /^proofs-tools\/v.*/
branches:
ignore: /.*/
docker_name: proofs-tools
docker_tags: <<pipeline.git.revision>>,latest
publish: true
release: true
resource_class: xlarge
context:
- oplabs-gcr
requires:
- hold
- docker-build: - docker-build:
name: ci-builder-rust-docker-release name: ci-builder-rust-docker-release
filters: filters:
......
...@@ -199,6 +199,19 @@ target "cannon" { ...@@ -199,6 +199,19 @@ target "cannon" {
tags = [for tag in split(",", IMAGE_TAGS) : "${REGISTRY}/${REPOSITORY}/cannon:${tag}"] tags = [for tag in split(",", IMAGE_TAGS) : "${REGISTRY}/${REPOSITORY}/cannon:${tag}"]
} }
target "proofs-tools" {
dockerfile = "./ops/docker/proofs-tools/Dockerfile"
context = "."
args = {
CHALLENGER_VERSION="v1.1.0"
KONA_VERSION="kona-client-v0.1.0-alpha.3"
ASTERISC_VERSION="v1.0.2"
}
target="proofs-tools"
platforms = split(",", PLATFORMS)
tags = [for tag in split(",", IMAGE_TAGS) : "${REGISTRY}/${REPOSITORY}/proofs-tools:${tag}"]
}
target "ci-builder" { target "ci-builder" {
dockerfile = "./ops/docker/ci-builder/Dockerfile" dockerfile = "./ops/docker/ci-builder/Dockerfile"
context = "." context = "."
......
ARG GIT_COMMIT
ARG GIT_DATE
ARG CHALLENGER_VERSION
ARG KONA_VERSION
ARG ASTERISC_VERSION
FROM --platform=$BUILDPLATFORM us-docker.pkg.dev/oplabs-tools-artifacts/images/op-challenger:$CHALLENGER_VERSION AS challenger
FROM --platform=$BUILDPLATFORM ghcr.io/anton-rs/kona/kona-fpp-asterisc:$KONA_VERSION AS kona
FROM --platform=$BUILDPLATFORM ghcr.io/ethereum-optimism/asterisc/asterisc:$ASTERISC_VERSION AS asterisc
FROM --platform=$BUILDPLATFORM ubuntu:22.04 AS proofs-tools
RUN apt-get update && apt-get install -y --no-install-recommends musl
COPY --from=challenger /usr/local/bin/op-challenger /usr/local/bin/
COPY --from=challenger /usr/local/bin/cannon /usr/local/bin/
ENV OP_CHALLENGER_CANNON_BIN /usr/local/bin/cannon
COPY --from=challenger /usr/local/bin/op-program /usr/local/bin/
ENV OP_CHALLENGER_CANNON_SERVER=/usr/local/bin/op-program
COPY --from=kona /kona-host /usr/local/bin/
ENV OP_CHALLENGER_ASTERISC_KONA_SERVER=/usr/local/bin/kona-host
COPY --from=asterisc /usr/local/bin/asterisc /usr/local/bin/
ENV OP_CHALLENGER_ASTERISC_BIN=/usr/local/bin/asterisc
CMD /usr/local/bin/op-challenger
## Proofs Tools
The proofs-tools docker image provides a collection of useful fault proofs related tools in a single docker image.
In particular it provides op-challenger with cannon, asterisc, op-program and kona-host ready to participate in
cannon, asterisc or asterisc-kona game types.
The version of each tool used in the image is specified
in [docker-bake.hcl](https://github.com/ethereum-optimism/optimism/blob/develop/docker-bake.hcl).
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment