Skip to content

Commit 8ac20ff

Browse files
authored
Merge pull request #17989 from MinaProtocol/lyh/compatible-to-develop-oct22
Merge Compatible to develop oct22
2 parents 98e2e92 + aa8387f commit 8ac20ff

38 files changed

+794
-152
lines changed

README-spacetime.md

Lines changed: 0 additions & 74 deletions
This file was deleted.

buildkite/scripts/debian/start_local_repo.sh

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ if [ -z $MINA_DEB_CODENAME ]; then
55
exit 1
66
fi
77

8+
# Parse command line arguments
9+
ARCH="amd64" # default architecture
10+
11+
while [[ $# -gt 0 ]]; do
12+
case $1 in
13+
--arch)
14+
ARCH="$2"
15+
shift 2
16+
;;
17+
*)
18+
echo "Unknown option: $1"
19+
exit 1
20+
;;
21+
esac
22+
done
23+
824
LOCAL_DEB_FOLDER=_build
925

1026
set -eou pipefail
@@ -16,4 +32,4 @@ mkdir -p $LOCAL_DEB_FOLDER
1632
source ./buildkite/scripts/export-git-env-vars.sh
1733
./buildkite/scripts/cache/manager.sh read --root legacy/debians "$MINA_DEB_CODENAME/*" _build
1834
./buildkite/scripts/cache/manager.sh read "debians/$MINA_DEB_CODENAME/*" _build
19-
./scripts/debian/aptly.sh start --codename $MINA_DEB_CODENAME --debians $LOCAL_DEB_FOLDER --component unstable --clean --background --wait
35+
./scripts/debian/aptly.sh start --codename $MINA_DEB_CODENAME --debians $LOCAL_DEB_FOLDER --component unstable --clean --background --wait --archs $ARCH

buildkite/scripts/release/manager.sh

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1915,6 +1915,10 @@ function pull(){
19151915
__networks=${2:?$error_message}
19161916
shift 2;
19171917
;;
1918+
--archs )
1919+
__archs=${2:?$error_message}
1920+
shift 2;
1921+
;;
19181922
* )
19191923
echo -e "${RED} !! Unknown option: $1${CLEAR}\n";
19201924
echo "";
@@ -1936,6 +1940,8 @@ function pull(){
19361940
echo " - Target: $__target"
19371941
echo " - Codenames: $__codenames"
19381942
echo " - Networks: $__networks"
1943+
echo " - Architectures: $__archs"
1944+
19391945
if [[ -n ${__from_special_folder+x} ]]; then
19401946
echo " - From special folder: $__from_special_folder"
19411947
fi
@@ -1947,26 +1953,28 @@ function pull(){
19471953
read -r -a __artifacts_arr <<< "$__artifacts"
19481954
read -r -a __codenames_arr <<< "$__codenames"
19491955
read -r -a __networks_arr <<< "$__networks"
1956+
read -r -a __archs_arr <<< "$__archs"
19501957

1951-
for __artifact in "${__artifacts_arr[@]}"; do
1952-
for __codename in "${__codenames_arr[@]}"; do
1953-
for network in "${__networks_arr[@]}"; do
1954-
echo " 📥 Pulling $__artifact for $__codename codename and $network network"
1955-
local __artifact_full_name
1956-
local __source_path
1957-
__artifact_full_name=$(get_artifact_with_suffix $__artifact $network)
1958-
1959-
if [[ -n ${__from_special_folder+x} ]]; then
1960-
__source_path="$(storage_root "$__backend")/$__from_special_folder/${__artifact_full_name}_*"
1961-
else
1962-
__source_path="$(storage_root "$__backend")/$__buildkite_build_id/debians/$__codename/${__artifact_full_name}_*"
1963-
fi
1964-
1965-
storage_download "$__backend" "$__source_path" "$__target"
1958+
for __arch in "${__archs_arr[@]}"; do
1959+
for __artifact in "${__artifacts_arr[@]}"; do
1960+
for __codename in "${__codenames_arr[@]}"; do
1961+
for network in "${__networks_arr[@]}"; do
1962+
echo " 📥 Pulling $__artifact for $__codename codename and $network network"
1963+
local __artifact_full_name
1964+
local __source_path
1965+
__artifact_full_name=$(get_artifact_with_suffix $__artifact $network)
1966+
1967+
if [[ -n ${__from_special_folder+x} ]]; then
1968+
__source_path="$(storage_root "$__backend")/$__from_special_folder/${__artifact_full_name}_*_${__arch}.deb"
1969+
else
1970+
__source_path="$(storage_root "$__backend")/$__buildkite_build_id/debians/$__codename/${__artifact_full_name}_*_${__arch}.deb"
1971+
fi
1972+
1973+
storage_download "$__backend" "$__source_path" "$__target"
1974+
done
19661975
done
19671976
done
19681977
done
1969-
19701978
echo " ✅ Done."
19711979
echo ""
19721980
}

buildkite/src/Command/DockerImage.dhall

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,8 @@ let generateStep =
109109
then " && echo Skipping local debian repo setup "
110110

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

114115
let maybeStopDebianRepo =
115116
if spec.no_debian

buildkite/src/Command/MinaArtifact.dhall

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ let build_artifacts
139139
]
140140
, label = "Debian: Build ${labelSuffix spec}"
141141
, key = "build-deb-pkg${Optional/default Text "" spec.suffix}"
142-
, target = Size.XLarge
142+
, target = Size.Multi
143143
, if_ = spec.if_
144144
, retries =
145145
[ Command.Retry::{

buildkite/src/Constants/ContainerImages.dhall

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,22 @@
55
{ toolchainBase = "codaprotocol/ci-toolchain-base:v3"
66
, minaToolchainBookworm =
77
{ amd64 =
8-
"gcr.io/o1labs-192920/mina-toolchain@sha256:dfa8a0eb32742900d890590875a7f7436545cd46d8c4ff147fc6a29997e5d4f3"
8+
"gcr.io/o1labs-192920/mina-toolchain@sha256:a3517722b1573ac19f9361d42aa0b5f15a108d62fa73f97f0a74e195af1a2e90"
99
, arm64 =
10-
"gcr.io/o1labs-192920/mina-toolchain@sha256:8e92e0b4c9202e0e5f31afd48713d28bde903959ff7e55cbc1c080b0a8df5e3d"
10+
"gcr.io/o1labs-192920/mina-toolchain@sha256:b4a7040b64473f89e51372ab6e11f9332730e085766aa157c25e28c6b9c0c6d4"
1111
}
1212
, minaToolchainBullseye.amd64 =
13-
"gcr.io/o1labs-192920/mina-toolchain@sha256:bcc6b9899d5d99c83287c2735fb686a6169268d48b11262d9dfa03c1dfd0cece"
13+
"gcr.io/o1labs-192920/mina-toolchain@sha256:524a3fb77d6702f38ad63ec737e398478e082387753b8d01e1ccf607d2917343"
1414
, minaToolchainNoble =
1515
{ amd64 =
16-
"gcr.io/o1labs-192920/mina-toolchain@sha256:0c6f1c0921c7f76be7b86948e1f9e82d8270002fc19f0b48647bb1604489268f"
16+
"gcr.io/o1labs-192920/mina-toolchain@sha256:3fd6ebfedb905ba358903639c2ebcdbd2277316b854d80f12c74df8dcd83734b"
1717
, arm64 =
18-
"gcr.io/o1labs-192920/mina-toolchain@sha256:182f0aa05988c5a00cc1ca5a5b651904282f3a0f7cd75faabe0a52e7d332cecb"
18+
"gcr.io/o1labs-192920/mina-toolchain@sha256:adfff17bf21b79efc3b2d54d0648049a36fa7b54b732773bd7f2f651869c1f54"
1919
}
2020
, minaToolchainJammy.amd64 =
21-
"gcr.io/o1labs-192920/mina-toolchain@sha256:a3e5c7dc30c67d8a9769deee282f0b5b2a513629bf272aa9b9ec7d6aee68a4e4"
21+
"gcr.io/o1labs-192920/mina-toolchain@sha256:6db30a6faf94f7dcc23a14bcbc01d558b2164955067fd21eb92a981fe231dfe1"
2222
, minaToolchain =
23-
"gcr.io/o1labs-192920/mina-toolchain@sha256:bcc6b9899d5d99c83287c2735fb686a6169268d48b11262d9dfa03c1dfd0cece"
23+
"gcr.io/o1labs-192920/mina-toolchain@sha256:524a3fb77d6702f38ad63ec737e398478e082387753b8d01e1ccf607d2917343"
2424
, postgres = "postgres:12.4-alpine"
2525
, xrefcheck =
2626
"dkhamsing/awesome_bot@sha256:a8adaeb3b3bd5745304743e4d8a6d512127646e420544a6d22d9f58a07f35884"
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
let S = ../../Lib/SelectFiles.dhall
2+
3+
let Pipeline = ../../Pipeline/Dsl.dhall
4+
5+
let PipelineTag = ../../Pipeline/Tag.dhall
6+
7+
let JobSpec = ../../Pipeline/JobSpec.dhall
8+
9+
let Command = ../../Command/Base.dhall
10+
11+
let Size = ../../Command/Size.dhall
12+
13+
let Cmd = ../../Lib/Cmds.dhall
14+
15+
let Docker = ../../Command/Docker/Type.dhall
16+
17+
let commands =
18+
[ Cmd.run
19+
"apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends --quiet --yes python3 python3-pip build-essential sudo curl"
20+
, Cmd.run "./scripts/rocksdb-compatibility/install-rocksdb.sh"
21+
, Cmd.run
22+
"pip3 install --break-system-packages -r ./scripts/rocksdb-compatibility/requirements.txt"
23+
, Cmd.run "python3 ./scripts/rocksdb-compatibility/test.py"
24+
]
25+
26+
in Pipeline.build
27+
Pipeline.Config::{
28+
, spec = JobSpec::{
29+
, dirtyWhen =
30+
[ S.strictlyStart (S.contains "scripts/rocksdb-compatibility")
31+
, S.exactly
32+
"buildkite/src/Jobs/Test/RocksDBLedgerTarCompatibilityTest"
33+
"dhall"
34+
]
35+
, path = "Test"
36+
, name = "RocksDBLedgerTarCompatibilityTest"
37+
, tags =
38+
[ PipelineTag.Type.Fast
39+
, PipelineTag.Type.Test
40+
, PipelineTag.Type.Stable
41+
]
42+
}
43+
, steps =
44+
[ Command.build
45+
Command.Config::{
46+
, commands = commands
47+
, label = "Check RocksDB Ledger Tar Compatibility"
48+
, key = "test"
49+
, target = Size.Multi
50+
, docker = Some Docker::{ image = "ubuntu:noble" }
51+
}
52+
]
53+
}

buildkite/src/Jobs/Test/TestnetIntegrationTestsLong.dhall

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,5 @@ in Pipeline.build
3838
, PipelineTag.Type.Stable
3939
]
4040
}
41-
, steps = [ TestExecutive.executeLocal "hard-fork" dependsOn ]
41+
, steps = [ TestExecutive.executeLocal "post-hard-fork" dependsOn ]
4242
}

changes/17819.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Fix crash in ledger sync check that could occur when trying to load ledger
2+
databases that were only partially synced to a network ledger

changes/17954.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
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.

0 commit comments

Comments
 (0)