You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[CI] Add features/* branch support to changeset detection and publish pipeline (#18962)
Extend CI branch handling to treat feature/* branches the same as
backport-* branches. Update docs/ci_pipelines.md to include
feature/* branches.
---------
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: docs/ci_pipelines.md
+14-4Lines changed: 14 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ Currently, there are five different pipelines:
12
12
13
13
## Pull Requests and pushes to specific branches
14
14
15
-
In every push to a Pull Request as well as commits to `main` or `backport-*` branches, this pipeline is triggered automatically: https://buildkite.com/elastic/integrations
15
+
In every push to a Pull Request as well as commits to `main`, `backport-*`, or `feature/*` branches, this pipeline is triggered automatically: https://buildkite.com/elastic/integrations
16
16
17
17
This pipeline is in charge of testing the packages with a local Elastic stack.
18
18
@@ -62,13 +62,13 @@ These environment variables can be defined in different locations:
62
62
More details about this CI pipeline:
63
63
64
64
- Builds running in a Pull Request are canceled if a new commit is pushed to the PR branch.
65
-
- Builds running from `main` or `backport-*` branches are finished even if new commits are merged.
65
+
- Builds running from `main`, `backport-*`, or `feature/*` branches are finished even if new commits are merged.
66
66
- As part of the Pull Requests, there are some benchmark files created and this data is pushed to the PR as a comment.
67
67
- This CI pipeline tries to test the minimum packages possible::
68
68
- In the Pull Request context, it is checked the files modified/added/deleted in the given PR:
69
69
- Those packages with changes (`packages/*`) will be added to the list of packages to be tested.
70
-
- If files outside `packages` folder are updated (e.g.`go.mod` , `.buildkite/*`), all packages are going to be tested. There are some exceptions to this, for instance the `.github/CODEOWNERS` file or `.docs/` folder ([files excluded](https://github.com/elastic/integrations/blob/376fc891a1e6c662b4ef1897b118044faf51e7bf/.buildkite/scripts/common.sh#L695)).
71
-
- In branches context (`main` or `backport-*`):
70
+
- If files outside `packages` folder are updated (for example`go.mod` , `.buildkite/*`), all packages are going to be tested. There are some exceptions to this, for instance the `.github/CODEOWNERS` file or `.docs/` folder ([files excluded](https://github.com/elastic/integrations/blob/376fc891a1e6c662b4ef1897b118044faf51e7bf/.buildkite/scripts/common.sh#L695)).
71
+
- In branches context (`main`, `backport-*`, or `feature/*`):
72
72
- The latest Buildkite build that finished successfully in that branch is retrieved, and all the file changes in the working copy between the changeset of that build and the merged commit are obtained.
73
73
- Given all those changes, the packages selected to be tested follow the same rules as in the PR.
74
74
- Container logs, as they could contain sensitive information, are uploaded to a private Google Bucket.
@@ -225,3 +225,13 @@ from the UI: https://buildkite.com/elastic/integrations-backport/
225
225
226
226
More information about this pipeline and how to create these hotfixes in:
`feature/*` branches are long-lived branches used for developing larger features before merging into `main`. They follow the same CI process as Pull Requests, ensuring all checks pass before code is integrated.
232
+
233
+
- Every push to a `feature/*` branch triggers the main CI pipeline (https://buildkite.com/elastic/integrations), running the same package tests as a regular Pull Request.
234
+
- Pull Requests targeting a `feature/*` branch also trigger CI checks, so all changes must pass CI before being merged into the feature branch.
235
+
- Intermediate builds are cancelled or skipped when new commits arrive, consistent with `backport-*` branches.
236
+
- Changeset detection works the same as for `backport-*` branches: only packages modified since the last successful build are tested. On the first push to a new `feature/*` branch, no package tests are run if only CI infrastructure files changed.
237
+
- Publishing is **not** triggered for `feature/*` branches. Packages are published only when PRs are merged into `main` or `backport-*` branches.
0 commit comments