mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-28 09:28:55 -04:00
[ci] Allow CI to be triggered by old elasticmachine-style comment (#105154)
This commit is contained in:
parent
b250f06b09
commit
37b57a411b
4 changed files with 130 additions and 4 deletions
|
@ -11,7 +11,7 @@
|
||||||
"set_commit_status": false,
|
"set_commit_status": false,
|
||||||
"build_on_commit": true,
|
"build_on_commit": true,
|
||||||
"build_on_comment": true,
|
"build_on_comment": true,
|
||||||
"trigger_comment_regex": "(run\\W+elasticsearch-ci.+)|(^\\s*(buildkite\\s*)?test\\s+this(\\s+please)?)",
|
"trigger_comment_regex": "(run\\W+elasticsearch-ci.+)|(^\\s*((buildkite|@elastic(search)?machine)\\s*)?test\\s+this(\\s+please)?)",
|
||||||
"cancel_intermediate_builds": true,
|
"cancel_intermediate_builds": true,
|
||||||
"cancel_intermediate_builds_on_comment": false
|
"cancel_intermediate_builds_on_comment": false
|
||||||
},
|
},
|
||||||
|
|
|
@ -201,3 +201,111 @@ exports[`generatePipelines should generate correct pipeline when using a trigger
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`generatePipelines should generate correct pipelines with a non-docs change and @elasticmachine 1`] = `
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "bwc-snapshots",
|
||||||
|
"pipeline": {
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"group": "bwc-snapshots",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"agents": {
|
||||||
|
"buildDirectory": "/dev/shm/bk",
|
||||||
|
"image": "family/elasticsearch-ubuntu-2004",
|
||||||
|
"machineType": "custom-32-98304",
|
||||||
|
"provider": "gcp",
|
||||||
|
},
|
||||||
|
"command": ".ci/scripts/run-gradle.sh -Dignore.tests.seed v{{matrix.BWC_VERSION}}#bwcTest",
|
||||||
|
"env": {
|
||||||
|
"BWC_VERSION": "{{matrix.BWC_VERSION}}",
|
||||||
|
},
|
||||||
|
"label": "{{matrix.BWC_VERSION}} / bwc-snapshots",
|
||||||
|
"matrix": {
|
||||||
|
"setup": {
|
||||||
|
"BWC_VERSION": [
|
||||||
|
"7.17.14",
|
||||||
|
"8.10.3",
|
||||||
|
"8.11.0",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"timeout_in_minutes": 300,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "using-defaults",
|
||||||
|
"pipeline": {
|
||||||
|
"env": {
|
||||||
|
"CUSTOM_ENV_VAR": "value",
|
||||||
|
},
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"command": "echo 'hello world'",
|
||||||
|
"label": "test-step",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`generatePipelines should generate correct pipelines with a non-docs change and @elasticsearchmachine 1`] = `
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "bwc-snapshots",
|
||||||
|
"pipeline": {
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"group": "bwc-snapshots",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"agents": {
|
||||||
|
"buildDirectory": "/dev/shm/bk",
|
||||||
|
"image": "family/elasticsearch-ubuntu-2004",
|
||||||
|
"machineType": "custom-32-98304",
|
||||||
|
"provider": "gcp",
|
||||||
|
},
|
||||||
|
"command": ".ci/scripts/run-gradle.sh -Dignore.tests.seed v{{matrix.BWC_VERSION}}#bwcTest",
|
||||||
|
"env": {
|
||||||
|
"BWC_VERSION": "{{matrix.BWC_VERSION}}",
|
||||||
|
},
|
||||||
|
"label": "{{matrix.BWC_VERSION}} / bwc-snapshots",
|
||||||
|
"matrix": {
|
||||||
|
"setup": {
|
||||||
|
"BWC_VERSION": [
|
||||||
|
"7.17.14",
|
||||||
|
"8.10.3",
|
||||||
|
"8.11.0",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"timeout_in_minutes": 300,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "using-defaults",
|
||||||
|
"pipeline": {
|
||||||
|
"env": {
|
||||||
|
"CUSTOM_ENV_VAR": "value",
|
||||||
|
},
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"command": "echo 'hello world'",
|
||||||
|
"label": "test-step",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
|
`;
|
||||||
|
|
|
@ -13,11 +13,11 @@ describe("generatePipelines", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Helper for testing pipeline generations that should be the same when using the overall ci trigger comment "buildkite test this"
|
// Helper for testing pipeline generations that should be the same when using the overall ci trigger comment "buildkite test this"
|
||||||
const testWithTriggerCheck = (directory: string, changedFiles?: string[]) => {
|
const testWithTriggerCheck = (directory: string, changedFiles?: string[], comment = "buildkite test this") => {
|
||||||
const pipelines = generatePipelines(directory, changedFiles);
|
const pipelines = generatePipelines(directory, changedFiles);
|
||||||
expect(pipelines).toMatchSnapshot();
|
expect(pipelines).toMatchSnapshot();
|
||||||
|
|
||||||
process.env["GITHUB_PR_TRIGGER_COMMENT"] = "buildkite test this";
|
process.env["GITHUB_PR_TRIGGER_COMMENT"] = comment;
|
||||||
const pipelinesWithTriggerComment = generatePipelines(directory, changedFiles);
|
const pipelinesWithTriggerComment = generatePipelines(directory, changedFiles);
|
||||||
expect(pipelinesWithTriggerComment).toEqual(pipelines);
|
expect(pipelinesWithTriggerComment).toEqual(pipelines);
|
||||||
};
|
};
|
||||||
|
@ -42,4 +42,20 @@ describe("generatePipelines", () => {
|
||||||
const pipelines = generatePipelines(`${import.meta.dir}/mocks/pipelines`, ["build.gradle"]);
|
const pipelines = generatePipelines(`${import.meta.dir}/mocks/pipelines`, ["build.gradle"]);
|
||||||
expect(pipelines).toMatchSnapshot();
|
expect(pipelines).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("should generate correct pipelines with a non-docs change and @elasticmachine", () => {
|
||||||
|
testWithTriggerCheck(
|
||||||
|
`${import.meta.dir}/mocks/pipelines`,
|
||||||
|
["build.gradle", "docs/README.asciidoc"],
|
||||||
|
"@elasticmachine test this please"
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
test("should generate correct pipelines with a non-docs change and @elasticsearchmachine", () => {
|
||||||
|
testWithTriggerCheck(
|
||||||
|
`${import.meta.dir}/mocks/pipelines`,
|
||||||
|
["build.gradle", "docs/README.asciidoc"],
|
||||||
|
"@elasticsearchmachine test this please"
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -148,7 +148,9 @@ export const generatePipelines = (
|
||||||
// However, if we're using the overall CI trigger "[buildkite] test this [please]", we should use the regular filters above
|
// However, if we're using the overall CI trigger "[buildkite] test this [please]", we should use the regular filters above
|
||||||
if (
|
if (
|
||||||
process.env["GITHUB_PR_TRIGGER_COMMENT"] &&
|
process.env["GITHUB_PR_TRIGGER_COMMENT"] &&
|
||||||
!process.env["GITHUB_PR_TRIGGER_COMMENT"].match(/^\s*(buildkite\s*)?test\s+this(\s+please)?/i)
|
!process.env["GITHUB_PR_TRIGGER_COMMENT"].match(
|
||||||
|
/^\s*((@elastic(search)?machine|buildkite)\s*)?test\s+this(\s+please)?/i
|
||||||
|
)
|
||||||
) {
|
) {
|
||||||
filters = [triggerCommentCheck];
|
filters = [triggerCommentCheck];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue