Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
f03a532
Make converting ledger sync check more defensive
cjjdespres Sep 17, 2025
d48e21a
Add changelog for PR 17819
cjjdespres Sep 17, 2025
73957e6
Implement ledger iteri with iteri_untrusted
cjjdespres Sep 18, 2025
4ea1acc
Use ~message and ~here in Option.value_exn
cjjdespres Sep 30, 2025
ff1aec3
implement RocksDB compatibility test in Python
glyh Oct 16, 2025
71a950a
move RocksDB test from `/buildkite/scripts` -> `scripts`
glyh Oct 17, 2025
d214212
Don't use counter when looping
glyh Oct 17, 2025
418986b
Refactor RocksDB binding using context manager
glyh Oct 17, 2025
4e97d2d
Remove requests as dependency
glyh Oct 17, 2025
92820f7
Add document for rocksDB compatibility test in code
glyh Oct 17, 2025
ac79ed8
make test round configurable
glyh Oct 17, 2025
7a4e749
Lift magic constants to top level in test
glyh Oct 17, 2025
ff523ce
RocksDB Compatibility: Make pyright happier on test.py
glyh Oct 17, 2025
b56a2ce
RocksDB test: don't catch and rethrow
glyh Oct 17, 2025
b65b62e
Add a TODO to figure out how to enable SSL ceritiifacte when listing …
glyh Oct 17, 2025
8628a49
fix outdated comment in flake.nix
glyh Oct 17, 2025
832331a
track O1LABS_OPAM_REPOSITORY_COMMIT in scripts/update-opam-switch.sh …
glyh Oct 17, 2025
d63ff17
Update flake.{nix, lock}, 1-build-deps and update-opam-switch.sh to
glyh Oct 17, 2025
edbbd3e
Update RocksDB 10.2.1 -> 10.5.1 to match version used in nix
glyh Oct 16, 2025
e44f4aa
enable nix assertion of OCaml RocksDB stub version
glyh Oct 16, 2025
30768ea
Ci test for rocksdb
dkijania Oct 17, 2025
8de71d5
fix dirty when
dkijania Oct 17, 2025
0dd9d63
Update toolchain hash to use RocksDB 10.5.1
glyh Oct 17, 2025
d5e0954
Add changelog for 17954
glyh Oct 17, 2025
ddbbd69
update name and fix paths
dkijania Oct 17, 2025
3a1d30f
Handling archive from network which were derived from fork in missing…
dkijania Oct 17, 2025
63e44f8
add changelog
dkijania Oct 17, 2025
d45f4a2
Merge pull request #17954 from MinaProtocol/lyh/rocksdb-10.5.1-for-no…
glyh Oct 18, 2025
9845659
Merge pull request #17819 from MinaProtocol/cjjdespres/make-sync-chec…
cjjdespres Oct 18, 2025
fb9c0de
Rename Lucy Test: hard_fork -> post_hard_fork
glyh Oct 20, 2025
6ca1035
support archs in manager needed for debug
dkijania Oct 17, 2025
f2666b7
add architectures param to filter out arm64
dkijania Oct 17, 2025
ca9643a
pass required arch when building docker
dkijania Oct 17, 2025
1dde177
clean repo before adding packages.
dkijania Oct 17, 2025
8e9d3e4
name package name accordingly to debian name
dkijania Oct 20, 2025
c7ef3b4
fix bash checks
dkijania Oct 20, 2025
fac15ec
fix dirtyWhen
dkijania Oct 20, 2025
2397895
lint
dkijania Oct 20, 2025
0742ec7
documented build functions
dkijania Oct 20, 2025
d8d392d
fix arch -> archs argument name
dkijania Oct 20, 2025
5b8c6f1
Merge pull request #17970 from MinaProtocol/dkijania/filter_out_arm_amd
dkijania Oct 20, 2025
432937a
Merge pull request #17959 from MinaProtocol/dkijania/fix_amd64_arm64_…
dkijania Oct 20, 2025
7cd25fc
Merge pull request #17962 from MinaProtocol/dkijania/handle_forks_in_…
dkijania Oct 20, 2025
a50243a
Merge branch 'dkijania/merge_master_to_3_3_0' into dkijania/port_merg…
dkijania Oct 20, 2025
b67bb48
Use sudo when installing RocksDB on CI
glyh Oct 21, 2025
b578311
Refactor RocksDB binding to use generator for `read_iter`
glyh Oct 21, 2025
faedb96
Fix: install RocksDB as shared library so it could be located by pyth…
glyh Oct 21, 2025
9c1dd20
Make RocksDB compat test of size generic-multi
glyh Oct 21, 2025
9b5d4da
Merge pull request #17973 from MinaProtocol/dkijania/port_merge_330_comp
dkijania Oct 21, 2025
e8db7ba
Invoke `sudo ldconfig` after installing rocksdb library
glyh Oct 21, 2025
e8b4c80
Rewrite RocksDB Ledger Tar test job to run on Raw ubuntu:noble
glyh Oct 21, 2025
92068b5
Buildkite: Mark Mina Artifact Debian as Multi to aleviate bk agent st…
glyh Oct 21, 2025
a67db38
Merge pull request #17966 from MinaProtocol/lyh/rename-lucy-hard-fork
glyh Oct 21, 2025
e9b29f4
Merge pull request #17977 from MinaProtocol/lyh/mark-mina-artifact-de…
glyh Oct 21, 2025
86e41e4
Merge pull request #17957 from MinaProtocol/dkijania/rocksdb-test-ci
glyh Oct 21, 2025
31835b3
FIX: table zkapp_states should refers to FK ID of zkapp_field instead…
glyh Oct 16, 2025
5f1efc1
Merge pull request #17981 from MinaProtocol/lyh/fix-non-nullable-zkap…
glyh Oct 21, 2025
61eb572
Remove README-spacetime.md
glyh Oct 21, 2025
63ecc52
Merge pull request #17984 from MinaProtocol/lyh/remove-spacetime-readme
glyh Oct 22, 2025
aa8387f
Merge remote-tracking branch 'origin/compatible' into lyh/compatible-…
glyh Oct 22, 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
74 changes: 0 additions & 74 deletions README-spacetime.md

This file was deleted.

18 changes: 17 additions & 1 deletion buildkite/scripts/debian/start_local_repo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,22 @@ if [ -z $MINA_DEB_CODENAME ]; then
exit 1
fi

# Parse command line arguments
ARCH="amd64" # default architecture

while [[ $# -gt 0 ]]; do
case $1 in
--arch)
ARCH="$2"
shift 2
;;
*)
echo "Unknown option: $1"
exit 1
;;
esac
done

LOCAL_DEB_FOLDER=_build

set -eou pipefail
Expand All @@ -16,4 +32,4 @@ mkdir -p $LOCAL_DEB_FOLDER
source ./buildkite/scripts/export-git-env-vars.sh
./buildkite/scripts/cache/manager.sh read --root legacy/debians "$MINA_DEB_CODENAME/*" _build
./buildkite/scripts/cache/manager.sh read "debians/$MINA_DEB_CODENAME/*" _build
./scripts/debian/aptly.sh start --codename $MINA_DEB_CODENAME --debians $LOCAL_DEB_FOLDER --component unstable --clean --background --wait
./scripts/debian/aptly.sh start --codename $MINA_DEB_CODENAME --debians $LOCAL_DEB_FOLDER --component unstable --clean --background --wait --archs $ARCH
40 changes: 24 additions & 16 deletions buildkite/scripts/release/manager.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1915,6 +1915,10 @@ function pull(){
__networks=${2:?$error_message}
shift 2;
;;
--archs )
__archs=${2:?$error_message}
shift 2;
;;
* )
echo -e "${RED} !! Unknown option: $1${CLEAR}\n";
echo "";
Expand All @@ -1936,6 +1940,8 @@ function pull(){
echo " - Target: $__target"
echo " - Codenames: $__codenames"
echo " - Networks: $__networks"
echo " - Architectures: $__archs"

if [[ -n ${__from_special_folder+x} ]]; then
echo " - From special folder: $__from_special_folder"
fi
Expand All @@ -1947,26 +1953,28 @@ function pull(){
read -r -a __artifacts_arr <<< "$__artifacts"
read -r -a __codenames_arr <<< "$__codenames"
read -r -a __networks_arr <<< "$__networks"
read -r -a __archs_arr <<< "$__archs"

for __artifact in "${__artifacts_arr[@]}"; do
for __codename in "${__codenames_arr[@]}"; do
for network in "${__networks_arr[@]}"; do
echo " 📥 Pulling $__artifact for $__codename codename and $network network"
local __artifact_full_name
local __source_path
__artifact_full_name=$(get_artifact_with_suffix $__artifact $network)

if [[ -n ${__from_special_folder+x} ]]; then
__source_path="$(storage_root "$__backend")/$__from_special_folder/${__artifact_full_name}_*"
else
__source_path="$(storage_root "$__backend")/$__buildkite_build_id/debians/$__codename/${__artifact_full_name}_*"
fi

storage_download "$__backend" "$__source_path" "$__target"
for __arch in "${__archs_arr[@]}"; do
for __artifact in "${__artifacts_arr[@]}"; do
for __codename in "${__codenames_arr[@]}"; do
for network in "${__networks_arr[@]}"; do
echo " 📥 Pulling $__artifact for $__codename codename and $network network"
local __artifact_full_name
local __source_path
__artifact_full_name=$(get_artifact_with_suffix $__artifact $network)

if [[ -n ${__from_special_folder+x} ]]; then
__source_path="$(storage_root "$__backend")/$__from_special_folder/${__artifact_full_name}_*_${__arch}.deb"
else
__source_path="$(storage_root "$__backend")/$__buildkite_build_id/debians/$__codename/${__artifact_full_name}_*_${__arch}.deb"
fi

storage_download "$__backend" "$__source_path" "$__target"
done
done
done
done

echo " ✅ Done."
echo ""
}
Expand Down
3 changes: 2 additions & 1 deletion buildkite/src/Command/DockerImage.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,8 @@ let generateStep =
then " && echo Skipping local debian repo setup "

else " && ./buildkite/scripts/debian/update.sh --verbose"
++ " && apt-get install aptly -y && ./buildkite/scripts/debian/start_local_repo.sh"
++ " && apt-get install aptly -y && ./buildkite/scripts/debian/start_local_repo.sh --arch ${Arch.lowerName
spec.arch}"

let maybeStopDebianRepo =
if spec.no_debian
Expand Down
2 changes: 1 addition & 1 deletion buildkite/src/Command/MinaArtifact.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ let build_artifacts
]
, label = "Debian: Build ${labelSuffix spec}"
, key = "build-deb-pkg${Optional/default Text "" spec.suffix}"
, target = Size.XLarge
, target = Size.Multi
, if_ = spec.if_
, retries =
[ Command.Retry::{
Expand Down
14 changes: 7 additions & 7 deletions buildkite/src/Constants/ContainerImages.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,22 @@
{ toolchainBase = "codaprotocol/ci-toolchain-base:v3"
, minaToolchainBookworm =
{ amd64 =
"gcr.io/o1labs-192920/mina-toolchain@sha256:dfa8a0eb32742900d890590875a7f7436545cd46d8c4ff147fc6a29997e5d4f3"
"gcr.io/o1labs-192920/mina-toolchain@sha256:a3517722b1573ac19f9361d42aa0b5f15a108d62fa73f97f0a74e195af1a2e90"
, arm64 =
"gcr.io/o1labs-192920/mina-toolchain@sha256:8e92e0b4c9202e0e5f31afd48713d28bde903959ff7e55cbc1c080b0a8df5e3d"
"gcr.io/o1labs-192920/mina-toolchain@sha256:b4a7040b64473f89e51372ab6e11f9332730e085766aa157c25e28c6b9c0c6d4"
}
, minaToolchainBullseye.amd64 =
"gcr.io/o1labs-192920/mina-toolchain@sha256:bcc6b9899d5d99c83287c2735fb686a6169268d48b11262d9dfa03c1dfd0cece"
"gcr.io/o1labs-192920/mina-toolchain@sha256:524a3fb77d6702f38ad63ec737e398478e082387753b8d01e1ccf607d2917343"
, minaToolchainNoble =
{ amd64 =
"gcr.io/o1labs-192920/mina-toolchain@sha256:0c6f1c0921c7f76be7b86948e1f9e82d8270002fc19f0b48647bb1604489268f"
"gcr.io/o1labs-192920/mina-toolchain@sha256:3fd6ebfedb905ba358903639c2ebcdbd2277316b854d80f12c74df8dcd83734b"
, arm64 =
"gcr.io/o1labs-192920/mina-toolchain@sha256:182f0aa05988c5a00cc1ca5a5b651904282f3a0f7cd75faabe0a52e7d332cecb"
"gcr.io/o1labs-192920/mina-toolchain@sha256:adfff17bf21b79efc3b2d54d0648049a36fa7b54b732773bd7f2f651869c1f54"
}
, minaToolchainJammy.amd64 =
"gcr.io/o1labs-192920/mina-toolchain@sha256:a3e5c7dc30c67d8a9769deee282f0b5b2a513629bf272aa9b9ec7d6aee68a4e4"
"gcr.io/o1labs-192920/mina-toolchain@sha256:6db30a6faf94f7dcc23a14bcbc01d558b2164955067fd21eb92a981fe231dfe1"
, minaToolchain =
"gcr.io/o1labs-192920/mina-toolchain@sha256:bcc6b9899d5d99c83287c2735fb686a6169268d48b11262d9dfa03c1dfd0cece"
"gcr.io/o1labs-192920/mina-toolchain@sha256:524a3fb77d6702f38ad63ec737e398478e082387753b8d01e1ccf607d2917343"
, postgres = "postgres:12.4-alpine"
, xrefcheck =
"dkhamsing/awesome_bot@sha256:a8adaeb3b3bd5745304743e4d8a6d512127646e420544a6d22d9f58a07f35884"
Expand Down
53 changes: 53 additions & 0 deletions buildkite/src/Jobs/Test/RocksDBLedgerTarCompatibilityTest.dhall
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
let S = ../../Lib/SelectFiles.dhall

let Pipeline = ../../Pipeline/Dsl.dhall

let PipelineTag = ../../Pipeline/Tag.dhall

let JobSpec = ../../Pipeline/JobSpec.dhall

let Command = ../../Command/Base.dhall

let Size = ../../Command/Size.dhall

let Cmd = ../../Lib/Cmds.dhall

let Docker = ../../Command/Docker/Type.dhall

let commands =
[ Cmd.run
"apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --quiet --yes python3 python3-pip build-essential sudo curl"
, Cmd.run "./scripts/rocksdb-compatibility/install-rocksdb.sh"
, Cmd.run
"pip3 install --break-system-packages -r ./scripts/rocksdb-compatibility/requirements.txt"
, Cmd.run "python3 ./scripts/rocksdb-compatibility/test.py"
]

in Pipeline.build
Pipeline.Config::{
, spec = JobSpec::{
, dirtyWhen =
[ S.strictlyStart (S.contains "scripts/rocksdb-compatibility")
, S.exactly
"buildkite/src/Jobs/Test/RocksDBLedgerTarCompatibilityTest"
"dhall"
]
, path = "Test"
, name = "RocksDBLedgerTarCompatibilityTest"
, tags =
[ PipelineTag.Type.Fast
, PipelineTag.Type.Test
, PipelineTag.Type.Stable
]
}
, steps =
[ Command.build
Command.Config::{
, commands = commands
, label = "Check RocksDB Ledger Tar Compatibility"
, key = "test"
, target = Size.Multi
, docker = Some Docker::{ image = "ubuntu:noble" }
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,5 @@ in Pipeline.build
, PipelineTag.Type.Stable
]
}
, steps = [ TestExecutive.executeLocal "hard-fork" dependsOn ]
, steps = [ TestExecutive.executeLocal "post-hard-fork" dependsOn ]
}
2 changes: 2 additions & 0 deletions changes/17819.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Fix crash in ledger sync check that could occur when trying to load ledger
databases that were only partially synced to a network ledger
1 change: 1 addition & 0 deletions changes/17954.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Mina Daemon now use RocksDB 10.5.1 under the hood to parse genesis/epoch ledger tars. It's tested that RocksDB preserved backward compatibility on the ledger tars we serve with old RocksDB version.
3 changes: 3 additions & 0 deletions changes/17962.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Altering mina-missing-block-auditor app.

Correctly handling network derived from devnet/mainnet, but without pre-hardfork blocks
2 changes: 1 addition & 1 deletion dockerfiles/stages/1-build-deps
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ ARG OPAM_VERSION=2.3.0
# `nix flake update opam-repository`).
# - scripts/update_opam_switch.sh
ARG OPAM_REPOSITORY_COMMIT=08d8c16c16dc6b23a5278b06dff0ac6c7a217356
ARG O1LABS_OPAM_REPOSITORY_COMMIT=cabde639f92d259d4c131b00200d7a53d854ee74
ARG O1LABS_OPAM_REPOSITORY_COMMIT=dd90c5c72b7b7caeca3db3224b2503924deea08a

# Golang version number used to detemine tarball name
ARG GO_VERSION=1.19.11
Expand Down
8 changes: 4 additions & 4 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@
inputs.describe-dune.inputs.nixpkgs.follows = "nixpkgs";
inputs.describe-dune.inputs.flake-utils.follows = "utils";

inputs.o1-opam-repository.url = "github:o1-labs/opam-repository/cabde639f92d259d4c131b00200d7a53d854ee74";
inputs.o1-opam-repository.url = "github:o1-labs/opam-repository/dd90c5c72b7b7caeca3db3224b2503924deea08a";
inputs.o1-opam-repository.flake = false;

# The version must be the same as the version used in:
# - dockerfiles/1-build-deps
# - flake.nix (and flake.lock after running
# `nix flake update opam-repository`).
# - scripts/update_opam_switch.sh
# - scripts/update-opam-switch.sh
inputs.opam-repository.url =
"github:ocaml/opam-repository/08d8c16c16dc6b23a5278b06dff0ac6c7a217356";
inputs.opam-repository.flake = false;
Expand Down
7 changes: 3 additions & 4 deletions nix/ocaml.nix
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,9 @@ let
};

rocksdb_stubs =
# TODO uncomment after updating rocksdb_stubs to 10.5.1
# assert (super.rocksdb_stubs.version == pkgs.rocksdb-mina.version)
# || builtins.throw
# "rocksdb_stubs version (${super.rocksdb_stubs.version}) does not match rocksdb-mina version (${pkgs.rocksdb-mina.version})";
assert (super.rocksdb_stubs.version == pkgs.rocksdb-mina.version)
|| builtins.throw
"rocksdb_stubs version (${super.rocksdb_stubs.version}) does not match rocksdb-mina version (${pkgs.rocksdb-mina.version})";
super.rocksdb_stubs.overrideAttrs {
MINA_ROCKSDB = "${pkgs.rocksdb-mina}/lib/librocksdb.a";
};
Expand Down
4 changes: 2 additions & 2 deletions opam.export
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ roots: [
"qcheck-alcotest.0.20"
"re2.v0.14.0"
"rocks.0.2.0"
"rocksdb_stubs.10.2.1"
"rocksdb_stubs.10.5.1"
"rpc_parallel.v0.14.0"
"sexp_diff_kernel.v0.14.0"
"sodium.dev"
Expand Down Expand Up @@ -250,7 +250,7 @@ installed: [
"res.5.0.1"
"result.1.5"
"rocks.0.2.0"
"rocksdb_stubs.10.2.1"
"rocksdb_stubs.10.5.1"
"rpc_parallel.v0.14.0"
"rresult.0.6.0"
"seq.base"
Expand Down
Loading