Skip to content

Commit

Permalink
Introduce tag for job, which then in filter can be use to more specif…
Browse files Browse the repository at this point in the history
…ically choose which jobs should be ran on CI run
  • Loading branch information
dkijania committed Sep 25, 2023
1 parent 4c24e6a commit fb3024d
Show file tree
Hide file tree
Showing 42 changed files with 319 additions and 133 deletions.
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.Fast, 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
}
5 changes: 5 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 All @@ -18,6 +19,8 @@ let RunInToolchain = ../../Command/RunInToolchain.dhall

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

let B/SoftFail = B.definitions/commandStep/properties/soft_fail/Type

let commands =
[ Cmd.run "./scripts/lint_codeowners.sh"
, Cmd.run "./scripts/lint_rfcs.sh"
Expand All @@ -38,6 +41,7 @@ in Pipeline.build
]
, path = "Lint"
, name = "Fast"
, tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Lint ]
}
, steps =
[ Command.build
Expand All @@ -47,6 +51,7 @@ in Pipeline.build
"Fast lint steps; CODEOWNERs, RFCs, Check Snarky & Proof-Systems submodules, Preprocessor Deps"
, key = "lint"
, target = Size.Small
, soft_fail = Some (B/SoftFail.Boolean True)
, docker = Some Docker::{
, image = (../../Constants/ContainerImages.dhall).toolchainBase
}
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.Fast, 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.Fast, 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.Fast, 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.Fast, 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
Loading

0 comments on commit fb3024d

Please sign in to comment.