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

[Develop][CI] Divide CI into gates #14226

Merged
merged 15 commits into from
Oct 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
16 changes: 11 additions & 5 deletions buildkite/src/Command/MinaArtifact.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ let S = ../Lib/SelectFiles.dhall
let D = S.PathPattern

let Pipeline = ../Pipeline/Dsl.dhall
let PipelineTag = ../Pipeline/Tag.dhall
let PipelineMode = ../Pipeline/Mode.dhall

let JobSpec = ../Pipeline/JobSpec.dhall

let Command = ./Base.dhall
Expand All @@ -16,13 +19,16 @@ let DebianVersions = ../Constants/DebianVersions.dhall

in

let pipeline : DebianVersions.DebVersion -> Pipeline.Config.Type = \(debVersion : DebianVersions.DebVersion) ->
let pipeline : DebianVersions.DebVersion -> PipelineMode.Type -> Pipeline.Config.Type = \(debVersion : DebianVersions.DebVersion) ->
\(mode: PipelineMode.Type) ->
Pipeline.Config::{
spec =
JobSpec::{
dirtyWhen = DebianVersions.dirtyWhen debVersion,
path = "Release",
name = "MinaArtifact${DebianVersions.capitalName debVersion}"
name = "MinaArtifact${DebianVersions.capitalName debVersion}",
tags = [ PipelineTag.Type.Long, PipelineTag.Type.Release ],
mode = mode
},
steps = [
Libp2p.step debVersion,
Expand Down Expand Up @@ -119,7 +125,7 @@ let pipeline : DebianVersions.DebVersion -> Pipeline.Config.Type = \(debVersion

in
{
bullseye = pipeline DebianVersions.DebVersion.Bullseye
, buster = pipeline DebianVersions.DebVersion.Buster
, focal = pipeline DebianVersions.DebVersion.Focal
bullseye = pipeline DebianVersions.DebVersion.Bullseye PipelineMode.Type.PullRequest
, buster = pipeline DebianVersions.DebVersion.Buster PipelineMode.Type.PullRequest
, focal = pipeline DebianVersions.DebVersion.Focal PipelineMode.Type.PullRequest
}
2 changes: 2 additions & 0 deletions buildkite/src/Jobs/Lint/Fast.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ let B = ../../External/Buildkite.dhall
let S = ../../Lib/SelectFiles.dhall

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

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

Expand Down Expand Up @@ -36,6 +37,7 @@ in Pipeline.build
]
, path = "Lint"
, name = "Fast"
, tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Lint ]
}
, steps =
[ Command.build
Expand Down
4 changes: 3 additions & 1 deletion buildkite/src/Jobs/Lint/HelmChart.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ let S = ../../Lib/SelectFiles.dhall
let Cmd = ../../Lib/Cmds.dhall

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

let Command = ../../Command/Base.dhall
Expand All @@ -23,7 +24,8 @@ Pipeline.build
S.exactly "buildkite/scripts/helm-ci" "sh"
],
path = "Lint",
name = "HelmChart"
name = "HelmChart",
tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Lint ]
},
steps = [
Command.build
Expand Down
4 changes: 3 additions & 1 deletion buildkite/src/Jobs/Lint/Merge.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ let B = ../../External/Buildkite.dhall
let SelectFiles = ../../Lib/SelectFiles.dhall

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

let Cmd = ../../Lib/Cmds.dhall
Expand All @@ -20,7 +21,8 @@ Pipeline.build
spec = JobSpec::{
dirtyWhen = [ SelectFiles.everything ],
path = "Lint",
name = "Merge"
name = "Merge",
tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Lint ]
},
steps = [
Command.build
Expand Down
2 changes: 2 additions & 0 deletions buildkite/src/Jobs/Lint/OCaml.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ let JobSpec = ../../Pipeline/JobSpec.dhall
let Cmd = ../../Lib/Cmds.dhall

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

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

Expand All @@ -31,6 +32,7 @@ in Pipeline.build
[ dirtyDhallDir, S.strictlyStart (S.contains "src/") ]
, path = "Lint"
, name = "OCaml"
, tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Lint ]
}
, steps =
[ Command.build
Expand Down
5 changes: 4 additions & 1 deletion buildkite/src/Jobs/Lint/Rust.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ let S = ../../Lib/SelectFiles.dhall
let Cmd = ../../Lib/Cmds.dhall

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

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

let Command = ../../Command/Base.dhall
Expand All @@ -19,7 +21,8 @@ Pipeline.build
spec = JobSpec::{
dirtyWhen = [ S.contains "src/app/trace-tool", S.strictlyStart (S.contains "buildkite/src/Jobs/Lint/Rust") ],
path = "Lint",
name = "Rust"
name = "Rust",
tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Lint ]
},
steps = [
Command.build
Expand Down
5 changes: 4 additions & 1 deletion buildkite/src/Jobs/Lint/TestnetAlerts.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ let S = ../../Lib/SelectFiles.dhall
let Cmd = ../../Lib/Cmds.dhall

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

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

let Command = ../../Command/Base.dhall
Expand All @@ -25,7 +27,8 @@ Pipeline.build
S.strictlyStart (S.contains "buildkite/src/Jobs/Release/TestnetAlerts")
],
path = "Lint",
name = "TestnetAlerts"
name = "TestnetAlerts",
tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Lint ]
},
steps = [
Command.build
Expand Down
5 changes: 4 additions & 1 deletion buildkite/src/Jobs/Lint/ValidationService.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ let List/map = Prelude.List.map

let S = ../../Lib/SelectFiles.dhall
let Pipeline = ../../Pipeline/Dsl.dhall
let PipelineTag = ../../Pipeline/Tag.dhall

let Cmd = ../../Lib/Cmds.dhall
let Command = ../../Command/Base.dhall
let JobSpec = ../../Pipeline/JobSpec.dhall
Expand Down Expand Up @@ -52,7 +54,8 @@ in Pipeline.build Pipeline.Config::{
S.strictlyStart (S.contains ValidationService.rootPath)
],
path = "Lint",
name = "ValidationService"
name = "ValidationService",
tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Lint ]
},
steps = [
Command.build Command.Config::{
Expand Down
5 changes: 4 additions & 1 deletion buildkite/src/Jobs/Lint/Xrefcheck.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ let B = ../../External/Buildkite.dhall
let SelectFiles = ../../Lib/SelectFiles.dhall

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

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

let Cmd = ../../Lib/Cmds.dhall
Expand All @@ -23,7 +25,8 @@ Pipeline.build
SelectFiles.strictly (SelectFiles.contains ".xrefcheck.yml")
],
path = "Lint",
name = "Xrefcheck"
name = "Xrefcheck",
tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Lint ]
},
steps = [
Command.build
Expand Down
5 changes: 4 additions & 1 deletion buildkite/src/Jobs/Release/HelmRelease.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ let S = ../../Lib/SelectFiles.dhall
let Cmd = ../../Lib/Cmds.dhall

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

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

let Command = ../../Command/Base.dhall
Expand All @@ -21,7 +23,8 @@ Pipeline.build
S.exactly "buildkite/scripts/helm-ci" "sh"
],
path = "Release",
name = "HelmRelease"
name = "HelmRelease",
tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Release ]
},
steps = [
Command.build
Expand Down
5 changes: 4 additions & 1 deletion buildkite/src/Jobs/Release/ItnOrchestratorArtifact.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ let S = ../../Lib/SelectFiles.dhall
let D = S.PathPattern

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

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

let Command = ../../Command/Base.dhall
Expand All @@ -29,7 +31,8 @@ Pipeline.build
S.strictlyStart (S.contains "src/app/itn_orchestrator")
],
path = "Release",
name = "ItnOrchestratorArtifact"
name = "ItnOrchestratorArtifact",
tags = [ PipelineTag.Type.Long, PipelineTag.Type.Release ]
},
steps = [
DockerImage.generateStep spec
Expand Down
5 changes: 4 additions & 1 deletion buildkite/src/Jobs/Release/LeaderboardArtifact.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ let S = ../../Lib/SelectFiles.dhall
let D = S.PathPattern

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

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

let Command = ../../Command/Base.dhall
Expand All @@ -27,7 +29,8 @@ Pipeline.build
S.strictlyStart (S.contains "frontend/leaderboard")
],
path = "Release",
name = "LeaderboardArtifact"
name = "LeaderboardArtifact",
tags = [ PipelineTag.Type.Long, PipelineTag.Type.Release ]
},
steps = [
Command.build
Expand Down
50 changes: 50 additions & 0 deletions buildkite/src/Jobs/Release/MinaToolchainArtifactBullseye.dhall
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
let Prelude = ../../External/Prelude.dhall

let Cmd = ../../Lib/Cmds.dhall
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 DockerImage = ../../Command/DockerImage.dhall
let DockerLogin = ../../Command/DockerLogin/Type.dhall


in

Pipeline.build
Pipeline.Config::{
spec =
JobSpec::{
dirtyWhen = [
S.strictlyStart (S.contains "dockerfiles/stages/1-"),
S.strictlyStart (S.contains "dockerfiles/stages/2-"),
S.strictlyStart (S.contains "dockerfiles/stages/3-"),
S.strictlyStart (S.contains "buildkite/src/Jobs/Release/MinaToolchainArtifact"),
S.strictly (S.contains "opam.export"),
-- Rust version has changed
S.strictlyEnd (S.contains "rust-toolchain.toml")
],
path = "Release",
name = "MinaToolchainArtifactBullseye",
tags = [ PipelineTag.Type.Long, PipelineTag.Type.Release ]
},
steps = [

-- mina-toolchain Debian 11 "Bullseye" Toolchain
let toolchainBullseyeSpec = DockerImage.ReleaseSpec::{
service="mina-toolchain",
deb_codename="bullseye",
extra_args="--no-cache",
step_key="toolchain-bullseye-docker-image"
}

in

DockerImage.generateStep toolchainBullseyeSpec

]
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ let Cmd = ../../Lib/Cmds.dhall
let S = ../../Lib/SelectFiles.dhall

let Pipeline = ../../Pipeline/Dsl.dhall
let PipelineTag = ../../Pipeline/Tag.dhall
let PipelineMode = ../../Pipeline/Mode.dhall
let JobSpec = ../../Pipeline/JobSpec.dhall

let Command = ../../Command/Base.dhall
Expand All @@ -28,22 +30,12 @@ Pipeline.build
S.strictlyEnd (S.contains "rust-toolchain.toml")
],
path = "Release",
name = "MinaToolchainArtifact"
name = "MinaToolchainArtifactBuster",
tags = [ PipelineTag.Type.Long, PipelineTag.Type.Release ],
mode = PipelineMode.Type.Stable
},
steps = [

-- mina-toolchain Debian 11 "Bullseye" Toolchain
let toolchainBullseyeSpec = DockerImage.ReleaseSpec::{
service="mina-toolchain",
deb_codename="bullseye",
extra_args="--no-cache",
step_key="toolchain-bullseye-docker-image"
}

in

DockerImage.generateStep toolchainBullseyeSpec,

-- mina-toolchain Debian 10 "Buster" Toolchain
let toolchainBusterSpec = DockerImage.ReleaseSpec::{
service="mina-toolchain",
Expand Down
5 changes: 4 additions & 1 deletion buildkite/src/Jobs/Release/TestnetAlerts.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ let S = ../../Lib/SelectFiles.dhall
let Cmd = ../../Lib/Cmds.dhall

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

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

let Command = ../../Command/Base.dhall
Expand All @@ -24,7 +26,8 @@ Pipeline.build
S.strictlyStart (S.contains "buildkite/src/Jobs/Release/TestnetAlerts")
],
path = "Release",
name = "TestnetAlerts"
name = "TestnetAlerts",
tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Release ]
},
steps = [
Command.build
Expand Down
5 changes: 4 additions & 1 deletion buildkite/src/Jobs/Release/TraceTool.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ let S = ../../Lib/SelectFiles.dhall
let Cmd = ../../Lib/Cmds.dhall

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

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

let Command = ../../Command/Base.dhall
Expand All @@ -20,7 +22,8 @@ Pipeline.build
spec = JobSpec::{
dirtyWhen = [ S.contains "src/app/trace-tool", S.strictlyStart (S.contains "buildkite/src/Jobs/TraceTool") ],
path = "Release",
name = "TraceTool"
name = "TraceTool",
tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Release ]
},
steps = [
Command.build
Expand Down
2 changes: 2 additions & 0 deletions buildkite/src/Jobs/Test/ArchiveNodeUnitTest.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ let Prelude = ../../External/Prelude.dhall
let Cmd = ../../Lib/Cmds.dhall
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 RunInToolchain = ../../Command/RunInToolchain.dhall
Expand All @@ -27,6 +28,7 @@ Pipeline.build
]
, path = "Test"
, name = "ArchiveNodeUnitTest"
, tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Test ]
}
, steps =
let outerDir : Text =
Expand Down
4 changes: 3 additions & 1 deletion buildkite/src/Jobs/Test/CheckDhall.dhall
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ let D = S.PathPattern

let JobSpec = ../../Pipeline/JobSpec.dhall
let Pipeline = ../../Pipeline/Dsl.dhall
let PipelineTag = ../../Pipeline/Tag.dhall
let Command = ../../Command/Base.dhall
let Docker = ../../Command/Docker/Type.dhall
let Size = ../../Command/Size.dhall
Expand All @@ -23,7 +24,8 @@ Pipeline.build
S.exactly "buildkite/scripts/generate-jobs" "sh"
],
path = "Test",
name = "CheckDhall"
name = "CheckDhall",
tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Test ]
},
steps = [
Command.build
Expand Down
Loading