Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Dev] Remove version linter flakiness #14998

Closed
wants to merge 141 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
fc20bc2
Altered logic in version linter script when looking for mina type sha…
dkijania Jan 29, 2024
47c1e1c
Altered logic in version linter script when looking for mina type sha…
dkijania Jan 29, 2024
f1090c2
setup job for building missing dump files
dkijania Feb 20, 2024
e922290
Merge branch 'dkijania/fix_missing_ref_files_for_ver_linter' of https…
dkijania Apr 22, 2024
16301f8
check for missing shape files in script
dkijania Apr 22, 2024
43a532a
patch version-linter
dkijania Apr 22, 2024
ad480f7
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Apr 22, 2024
f7c523f
revert to separate job
dkijania Apr 22, 2024
116737f
fix version
dkijania Apr 23, 2024
cfd963c
chmod 755 on buildkite/scripts/version-linter-patch-missing-type-shap…
dkijania Apr 23, 2024
f0e0fb8
Use BUILDKITE_COMMIT instead of BUILDKITE_BRANCH for patch and using …
dkijania Apr 25, 2024
9b2f7dc
fix patch version linter logic script
dkijania Apr 25, 2024
cb00ca0
BASE_BRANCH_COMMIT -> BUILDKITE_COMMIT
dkijania Apr 25, 2024
986b458
fix opam init
dkijania May 1, 2024
0bce14d
debug
dkijania May 1, 2024
6e1f858
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania May 15, 2024
dae6fb6
build mina differently
dkijania May 16, 2024
364dc02
debug
dkijania May 16, 2024
7070709
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania May 16, 2024
6aacd2d
remove sudo
dkijania May 16, 2024
cb10b76
use toolchains
dkijania May 16, 2024
5dd6ff3
more debug
dkijania May 16, 2024
761bb46
fix mina command
dkijania May 16, 2024
f6b2908
fix naming converntion to a type shape output file
dkijania May 17, 2024
3784938
Update version-linter-patch-missing-type-shapes.sh
dkijania May 17, 2024
f478e3b
move upload to after missing shape fill
dkijania May 17, 2024
288cd57
Update version-linter.sh
dkijania May 17, 2024
623a0a6
debug
dkijania May 18, 2024
bfc3b43
Merge remote-tracking branch 'origin/dkijania/fix_missing_ref_files_f…
dkijania May 18, 2024
3153a70
debug more
dkijania May 18, 2024
990c246
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania May 19, 2024
8ea7951
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania May 23, 2024
0d2e08b
sync submodules
dkijania May 27, 2024
ef880f2
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania May 27, 2024
dc0bb55
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Jun 19, 2024
5ff92fd
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Jun 20, 2024
008349a
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Jun 25, 2024
8a46519
Altered logic in version linter script when looking for mina type sha…
dkijania May 27, 2024
b94b52a
Revert "Auxiliary commit to revert individual files from 8a46519c470a…
dkijania Jun 26, 2024
31b679c
Merge remote-tracking branch 'origin/dkijania/fix_missing_ref_files_f…
dkijania Jun 26, 2024
c7df146
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Jun 26, 2024
b512989
use source rather than eval
dkijania Jun 26, 2024
51bd8ed
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Jun 26, 2024
7bd211b
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 10, 2024
510684d
fix depends
dkijania Sep 10, 2024
7a3f168
fix toolchain executin in VersionLint.dhall
dkijania Sep 10, 2024
db05019
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 10, 2024
53af55a
fix build mina script
dkijania Sep 11, 2024
8d07032
use eval opem properly
dkijania Sep 11, 2024
d0d4133
use devnet profile for version linter
dkijania Sep 11, 2024
951cff3
explicitely install mina-devnet
dkijania Sep 11, 2024
11d6168
revert checkout after patching version linter ref files
dkijania Sep 11, 2024
7b598f1
Revert "Auxiliary commit to revert individual files from 11d6168ceb29…
dkijania Sep 11, 2024
5d49bb5
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 16, 2024
7bc63f1
use soft_fail
dkijania Sep 16, 2024
541c708
fix VersionLint
dkijania Sep 16, 2024
33916bc
Merge branch 'compatible' into dkijania/fix_missing_ref_files_for_ver…
dkijania Sep 16, 2024
2cc894f
use origin/xxx when patching missing version lints
dkijania Sep 16, 2024
766ae01
remove no-merges from git log and patch version linter for base branc…
dkijania Sep 18, 2024
a12d214
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 18, 2024
ddf6f58
remove no-merges from git log and patch version linter for base branc…
dkijania Sep 18, 2024
d475ab4
remove additional and not necessary
dkijania Sep 19, 2024
fb33d0c
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 19, 2024
793e038
add missing gsutil-upload
dkijania Sep 19, 2024
63a1b23
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 19, 2024
9255f11
do not copy debian key
dkijania Sep 20, 2024
cc26f6c
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 22, 2024
64cf331
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 23, 2024
13db715
Merge branch 'compatible' into dkijania/fix_missing_ref_files_for_ver…
dkijania Sep 23, 2024
688c449
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 23, 2024
2d1db26
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 23, 2024
64e6213
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 24, 2024
fc55de9
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 24, 2024
abd62e6
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 24, 2024
43ac16a
Patch missing type shapes
dkijania Sep 11, 2024
24d56e6
use soft_fail in VerisionLint dhall
dkijania Sep 16, 2024
6a79394
move gsutil upload to docker
dkijania Sep 18, 2024
0922582
dhall make lint
dkijania Sep 18, 2024
38208cb
do not copy debian key
dkijania Sep 18, 2024
65b6b09
fix path to key.json
dkijania Sep 18, 2024
c327264
upload file after revert
dkijania Sep 18, 2024
07796e6
remove no-merges from git log and patch version linter for base branc…
dkijania Sep 18, 2024
ef68bf3
add remote when evaluating commit
dkijania Sep 19, 2024
ed67a5e
fix variable checking
dkijania Sep 19, 2024
4de35ad
Patch missing type shapes
dkijania Sep 11, 2024
36829c6
use soft_fail in VerisionLint dhall
dkijania Sep 16, 2024
72c6d04
move gsutil upload to docker
dkijania Sep 18, 2024
dd8dca7
dhall make lint
dkijania Sep 18, 2024
7530ac4
do not copy debian key
dkijania Sep 18, 2024
ccf827d
fix path to key.json
dkijania Sep 18, 2024
42270d3
upload file after revert
dkijania Sep 18, 2024
33dedec
remove no-merges from git log and patch version linter for base branc…
dkijania Sep 18, 2024
f6f8e3d
add remote when evaluating commit
dkijania Sep 19, 2024
4f16f98
fix variable checking
dkijania Sep 19, 2024
f72f238
Merge branch 'dkijania/generate_version_lint_inafly_master' into dkij…
dkijania Sep 29, 2024
4ed3b36
Merge branch 'dkijania/generate_version_lint_inafly_master' into dkij…
dkijania Sep 29, 2024
15850a8
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 29, 2024
711d350
Merge branch 'dkijania/port_version_linter_patch_fix' into dkijania/f…
dkijania Sep 29, 2024
e8bbaaf
Merge branch 'compatible' into dkijania/port_version_linter_patch_fix
dkijania Sep 30, 2024
0d02435
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Sep 30, 2024
b027e32
Revert unnecessary changes
dkijania Sep 30, 2024
523986d
more revert
dkijania Sep 30, 2024
2d406a0
Merge branch 'dkijania/generate_version_lint_inafly_master' into dkij…
dkijania Sep 30, 2024
7b43990
fix Cmds.dhall
dkijania Sep 30, 2024
24feae3
Merge branch 'compatible' into dkijania/port_version_linter_patch_fix
dkijania Sep 30, 2024
8def3cf
Merge branch 'dkijania/generate_version_lint_inafly_master' into dkij…
dkijania Sep 30, 2024
561b2e7
revert removing Stable tag
dkijania Sep 30, 2024
0d12764
revert and fix
dkijania Sep 30, 2024
cb9eebb
fix typo and use shorter BUILDKITE_COMMIT when looking for reference …
dkijania Sep 30, 2024
1e4eec5
add requests import to version-linter.py
dkijania Sep 30, 2024
ccba649
Merge branch 'dkijania/generate_version_lint_inafly_master' into dkij…
dkijania Oct 1, 2024
f40759d
Merge branch 'dkijania/port_version_linter_patch_fix' into dkijania/f…
dkijania Oct 1, 2024
3c4f7d8
Merge branch 'compatible' into dkijania/port_version_linter_patch_fix
dkijania Oct 2, 2024
b53580c
remove duplicated upload attempt
dkijania Oct 2, 2024
93fa787
remove duplicated check for mina-type-shape which should be assured i…
dkijania Oct 2, 2024
c775816
Merge branch 'dkijania/generate_version_lint_inafly_master' into dkij…
dkijania Oct 2, 2024
815d1d1
Merge branch 'dkijania/port_version_linter_patch_fix' into dkijania/f…
dkijania Oct 2, 2024
64a960e
removing (faulty) code which tries to find ref file on last 10 commits
dkijania Oct 3, 2024
9356c0a
Merge branch 'dkijania/generate_version_lint_inafly_master' into dkij…
dkijania Oct 4, 2024
97a1a87
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Oct 4, 2024
2472c2f
rename function to signal only one commit will be returned
dkijania Oct 4, 2024
f870ff3
Merge branch 'dkijania/generate_version_lint_inafly_master' into dkij…
dkijania Oct 4, 2024
4dd8beb
Merge remote-tracking branch 'origin/dkijania/fix_missing_ref_files_f…
dkijania Oct 4, 2024
33cfd01
Merge branch 'master' into dkijania/generate_version_lint_inafly_master
dkijania Oct 8, 2024
8e44523
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Oct 14, 2024
73e851a
Merge branch 'dkijania/generate_version_lint_inafly_master' into dkij…
dkijania Oct 14, 2024
eb7ccc2
clean up code. remove unused functions
dkijania Oct 14, 2024
7f85c14
Merge branch 'master' into dkijania/generate_version_lint_inafly_master
dkijania Oct 15, 2024
11362e7
strip string when calculating commit
dkijania Oct 15, 2024
2b73046
Merge remote-tracking branch 'origin/dkijania/generate_version_lint_i…
dkijania Oct 15, 2024
1cea845
Merge branch 'dkijania/generate_version_lint_inafly_master' into dkij…
dkijania Oct 15, 2024
01ec9bb
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Oct 16, 2024
2de6151
Merge branch 'master' into dkijania/generate_version_lint_inafly_master
dkijania Oct 16, 2024
59e6ccc
Merge branch 'master' into dkijania/generate_version_lint_inafly_master
dkijania Oct 21, 2024
182467c
Revert "Auxiliary commit to revert individual files from b027e324d6ff…
dkijania Oct 21, 2024
32b6d92
revert Lib/Cmds.dhall change
dkijania Oct 21, 2024
a9747d0
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Oct 21, 2024
32aec5c
bring back secrets volume
dkijania Oct 21, 2024
fb20408
Merge branch 'dkijania/generate_version_lint_inafly_master' into dkij…
dkijania Oct 21, 2024
18b1dee
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Oct 28, 2024
3e98617
Merge branch 'develop' into dkijania/fix_missing_ref_files_for_ver_li…
dkijania Oct 28, 2024
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
1 change: 0 additions & 1 deletion buildkite/scripts/debian/install.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#!/bin/bash


if [[ $# -gt 2 ]] || [[ $# -lt 1 ]]; then
echo "Usage: $0 '<debians>' '[use-sudo]'"
exit 1
Expand Down
2 changes: 2 additions & 0 deletions buildkite/scripts/dump-mina-type-shapes.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,5 @@ export TYPE_SHAPE_FILE=${MINA_COMMIT_SHA1}-type_shape.txt

echo "--- Create type shapes git note for commit: ${MINA_COMMIT_SHA1}"
mina internal dump-type-shapes > ${TYPE_SHAPE_FILE}

source buildkite/scripts/gsutil-upload.sh ${TYPE_SHAPE_FILE} gs://mina-type-shapes
11 changes: 11 additions & 0 deletions buildkite/scripts/gsutil-upload.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash

KEY_FILE=/var/secrets/google/key.json

if [ ! -f $KEY_FILE ]; then
echo "Cannot use gsutil for upload as key file cannot be found in $KEY_FILE"
fi

gcloud auth activate-service-account --key-file=$KEY_FILE

gsutil cp $1 $2
46 changes: 46 additions & 0 deletions buildkite/scripts/version-linter-patch-missing-type-shapes.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#!/bin/bash

set -eox pipefail

if [[ $# -ne 1 ]]; then
echo "Usage: $0 <release-branch>"
exit 1
fi

git config --global --add safe.directory /workdir

source buildkite/scripts/handle-fork.sh
source buildkite/scripts/export-git-env-vars.sh

release_branch=${REMOTE}/$1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is ${REMOTE} in context of this script? Is it a variable provided by Buildkite?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is set in handle-fork script. It was introduced during ITN time to allow running bk on forks


RELEASE_BRANCH_COMMIT=$(git log -n 1 --format="%h" --abbrev=7 $release_branch)

function revert_checkout() {
git checkout $BUILDKITE_COMMIT
git submodule sync
git submodule update --init --recursive
}

function checkout_and_dump() {
local __commit=$1
git checkout $__commit
git submodule sync
git submodule update --init --recursive
eval $(opam config env)
TYPE_SHAPE_FILE=${__commit:0:7}-type_shape.txt
dune exec src/app/cli/src/mina.exe internal dump-type-shapes > /tmp/${TYPE_SHAPE_FILE}
revert_checkout
source buildkite/scripts/gsutil-upload.sh /tmp/${TYPE_SHAPE_FILE} gs://mina-type-shapes
}

if ! $(gsutil ls gs://mina-type-shapes/$RELEASE_BRANCH_COMMIT 2>/dev/null); then
checkout_and_dump $RELEASE_BRANCH_COMMIT
fi

if [[ -n "${BUILDKITE_PULL_REQUEST_BASE_BRANCH:-}" ]]; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this needed?

I see that we have a check for the PR branch in version linter, but do we really need that check?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you are running or rerunning pipeline directly from BK this variable is not set. We want to make sure version linter works also when running not through !ci-build-me

BUILDKITE_PULL_REQUEST_BASE_BRANCH_COMMIT=$(git log -n 1 --format="%h" --abbrev=7 ${REMOTE}/${BUILDKITE_PULL_REQUEST_BASE_BRANCH} )
if ! $(gsutil ls gs://mina-type-shapes/$BUILDKITE_PULL_REQUEST_BASE_BRANCH_COMMIT 2>/dev/null); then
checkout_and_dump $BUILDKITE_PULL_REQUEST_BASE_BRANCH_COMMIT
fi
fi
17 changes: 10 additions & 7 deletions buildkite/scripts/version-linter.sh
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
#!/bin/bash

set -eo pipefail
set -eox pipefail

if [[ $# -ne 1 ]]; then
echo "Usage: $0 <release-branch>"
exit 1
fi

TESTNET_NAME="${TESTNET_NAME:-devnet}"

# Don't prompt for answers during apt-get install
export DEBIAN_FRONTEND=noninteractive

Expand All @@ -23,17 +21,22 @@ source buildkite/scripts/export-git-env-vars.sh

pip3 install sexpdata==1.0.0

base_branch=${REMOTE}/${BUILDKITE_PULL_REQUEST_BASE_BRANCH:-compatible}
pr_branch=origin/${BUILDKITE_BRANCH}
release_branch=origin/$1

if [[ -n "$BUILDKITE_PULL_REQUEST_BASE_BRANCH" ]]; then
base_branch=${REMOTE}/${BUILDKITE_PULL_REQUEST_BASE_BRANCH}
else
# If we ran pipeline from buildkite directly some envs are not set like BUILDKITE_PULL_REQUEST_BASE_BRANCH
# In this case we are using release branch
base_branch=${release_branch}
fi

echo "--- Run Python version linter with branches: ${pr_branch} ${base_branch} ${release_branch}"
./scripts/version-linter.py ${pr_branch} ${base_branch} ${release_branch}

echo "--- Install Mina"
source buildkite/scripts/export-git-env-vars.sh

source buildkite/scripts/debian/install.sh "mina-${TESTNET_NAME}" 1
source buildkite/scripts/debian/install.sh "mina-devnet" 1

echo "--- Audit type shapes"
mina internal audit-type-shapes
25 changes: 13 additions & 12 deletions buildkite/src/Jobs/Test/VersionLint.dhall
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
let Cmd = ../../Lib/Cmds.dhall

let S = ../../Lib/SelectFiles.dhall

let B = ../../External/Buildkite.dhall
Expand All @@ -16,21 +14,24 @@ let Command = ../../Command/Base.dhall

let RunInToolchain = ../../Command/RunInToolchain.dhall

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

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

let DebianVersions = ../../Constants/DebianVersions.dhall
let Dockers = ../../Constants/DockerVersions.dhall

let Network = ../../Constants/Network.dhall

let Profiles = ../../Constants/Profiles.dhall

let Artifacts = ../../Constants/Artifacts.dhall

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

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

let dependsOn =
DebianVersions.dependsOn
DebianVersions.DebVersion.Bullseye
Dockers.dependsOn
Dockers.Type.Bullseye
Network.Type.Devnet
Profiles.Type.Standard
Artifacts.Type.Daemon

let buildTestCmd
: Text -> Size -> List Command.TaggedKey.Type -> B/SoftFail -> Command.Type
Expand All @@ -44,9 +45,9 @@ let buildTestCmd
RunInToolchain.runInToolchain
([] : List Text)
"buildkite/scripts/dump-mina-type-shapes.sh"
# [ Cmd.run
"gsutil cp \$(git log -n 1 --format=%h --abbrev=7)-type_shape.txt \$MINA_TYPE_SHAPE gs://mina-type-shapes"
]
# RunInToolchain.runInToolchain
([] : List Text)
"buildkite/scripts/version-linter-patch-missing-type-shapes.sh ${release_branch}"
# RunInToolchain.runInToolchain
([] : List Text)
"buildkite/scripts/version-linter.sh ${release_branch}"
Expand Down
10 changes: 5 additions & 5 deletions buildkite/src/Lib/Cmds.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,11 @@ let module =
= if docker.useBash then "/bin/bash" else "/bin/sh"

in { line =
"docker run -it --rm --entrypoint ${entrypoint} --init --volume ${sharedDir}:/shared --volume ${outerDir}:/workdir --workdir /workdir${envVars}${ if docker.privileged
"docker run -it --rm --entrypoint ${entrypoint} --init --volume /var/secrets:/var/secrets --volume ${sharedDir}:/shared --volume ${outerDir}:/workdir --workdir /workdir${envVars}${ if docker.privileged

then " --privileged"
then " --privileged"

else ""} ${docker.image} -c '${inner.line}'"
else ""} ${docker.image} -c '${inner.line}'"
, readable =
Optional/map
Text
Expand Down Expand Up @@ -142,7 +142,7 @@ let tests =
let dockerExample =
assert
: { line =
"docker run -it --rm --entrypoint /bin/bash --init --volume /var/buildkite/shared:/shared --volume \\\$BUILDKITE_BUILD_CHECKOUT_PATH:/workdir --workdir /workdir --env ENV1 --env ENV2 --env TEST foo/bar:tag -c 'echo hello'"
"docker run -it --rm --entrypoint /bin/bash --init --volume /var/secrets:/var/secrets --volume /var/buildkite/shared:/shared --volume \\\$BUILDKITE_BUILD_CHECKOUT_PATH:/workdir --workdir /workdir --env ENV1 --env ENV2 --env TEST foo/bar:tag -c 'echo hello'"
, readable = Some "Docker@foo/bar:tag ( echo hello )"
}
=== M.inDocker
Expand All @@ -154,7 +154,7 @@ let tests =

let cacheExample =
assert
: "./buildkite/scripts/cache-through.sh data.tar \"docker run -it --rm --entrypoint /bin/bash --init --volume /var/buildkite/shared:/shared --volume \\\$BUILDKITE_BUILD_CHECKOUT_PATH:/workdir --workdir /workdir --env ENV1 --env ENV2 --env TEST foo/bar:tag -c 'echo hello > /tmp/data/foo.txt && tar cvf data.tar /tmp/data'\""
: "./buildkite/scripts/cache-through.sh data.tar \"docker run -it --rm --entrypoint /bin/bash --init --volume /var/secrets:/var/secrets --volume /var/buildkite/shared:/shared --volume \\\$BUILDKITE_BUILD_CHECKOUT_PATH:/workdir --workdir /workdir --env ENV1 --env ENV2 --env TEST foo/bar:tag -c 'echo hello > /tmp/data/foo.txt && tar cvf data.tar /tmp/data'\""
=== M.format
( M.cacheThrough
M.Docker::{
Expand Down
55 changes: 30 additions & 25 deletions scripts/version-linter.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@
"""

import subprocess
import os
import io
import sys
import re
import sexpdata
Expand All @@ -32,31 +30,38 @@ def set_error():
global exit_code
exit_code=1

def branch_commit(branch):
def latest_branch_commit(branch):
'''
Retrieves latest commit on branch
'''
print ('Retrieving', branch, 'head commit...')
result=subprocess.run(['git','log','-n','1','--format="%h"','--abbrev=7',f'{branch}'],
capture_output=True)
output=result.stdout.decode('ascii')
print ('command stdout:', output)
print ('command stderr:', result.stderr.decode('ascii'))
return output.replace('"','').replace('\n','')

def download_type_shapes(role,branch,sha1) :
return output.replace('"','').strip()

def url_to_type_shape_file(file):
'''
Return url to mina type shape file
'''
return f'https://storage.googleapis.com/mina-type-shapes/{file}'

def url_exists(url):
'''
Checks if url exists (by sending head and validating that status code is ok)
'''
return requests.head(url).status_code == 200

def download_type_shape(role,branch,sha1) :
file=type_shape_file(sha1)
print ('Downloading type shape file',file,'for',role,'branch',branch,'at commit',sha1)
url = f'https://storage.googleapis.com/mina-type-shapes/{file}'
r = requests.head(url, allow_redirects=True)
if r.status_code != 200:
print ("cannot fetch file reference from non-existing path: ${url}")
print ("looks like you need to generate it. Please use below steps")
print (f"git checkout ${sha1}")
print ("nix develop mina")
print (f"dune exec src/app/cli/src/mina.exe internal dump-type-shape > ${sha1}-type_shape.txt")
print ("gsutil cp gs://mina-type-shapes ${sha1}-type_shape.txt ")
url=url_to_type_shape_file(file)
if not url_exists(url):
raise Exception(f"reference file for '{sha1}' commit does not exists. Url does not exists {url} ")

sys.exit(1)

result=subprocess.run(['wget','--no-clobber',url])
print ('Downloading type shape file',file,'for',role,'branch',branch,'at commit',sha1)
subprocess.run(['wget','--no-clobber',url], check=True)

def type_shape_file(sha1) :
# created by buildkite build-artifact script
Expand Down Expand Up @@ -250,18 +255,18 @@ def assert_commit(commit, desc):

subprocess.run(['git','fetch'],capture_output=False)

base_branch_commit=branch_commit(base_branch)
download_type_shapes('base',base_branch,base_branch_commit)
base_branch_commit = latest_branch_commit(base_branch)
download_type_shape('base',base_branch,base_branch_commit)

print('')

release_branch_commit=branch_commit(release_branch)
download_type_shapes('release',release_branch,release_branch_commit)
release_branch_commit=latest_branch_commit(release_branch)
download_type_shape('release',release_branch,release_branch_commit)

print('')

pr_branch_commit=branch_commit(pr_branch)
download_type_shapes('pr',pr_branch,pr_branch_commit)
pr_branch_commit=latest_branch_commit(pr_branch)
download_type_shape('pr',pr_branch,pr_branch_commit)

print('')

Expand Down
2 changes: 2 additions & 0 deletions src/lib/runtime_config/runtime_config.ml
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,8 @@ module Proof_keys = struct
Error
"Runtime_config.Proof_keys.Level.of_json_layout: Expected the \
field 'level' to contain a string"

let gen = Quickcheck.Generator.of_list [ Full; Check; No_check ]
end

module Transaction_capacity = struct
Expand Down