Skip to content

Commit d58d24c

Browse files
committed
Add suffix to dockers and debian packages built with different profile that devnet
1 parent 578a3f8 commit d58d24c

17 files changed

+208
-61
lines changed

buildkite/src/Command/DockerImage.dhall

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ let ReleaseSpec = {
2020
deb_codename: Text,
2121
deb_release: Text,
2222
deb_version: Text,
23+
deb_profile: Text,
2324
extra_args: Text,
2425
step_key: Text
2526
},
@@ -30,10 +31,11 @@ let ReleaseSpec = {
3031
service = "\\\${MINA_SERVICE}",
3132
branch = "\\\${BUILDKITE_BRANCH}",
3233
deb_codename = "bullseye",
34+
deb_profile = "devnet",
3335
deb_release = "\\\${MINA_DEB_RELEASE}",
3436
deb_version = "\\\${MINA_DEB_VERSION}",
3537
extra_args = "",
36-
step_key = "daemon-devnet-docker-image"
38+
step_key = "daemon-standard-docker-image"
3739
}
3840
}
3941

@@ -43,7 +45,7 @@ let generateStep = \(spec : ReleaseSpec.Type) ->
4345
[
4446
Cmd.run (
4547
"export MINA_DEB_CODENAME=${spec.deb_codename} && source ./buildkite/scripts/export-git-env-vars.sh && ./scripts/release-docker.sh " ++
46-
"--service ${spec.service} --version ${spec.version} --network ${spec.network} --branch ${spec.branch} --deb-codename ${spec.deb_codename} --deb-release ${spec.deb_release} --deb-version ${spec.deb_version} --extra-args \\\"${spec.extra_args}\\\""
48+
"--service ${spec.service} --version ${spec.version} --network ${spec.network} --branch ${spec.branch} --deb-codename ${spec.deb_codename} --deb-release ${spec.deb_release} --deb-version ${spec.deb_version} --deb-profile ${spec.deb_profile} --extra-args \\\"${spec.extra_args}\\\""
4749
)
4850
]
4951

buildkite/src/Command/MinaArtifact.dhall

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,34 +16,35 @@ let Size = ./Size.dhall
1616
let Libp2p = ./Libp2pHelperBuild.dhall
1717
let DockerImage = ./DockerImage.dhall
1818
let DebianVersions = ../Constants/DebianVersions.dhall
19+
let Profiles = ../Constants/Profiles.dhall
1920

2021
in
2122

2223
let pipeline : DebianVersions.DebVersion -> PipelineMode.Type -> Pipeline.Config.Type = \(debVersion : DebianVersions.DebVersion) ->
23-
\(mode: PipelineMode.Type) ->
24+
\(mode: PipelineMode.Type) ->
25+
\(profile: Profiles.Type) ->
2426
Pipeline.Config::{
2527
spec =
2628
JobSpec::{
2729
dirtyWhen = DebianVersions.dirtyWhen debVersion,
2830
path = "Release",
29-
name = "MinaArtifact${DebianVersions.capitalName debVersion}",
31+
name = "MinaArtifact${DebianVersions.capitalName debVersion}${Profiles.toSuffixUppercase profile}"
3032
tags = [ PipelineTag.Type.Long, PipelineTag.Type.Release ],
3133
mode = mode
3234
},
3335
steps = [
3436
Libp2p.step debVersion,
3537
Command.build
3638
Command.Config::{
37-
commands =
38-
DebianVersions.toolchainRunner debVersion [
39-
"DUNE_PROFILE=devnet",
40-
"AWS_ACCESS_KEY_ID",
41-
"AWS_SECRET_ACCESS_KEY",
42-
"MINA_BRANCH=$BUILDKITE_BRANCH",
43-
"MINA_COMMIT_SHA1=$BUILDKITE_COMMIT",
44-
"MINA_DEB_CODENAME=${DebianVersions.lowerName debVersion}"
45-
] "./buildkite/scripts/build-artifact.sh",
46-
label = "Build Mina for ${DebianVersions.capitalName debVersion}",
39+
commands = DebianVersions.toolchainRunner debVersion [
40+
"DUNE_PROFILE=${Profiles.duneProfile profile}",
41+
"AWS_ACCESS_KEY_ID",
42+
"AWS_SECRET_ACCESS_KEY",
43+
"MINA_BRANCH=$BUILDKITE_BRANCH",
44+
"MINA_COMMIT_SHA1=$BUILDKITE_COMMIT",
45+
"MINA_DEB_CODENAME=${DebianVersions.lowerName debVersion}"
46+
] "./buildkite/scripts/build-artifact.sh",
47+
label = "Build Mina for ${DebianVersions.capitalName debVersion} ${Profiles.toSuffixUppercase profile}",
4748
key = "build-deb-pkg",
4849
target = Size.XLarge,
4950
retries = [
@@ -55,10 +56,11 @@ let pipeline : DebianVersions.DebVersion -> PipelineMode.Type -> Pipeline.Config
5556

5657
-- daemon berkeley image
5758
let daemonBerkeleySpec = DockerImage.ReleaseSpec::{
58-
deps=DebianVersions.dependsOn debVersion,
59+
deps=DebianVersions.dependsOn debVersion profile,
5960
service="mina-daemon",
6061
network="berkeley",
6162
deb_codename="${DebianVersions.lowerName debVersion}",
63+
deb_profile="${Profiles.lowerName profile}",
6264
step_key="daemon-berkeley-${DebianVersions.lowerName debVersion}-docker-image"
6365
}
6466

@@ -68,7 +70,7 @@ let pipeline : DebianVersions.DebVersion -> PipelineMode.Type -> Pipeline.Config
6870

6971
-- test_executive image
7072
let testExecutiveSpec = DockerImage.ReleaseSpec::{
71-
deps=DebianVersions.dependsOn debVersion,
73+
deps=DebianVersions.dependsOn debVersion profile,
7274
service="mina-test-executive",
7375
deb_codename="${DebianVersions.lowerName debVersion}",
7476
step_key="test-executive-${DebianVersions.lowerName debVersion}-docker-image"
@@ -78,7 +80,7 @@ let pipeline : DebianVersions.DebVersion -> PipelineMode.Type -> Pipeline.Config
7880

7981
-- batch_txn_tool image
8082
let batchTxnSpec = DockerImage.ReleaseSpec::{
81-
deps=DebianVersions.dependsOn debVersion,
83+
deps=DebianVersions.dependsOn debVersion profile,
8284
service="mina-batch-txn",
8385
network="berkeley",
8486
deb_codename="${DebianVersions.lowerName debVersion}",
@@ -89,9 +91,10 @@ let pipeline : DebianVersions.DebVersion -> PipelineMode.Type -> Pipeline.Config
8991

9092
-- archive image
9193
let archiveSpec = DockerImage.ReleaseSpec::{
92-
deps=DebianVersions.dependsOn debVersion,
94+
deps=DebianVersions.dependsOn debVersion profile,
9395
service="mina-archive",
9496
deb_codename="${DebianVersions.lowerName debVersion}",
97+
deb_profile="${Profiles.lowerName profile}",
9598
step_key="archive-${DebianVersions.lowerName debVersion}-docker-image"
9699
}
97100
in
@@ -111,7 +114,7 @@ let pipeline : DebianVersions.DebVersion -> PipelineMode.Type -> Pipeline.Config
111114

112115
-- ZkApp test transaction image
113116
let zkappTestTxnSpec = DockerImage.ReleaseSpec::{
114-
deps=DebianVersions.dependsOn debVersion,
117+
deps=DebianVersions.dependsOn debVersion profile,
115118
service="mina-zkapp-test-transaction",
116119
deb_codename="${DebianVersions.lowerName debVersion}",
117120
step_key="zkapp-test-transaction-${DebianVersions.lowerName debVersion}-docker-image"
@@ -126,7 +129,8 @@ let pipeline : DebianVersions.DebVersion -> PipelineMode.Type -> Pipeline.Config
126129

127130
in
128131
{
129-
bullseye = pipeline DebianVersions.DebVersion.Bullseye PipelineMode.Type.PullRequest
130-
, buster = pipeline DebianVersions.DebVersion.Buster PipelineMode.Type.PullRequest
131-
, focal = pipeline DebianVersions.DebVersion.Focal PipelineMode.Type.PullRequest
132+
bullseye = pipeline DebianVersions.DebVersion.Bullseye PipelineMode.Type.PullRequest Profiles.Type.Standard
133+
, bullseye-lightnet = pipeline DebianVersions.DebVersion.Bullseye PipelineMode.Type.PullRequest Profiles.Type.Lightnet
134+
, buster = pipeline DebianVersions.DebVersion.Buster PipelineMode.Type.PullRequest Profiles.Type.Standard
135+
, focal = pipeline DebianVersions.DebVersion.Focal PipelineMode.Type.PullRequest Profiles.Type.Standard
132136
}

buildkite/src/Constants/DebianVersions.dhall

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
let Prelude = ../External/Prelude.dhall
22
let RunInToolchain = ../Command/RunInToolchain.dhall
33
let ContainerImages = ./ContainerImages.dhall
4+
let Profiles = ./Profiles.dhall
45
let S = ../Lib/SelectFiles.dhall
56
let D = S.PathPattern
67

@@ -46,13 +47,15 @@ let toolchainImage = \(debVersion : DebVersion) ->
4647
, Focal = ContainerImages.minaToolchainBullseye
4748
} debVersion
4849

49-
let dependsOn = \(debVersion : DebVersion) ->
50+
let dependsOn = \(debVersion : DebVersion) -> \(profile : Profiles.Type) ->
51+
let profileSuffix = Profiles.toSuffixUppercase profile in
52+
let prefix = "MinaArtifact" in
5053
merge {
51-
Bookworm = [{ name = "MinaArtifactBookworm", key = "build-deb-pkg" }]
52-
, Bullseye = [{ name = "MinaArtifactBullseye", key = "build-deb-pkg" }]
53-
, Buster = [{ name = "MinaArtifactBuster", key = "build-deb-pkg" }]
54-
, Jammy = [{ name = "MinaArtifactJammy", key = "build-deb-pkg" }]
55-
, Focal = [{ name = "MinaArtifactFocal", key = "build-deb-pkg" }]
54+
Bookworm = [{ name = "${prefix}${profileSuffix}", key = "build-deb-pkg" }]
55+
, Bullseye = [{ name = "${prefix}${capitalName debVersion}${profileSuffix}", key = "build-deb-pkg" }]
56+
, Buster = [{ name = "${prefix}${capitalName debVersion}${profileSuffix}", key = "build-deb-pkg" }]
57+
, Jammy = [{ name = "${prefix}${capitalName debVersion}${profileSuffix}", key = "build-deb-pkg" }]
58+
, Focal = [{ name = "${prefix}${capitalName debVersion}${profileSuffix}", key = "build-deb-pkg" }]
5659
} debVersion
5760

5861
-- Most debian builds are only used for public releases
@@ -105,4 +108,4 @@ in
105108
, toolchainImage = toolchainImage
106109
, dependsOn = dependsOn
107110
, dirtyWhen = dirtyWhen
108-
}
111+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
let Prelude = ../External/Prelude.dhall
2+
let Profiles = ./Profiles.dhall
3+
4+
let Docker: Type = < Bookworm | Bullseye | Buster | Jammy | Focal >
5+
6+
let capitalName = \(docker : Docker) ->
7+
merge {
8+
Bookworm = "Bookworm"
9+
, Bullseye = "Bullseye"
10+
, Buster = "Buster"
11+
, Jammy = "Jammy"
12+
, Focal = "Focal"
13+
} docker
14+
15+
let lowerName = \(docker : Docker) ->
16+
merge {
17+
Bookworm = "bookworm"
18+
, Bullseye = "bullseye"
19+
, Buster = "buster"
20+
, Jammy = "jammy"
21+
, Focal = "focal"
22+
} docker
23+
24+
let dependsOn = \(docker : Docker) -> \(profile : Profiles.Type) -> \(binary: Text) ->
25+
let profileSuffix = Profiles.toSuffixUppercase profile in
26+
let prefix = "MinaArtifact" in
27+
merge {
28+
Bookworm = [{ name = "${prefix}${profileSuffix}", key = "${binary}-${lowerName docker}-docker-image" }]
29+
, Bullseye = [{ name = "${prefix}${capitalName docker}${profileSuffix}", key = "${binary}-${lowerName docker}-docker-image" }]
30+
, Buster = [{ name = "${prefix}${capitalName docker}${profileSuffix}", key = "${binary}-${lowerName docker}-docker-image" }]
31+
, Jammy = [{ name = "${prefix}${capitalName docker}${profileSuffix}", key = "${binary}-${lowerName docker}-docker-image" }]
32+
, Focal = [{ name = "${prefix}${capitalName docker}${profileSuffix}", key = "${binary}-${lowerName docker}-docker-image" }]
33+
} docker
34+
35+
in
36+
37+
{
38+
Type = Docker
39+
, capitalName = capitalName
40+
, lowerName = lowerName
41+
, dependsOn = dependsOn
42+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
let Prelude = ../External/Prelude.dhall
2+
3+
let Profile : Type = < Standard | Lightnet >
4+
5+
let capitalName = \(profile : Profile) ->
6+
merge {
7+
Standard = "Standard"
8+
, Lightnet = "Lightnet"
9+
} profile
10+
11+
let lowerName = \(profile : Profile) ->
12+
merge {
13+
Standard = "standard"
14+
, Lightnet = "lightnet"
15+
} profile
16+
17+
let duneProfile = \(profile : Profile) ->
18+
merge {
19+
Standard = "devnet"
20+
, Lightnet = "lightnet"
21+
} profile
22+
23+
let toSuffixUppercase = \(profile : Profile) ->
24+
merge {
25+
Standard = ""
26+
, Lightnet = "Lightnet"
27+
} profile
28+
29+
let toSuffixLowercase = \(profile : Profile) ->
30+
merge {
31+
Standard = ""
32+
, Lightnet = "lightnet"
33+
} profile
34+
35+
36+
37+
in
38+
39+
{
40+
Type = Profile
41+
, capitalName = capitalName
42+
, lowerName = lowerName
43+
, duneProfile = duneProfile
44+
, toSuffixUppercase = toSuffixUppercase
45+
, toSuffixLowercase = toSuffixLowercase
46+
}

buildkite/src/Jobs/Release/ItnOrchestratorArtifact.dhall

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ let JobSpec = ../../Pipeline/JobSpec.dhall
1212
let Command = ../../Command/Base.dhall
1313
let Size = ../../Command/Size.dhall
1414
let DockerImage = ../../Command/DockerImage.dhall
15+
let Profiles = ../../Constants/Profiles.dhall
16+
let DebianVersions = ../../Constants/DebianVersions.dhall
1517

1618
let spec = DockerImage.ReleaseSpec::{
1719
service="itn-orchestrator",
1820
step_key="itn-orchestrator-docker-image",
1921
network="berkeley",
20-
deps = [ { name = "MinaArtifactBullseye", key = "daemon-berkeley-bullseye-docker-image" } ]
22+
deps = DebianVersions.dependsOn DebianVersions.DebVersion.Bullseye Profiles.Type.Standard
2123
}
2224

2325
in
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
let ArtifactPipelines = ../../Command/MinaArtifact.dhall
2+
let Pipeline = ../../Pipeline/Dsl.dhall
3+
4+
in
5+
6+
Pipeline.build ArtifactPipelines.bullseye-lightnet

buildkite/src/Jobs/Test/CheckGraphQLSchema.dhall

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ let Pipeline = ../../Pipeline/Dsl.dhall
55
let PipelineTag = ../../Pipeline/Tag.dhall
66

77
let CheckGraphQLSchema = ../../Command/CheckGraphQLSchema.dhall
8+
let DebianVersions = ../../Constants/DebianVersions.dhall
9+
let Profiles = ../../Constants/Profiles.dhall
10+
11+
let dependsOn = DebianVersions.dependsOn DebianVersions.DebVersion.Bullseye Profiles.Type.Standard
812

9-
let dependsOn = [
10-
{ name = "MinaArtifactBullseye", key = "build-deb-pkg" }
11-
]
1213

1314
in Pipeline.build Pipeline.Config::{
1415
spec =

buildkite/src/Jobs/Test/ConnectToBerkeley.dhall

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ let Pipeline = ../../Pipeline/Dsl.dhall
55
let PipelineTag = ../../Pipeline/Tag.dhall
66

77
let ConnectToTestnet = ../../Command/ConnectToTestnet.dhall
8+
let Profiles = ../../Constants/Profiles.dhall
9+
let Dockers = ../../Constants/DockerVersions.dhall
810

9-
let dependsOn = [
10-
{ name = "MinaArtifactBullseye", key = "daemon-berkeley-bullseye-docker-image" }
11-
]
11+
let dependsOn = Dockers.dependsOn Dockers.Type.Bullseye Profiles.Type.Standard "daemon-berkeley"
1212

1313
in Pipeline.build Pipeline.Config::{
1414
spec =

buildkite/src/Jobs/Test/ReplayerTest.dhall.SUSPENDED

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ let Pipeline = ../../Pipeline/Dsl.dhall
55
let JobSpec = ../../Pipeline/JobSpec.dhall
66

77
let ReplayerTest = ../../Command/ReplayerTest.dhall
8+
let Profiles = ../../Constants/Profiles.dhall
9+
let Dockers = ../../Constants/DockerVersions.dhall
810

9-
let dependsOn =
10-
[ { name = "MinaArtifactBullseye", key = "archive-bullseye-docker-image" } ]
11+
let dependsOn = Dockers.dependsOn Dockers.Type.Bullseye Profiles.Type.Standard "archive"
1112

1213
in Pipeline.build
1314
Pipeline.Config::{

buildkite/src/Jobs/Test/RosettaIntegrationTests.dhall

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ let RunInToolchain = ../../Command/RunInToolchain.dhall
1313
let Size = ../../Command/Size.dhall
1414
let Libp2p = ../../Command/Libp2pHelperBuild.dhall
1515
let DockerImage = ../../Command/DockerImage.dhall
16-
let DebianVersions = ../../Constants/DebianVersions.dhall
16+
let Profiles = ../../Constants/Profiles.dhall
17+
let Dockers = ../../Constants/DockerVersions.dhall
1718

1819
let dirtyWhen = [
1920
S.strictlyStart (S.contains "src/app/rosetta"),
@@ -46,7 +47,7 @@ Pipeline.build
4647
label = "Rosetta integration tests Bullseye"
4748
, key = "rosetta-integration-tests-bullseye"
4849
, target = Size.Small
49-
, depends_on = [ { name = "MinaArtifactBullseye", key = "rosetta-bullseye-docker-image" } ]
50+
, depends_on = Dockers.dependsOn Dockers.Type.Bullseye Profiles.Type.Standard "rosetta"
5051
}
5152
]
5253
}

buildkite/src/Jobs/Test/RunSnarkProfiler.dhall

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ let Pipeline = ../../Pipeline/Dsl.dhall
88
let PipelineTag = ../../Pipeline/Tag.dhall
99
let JobSpec = ../../Pipeline/JobSpec.dhall
1010

11+
let DebianVersions = ../../Constants/DebianVersions.dhall
12+
let Profiles = ../../Constants/Profiles.dhall
13+
1114
let Command = ../../Command/Base.dhall
1215
let RunInToolchain = ../../Command/RunInToolchain.dhall
1316
let Docker = ../../Command/Docker/Type.dhall
1417
let Size = ../../Command/Size.dhall
1518

1619

17-
let dependsOn = [
18-
{ name = "MinaArtifactBullseye", key = "build-deb-pkg" }
19-
]
20+
let dependsOn = DebianVersions.dependsOn DebianVersions.DebVersion.Bullseye Profiles.Type.Standard
2021

2122
in
2223

0 commit comments

Comments
 (0)