diff --git a/.buildkite/pipeline-resource-definitions/trigger-version-dependent-jobs.yml b/.buildkite/pipeline-resource-definitions/trigger-version-dependent-jobs.yml index 67d3c8681e40433..b31ca3be76a725c 100644 --- a/.buildkite/pipeline-resource-definitions/trigger-version-dependent-jobs.yml +++ b/.buildkite/pipeline-resource-definitions/trigger-version-dependent-jobs.yml @@ -48,7 +48,16 @@ spec: schedules: Trigger ES forward compatibility tests: cronline: 0 5 * * * - message: Daily 6 am UTC - branch: main + message: Trigger ES forward compatibility tests env: TRIGGER_PIPELINE_SET: es-forward + Trigger artifact staging builds: + cronline: 0 7 * * * America/New_York + message: Trigger artifact staging builds + env: + TRIGGER_PIPELINE_SET: artifacts-staging + Trigger artifact snapshot builds: + cronline: 0 7 * * * America/New_York + message: Trigger artifact snapshot builds + env: + TRIGGER_PIPELINE_SET: artifacts-snapshot diff --git a/.buildkite/scripts/pipelines/trigger_version_dependent_jobs/pipeline.ts b/.buildkite/scripts/pipelines/trigger_version_dependent_jobs/pipeline.ts index bed931b5a8d69c1..af03091ca550d4a 100755 --- a/.buildkite/scripts/pipelines/trigger_version_dependent_jobs/pipeline.ts +++ b/.buildkite/scripts/pipelines/trigger_version_dependent_jobs/pipeline.ts @@ -17,6 +17,8 @@ function emitPipeline(pipelineSteps: BuildkiteTriggerStep[]) { const pipelineSets = { 'es-forward': 'kibana-es-forward', + 'artifacts-snapshot': 'kibana-artifacts-snapshot', + 'artifacts-staging': 'kibana-artifacts-staging', }; /** @@ -38,6 +40,14 @@ async function main() { pipelineSteps.push(...getESForwardPipelineTriggers()); break; } + case 'artifacts-snapshot': { + pipelineSteps.push(...getArtifactSnapshotPipelineTriggers()); + break; + } + case 'artifacts-staging': { + pipelineSteps.push(...getArtifactStagingPipelineTriggers()); + break; + } default: { throw new Error(`Unknown pipeline set: ${pipelineSetName}`); } @@ -72,6 +82,44 @@ function getESForwardPipelineTriggers(): BuildkiteTriggerStep[] { }); } +function getArtifactSnapshotPipelineTriggers() { + // Trigger for all named branches + const versions = getVersionsFile(); + const branches = versions.map((v) => v.branch); + + return branches.map((branch) => { + return { + trigger: 'kibana-artifacts-snapshot', + async: true, + label: `Snapshot artifacts for ${branch}`, + build: { + message: `Triggering artifact snapshot for ${branch}`, + branch, + commit: 'HEAD', + }, + } as BuildkiteTriggerStep; + }); +} + +function getArtifactStagingPipelineTriggers() { + // Trigger for all branches, that are not current minor+major + const versions = getVersionsFile(); + const branches = versions.filter((v) => !v.currentMajor && !v.currentMinor).map((v) => v.branch); + + return branches.map((branch) => { + return { + trigger: 'kibana-artifacts-staging', + async: true, + label: `Staging artifacts for ${branch}`, + build: { + message: `Triggering artifact staging for ${branch}`, + branch, + commit: 'HEAD', + }, + } as BuildkiteTriggerStep; + }); +} + function isValidPipelineSet( pipelineSetName: string | undefined ): pipelineSetName is keyof typeof pipelineSets {