Commit e43ade10 authored by smartcontracts's avatar smartcontracts Committed by GitHub

maint: remove versions.json (#13184)

Removes the legacy versions.json file and replaces it with
references to mise.toml.
parent f2eaaa83
......@@ -257,7 +257,7 @@ jobs:
working_directory: packages/contracts-bedrock
command: |
# Clone asterisc @ the pinned version to fetch remote `RISCV.sol`
ASTERISC_REV="$(cat ../../versions.json | jq -r .asterisc)"
ASTERISC_REV="v$(yq '.tools.asterisc' ../../mise.toml)"
REMOTE_ASTERISC_PATH="./src/vendor/asterisc/RISCV_Remote.sol"
git clone https://github.com/ethereum-optimism/asterisc \
-b $ASTERISC_REV && \
......@@ -526,7 +526,7 @@ jobs:
- run:
name: Sign
command: |
VER=$(jq -r .binary_signer < versions.json)
VER=$(yq '.tools.binary_signer' mise.toml)
wget -O - "https://github.com/ethereum-optimism/binary_signer/archive/refs/tags/v${VER}.tar.gz" | tar xz
cd "binary_signer-${VER}/signer"
......
......@@ -248,5 +248,5 @@ update-op-geth: ## Updates the Geth version used in the project
.PHONY: update-op-geth
install-eth2-testnet-genesis:
go install -v github.com/protolambda/eth2-testnet-genesis@$(shell jq -r .eth2_testnet_genesis < versions.json)
go install -v github.com/protolambda/eth2-testnet-genesis@v$(shell yq '.tools."go:github.com/protolambda/eth2-testnet-genesis"' mise.toml)
.PHONY: install-eth2-testnet-genesis
......@@ -3,7 +3,7 @@
set -eu
# Run this with workdir set as root of the repo
if [ -f "../versions.json" ]; then
if [ -f "../mise.toml" ]; then
echo "Running create-chains script."
else
echo "Cannot run create-chains script, must be in interop-devnet dir, but currently in:"
......
......@@ -6,8 +6,10 @@ rust = "1.83.0"
python = "3.12.0"
uv = "0.5.5"
jq = "1.7.1"
yq = "4.44.5"
shellcheck = "0.10.0"
direnv = "2.35.0"
just = "1.37.0"
# Cargo dependencies
"cargo:just" = "1.37.0"
......
......@@ -24,7 +24,7 @@ COPY --from=foundry /usr/local/bin/cast /usr/local/bin/cast
WORKDIR /opt/optimism
COPY ./versions.json ./versions.json
COPY ./mise.toml ./mise.toml
COPY ./packages ./packages
COPY .git/ ./.git
COPY .gitmodules ./.gitmodules
......@@ -66,7 +66,7 @@ COPY --from=1password/op:2 /usr/local/bin/op /usr/local/bin/op
RUN mkdir -p /opt/optimism/packages/contracts-bedrock
COPY --from=base /opt/optimism/packages/contracts-bedrock /opt/optimism/packages/contracts-bedrock
COPY --from=base /opt/optimism/versions.json /opt/optimism/versions.json
COPY --from=base /opt/optimism/mise.toml /opt/optimism/mise.toml
WORKDIR /opt/optimism/packages/contracts-bedrock
......
......@@ -14,9 +14,13 @@ FROM --platform=$BUILDPLATFORM golang:1.22.7-alpine3.20 AS builder
RUN apk add --no-cache curl tar gzip make gcc musl-dev linux-headers git jq bash
# install yq
RUN wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yq && \
chmod +x /usr/local/bin/yq
# install versioned toolchain
COPY ./versions.json .
RUN curl -L https://github.com/casey/just/releases/download/$(jq -r .just < versions.json)/just-$(jq -r .just < versions.json)-x86_64-unknown-linux-musl.tar.gz | \
COPY ./mise.toml .
RUN curl -L https://github.com/casey/just/releases/download/$(yq '.tools.just' mise.toml)/just-$(yq '.tools.just' mise.toml)-x86_64-unknown-linux-musl.tar.gz | \
tar xz -C /usr/local/bin just
# We copy the go.mod/sum first, so the `go mod download` does not have to re-run if dependencies do not change.
......
......@@ -21,4 +21,4 @@
!/go.mod
!/go.sum
!/just
!/versions.json
!/mise.toml
......@@ -90,7 +90,7 @@ Use the [`run-kontrol.sh`](./scripts/run-kontrol.sh) script to runs the proofs i
The `run-kontrol.sh` script supports three modes of proof execution:
- `container`: Runs the proofs using the same Docker image used in CI. This is the default execution mode—if no arguments are provided, the proofs will be executed in this mode.
- `local`: Runs the proofs with your local Kontrol install, and enforces that the Kontrol version matches the one used in CI, which is specified in [`versions.json`](../../../../versions.json).
- `local`: Runs the proofs with your local Kontrol install, and enforces that the Kontrol version matches the one used in CI, which is specified in [`mise.toml`](../../../../mise.toml).
- `dev`: Run the proofs with your local Kontrol install, without enforcing any version in particular. The intended use case is proof development and related matters.
It also supports two methods for specifying which tests to execute:
......
......@@ -11,7 +11,7 @@ usage_run_kontrol() {
echo "" 1>&2
echo "Execution modes:"
echo " container Run in docker container. Reproduce CI execution. (Default)" 1>&2
echo " local Run locally, enforces registered versions.json version for better reproducibility. (Recommended)" 1>&2
echo " local Run locally, enforces registered mise.toml version for better reproducibility. (Recommended)" 1>&2
echo " dev Run locally, does NOT enforce registered version. (Useful for developing with new versions and features)" 1>&2
echo "" 1>&2
echo "Tests executed:"
......@@ -28,7 +28,7 @@ usage_make_summary() {
echo "" 1>&2
echo "Execution modes:"
echo " container Run in docker container. Reproduce CI execution. (Default)" 1>&2
echo " local Run locally, enforces registered versions.json version for better reproducibility. (Recommended)" 1>&2
echo " local Run locally, enforces registered mise.toml version for better reproducibility. (Recommended)" 1>&2
echo " dev Run locally, does NOT enforce registered version. (Useful for developing with new versions and features)" 1>&2
exit 0
}
......@@ -43,7 +43,7 @@ export CONTAINER_NAME=kontrol-tests
if [ "$KONTROL_FP_DEPLOYMENT" = true ]; then
export CONTAINER_NAME=kontrol-fp-tests
fi
KONTROLRC=$(jq -r .kontrol < "$WORKSPACE_DIR/../../versions.json")
KONTROLRC=$(yq '.tools.kontrol' "$WORKSPACE_DIR/../../mise.toml")
export KONTROL_RELEASE=$KONTROLRC
export LOCAL=false
export SCRIPT_TESTS=false
......
{
"go": "1.22.6",
"abigen": "v1.10.25",
"foundry": "143abd6a768eeb52a5785240b763d72a56987b4a",
"geth": "v1.14.7",
"geth_release": "1.14.7-aa55f5ea",
"eth2_testnet_genesis": "v0.10.0",
"nvm": "v20.9.0",
"slither": "0.10.2",
"kontrol": "1.0.53",
"just": "1.34.0",
"binary_signer": "1.0.4",
"semgrep": "1.90.0",
"asterisc": "v1.1.2"
}
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