From 72546945c84801b13c19672742551bbe55b554c2 Mon Sep 17 00:00:00 2001 From: mbaxter Date: Tue, 28 Oct 2025 15:43:32 -0400 Subject: [PATCH 1/3] Bump 'current' cannon vm to version 8 --- cannon/mipsevm/versions/version.go | 2 +- op-program/Makefile | 2 +- op-program/repro.justfile | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cannon/mipsevm/versions/version.go b/cannon/mipsevm/versions/version.go index e397f8615945f..2ce059dc40d6d 100644 --- a/cannon/mipsevm/versions/version.go +++ b/cannon/mipsevm/versions/version.go @@ -105,7 +105,7 @@ func GetStateVersionStrings() []string { // GetCurrentVersion returns the current default version. func GetCurrentVersion() StateVersion { - return VersionMultiThreaded64_v4 + return VersionMultiThreaded64_v5 } // GetExperimentalVersion returns the newest in-development version of Cannon if it exists, otherwise returns the same diff --git a/op-program/Makefile b/op-program/Makefile index 48c9f13ad443d..e12c8e5a1d3b7 100644 --- a/op-program/Makefile +++ b/op-program/Makefile @@ -48,7 +48,7 @@ check-custom-chains: op-program-host reproducible-prestate: check-custom-chains @docker build --build-arg GO_VERSION=1.24.2-alpine3.21 --build-arg EXPORT_TARGET=next --output ./bin/ --progress plain -f Dockerfile.repro ../ - @docker build --build-arg GO_VERSION=1.23.8-alpine3.21 --build-arg EXPORT_TARGET=current --output ./bin/ --progress plain -f Dockerfile.repro ../ + @docker build --build-arg GO_VERSION=1.24.2-alpine3.21 --build-arg EXPORT_TARGET=current --output ./bin/ --progress plain -f Dockerfile.repro ../ @echo "-------------------- Production Prestates --------------------" @echo "\nCannon64 Absolute prestate hash: " @cat ./bin/prestate-proof-mt64.json | jq -r .pre diff --git a/op-program/repro.justfile b/op-program/repro.justfile index 71ebfdd54eb61..2af6173fa469b 100644 --- a/op-program/repro.justfile +++ b/op-program/repro.justfile @@ -40,9 +40,9 @@ prestate TYPE CLIENT_SUFFIX PRESTATE_SUFFIX: cannon op-program-client-mips --version {{TYPE}}\ --suffix {{PRESTATE_SUFFIX}} -build-mt64: (prestate "multithreaded64-4" "64" "-mt64") +build-mt64: (prestate "multithreaded64-5" "64" "-mt64") build-mt64Next: (prestate "multithreaded64-5" "64" "-mt64Next") -build-interop: (prestate "multithreaded64-4" "-interop" "-interop") +build-interop: (prestate "multithreaded64-5" "-interop" "-interop") build-interopNext: (prestate "multithreaded64-5" "-interop" "-interopNext") build-current: build-mt64 build-interop From dbec19d2eee7c5b64598051ebbf06625667d0179 Mon Sep 17 00:00:00 2001 From: mbaxter Date: Tue, 28 Oct 2025 15:49:51 -0400 Subject: [PATCH 2/3] Update docker diff check --- cannon/Dockerfile.diff | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cannon/Dockerfile.diff b/cannon/Dockerfile.diff index 3f1a47eb8ade4..dc0ebd7891536 100644 --- a/cannon/Dockerfile.diff +++ b/cannon/Dockerfile.diff @@ -23,14 +23,14 @@ ARG GIT_DATE ARG TARGETOS TARGETARCH -FROM --platform=$BUILDPLATFORM us-docker.pkg.dev/oplabs-tools-artifacts/images/cannon:v1.5.0-alpha.1 AS cannon-multithreaded64-4 +FROM --platform=$BUILDPLATFORM us-docker.pkg.dev/oplabs-tools-artifacts/images/cannon:v1.6.0 AS cannon-multithreaded64-5 FROM --platform=$BUILDPLATFORM builder AS cannon-verify -COPY --from=cannon-multithreaded64-4 /usr/local/bin/cannon /usr/local/bin/cannon-multithreaded64-4 +COPY --from=cannon-multithreaded64-5 /usr/local/bin/cannon /usr/local/bin/cannon-multithreaded64-5 -# Check cannon-multithreaded64-4 -# verify the latest multithreaded VM behavior against multithreaded64-4 -RUN cd cannon && make diff-multithreaded64-4-cannon -e OTHER_CANNON=/usr/local/bin/cannon-multithreaded64-4 +# Check cannon-multithreaded64-5 +# verify the latest multithreaded VM behavior against multithreaded64-5 +RUN cd cannon && make diff-multithreaded64-5-cannon -e OTHER_CANNON=/usr/local/bin/cannon-multithreaded64-5 RUN --mount=type=cache,target=/root/.cache/go-build cd cannon && \ - make diff-multithreaded64-4-cannon -e OTHER_CANNON=/usr/local/bin/cannon-multithreaded64-4 \ + make diff-multithreaded64-5-cannon -e OTHER_CANNON=/usr/local/bin/cannon-multithreaded64-5 \ GOOS=$TARGETOS GOARCH=$TARGETARCH GITCOMMIT=$GIT_COMMIT GITDATE=$GIT_DATE From 71ea70199d2227ea1d0c7f83298bb9abd3acadb3 Mon Sep 17 00:00:00 2001 From: mbaxter Date: Tue, 28 Oct 2025 16:40:40 -0400 Subject: [PATCH 3/3] Always build "next" version of cannon --- op-program/builder/main.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/op-program/builder/main.go b/op-program/builder/main.go index 4788489f1104e..b5d660f8cedbc 100644 --- a/op-program/builder/main.go +++ b/op-program/builder/main.go @@ -88,7 +88,6 @@ func runBuildPrestates(cliCtx *cli.Context) error { logger := setupLogger() ctx := cliCtx.Context releasesOnly := cliCtx.Bool("releases-only") - buildNext := versions.GetCurrentVersion() != versions.GetExperimentalVersion() root, err := opservice.FindMonorepoRoot(".") if err != nil { @@ -107,7 +106,7 @@ func runBuildPrestates(cliCtx *cli.Context) error { {programELF, versions.GetCurrentVersion(), "-mt64"}, {interopProgramELF, versions.GetCurrentVersion(), "-interop"}, } - if !releasesOnly && buildNext { + if !releasesOnly { prestates = append(prestates, prestateInfo{programELF, versions.GetExperimentalVersion(), "-mt64Next"}) prestates = append(prestates, prestateInfo{interopProgramELF, versions.GetExperimentalVersion(), "-interopNext"}) } @@ -118,7 +117,7 @@ func runBuildPrestates(cliCtx *cli.Context) error { } } - if !releasesOnly && !buildNext { + if !releasesOnly { // some tests expect a "next" prestate to exist. So let's fake them if they weren't built. copies := []struct { src, dst string