Commit graph

46 commits

Author SHA1 Message Date
Dimitrios Liappis
0f9b6f9e87
Fix typo with aarch64 pipeline name to trigger (#15873)
This commit fixes a bug instroduced in PR#15850 and uses the correct
pipeline name when triggering the aarch64 pipeline on schedule.
2024-01-30 10:10:01 +02:00
Dimitrios Liappis
70c3fcdcbe
[ci] Skip slack alerts if retried tasks succeeded (#15869)
Currently for pipelines that have steps with auto retries, if there
is a failure of a step, even if the subsequent retry succeeds, we
received Slack alerts.
This commits uses new functionality available in the Buildkite PR Bot
to avoid Slack notifications in those cases and changes the settings
for all pipelines where we have, or expect to have, retries.
2024-01-29 13:52:00 +02:00
Dimitrios Liappis
0563a13665
Fix typo in catalog-info with exhaustive schema (#15858) 2024-01-28 19:40:48 +02:00
Dimitrios Liappis
5ee75803f8
Scheduled runs of exhaustive and aarch64 pipelines (#15850)
This commit adds a schedule to run the exhaustive pipeline
(biweekly, every other Wednesday @2AM UTC) and the aarch64
(weekly, every Monday@2AM UTC).

Closes https://github.com/elastic/ingest-dev/issues/2852
2024-01-28 19:30:02 +02:00
Dimitrios Liappis
a0e3b35c5f
Don't trigger exhaustive tests with backports (#15791)
Having enabled branch pushes as triggers for the exhaustive test
pipeline, we have an unwanted sideeffect, that when using
PR automation (@logstashmachine) to create backports, the temporary
branches also triggered exhaustive tests.

This commit skips triggering this pipeline when upstream branches
starting with `backport` get pushed.
2024-01-11 17:12:47 +02:00
Dimitrios Liappis
c8726b79f3
Run BK exhaustive pipeline when code is pushed (#15738)
This commit enables running the exhaustive tests Buildkite pipeline
(i.e. the equivalent to the `main` Jenkins tests) ; the trigger is
code events, i.e. direct pushes, merge commits and creation of new branches.

CI is skipped if changes are only related to files under `docs/`.
2024-01-10 10:18:19 +02:00
Dimitrios Liappis
4a7b31ea6d
[ci] No Slack alerts for pipeline scheduling job (#15728)
As a follow up to #15705, this commit shushes Slack alerts for the
common Buildkite scheduling pipeline. This is because the pipeline
scheduler just triggers other pipelines which have their own dedicated
alerts setup, therefore we want to avoid duplicate alerts when
there is a failure with one of the triggered pipelines.
2024-01-02 11:14:54 +02:00
Dimitrios Liappis
33347ddddf
Common scheduler pipeline for Buildkite (#15705)
As an improvement from #15668 / #15700, rather than having one
dedicated side-car scheduling job per pipeline, we move to a single
scheduling job. Various pipelines that need triggering with different
schedules now live under each schedule in the new pipeline.

This reduces the amount of jobs we have to maintain in yaml.
2023-12-20 11:47:54 +02:00
Dimitrios Liappis
06ceef8e13
[ci] Allow schedule to trigger several pipelines (#15703)
This commit enhances the functionality introduced in #15668 and #15700
by allowing a single Buildkite scheduling job to trigger several
pipelines, in addition to multiple branches which it already does.

We rename the env var PIPELINE_TO_TRIGGER to PIPELINES_TO_TRIGGER
which now supports comma separate values.

This enhancement can be useful for pipelines like JDK matrix which
have variants (Linux and Windows) that we want to trigger with a single
scheduling job, thus reducing unnecessary entries in catalog-info.
2023-12-20 10:22:46 +02:00
Dimitrios Liappis
c2eaecce8e
[ci] Remove hardcoded branches from DRA schedule (#15668)
This commit is the first making use of #15627 to remove hard coded
branches for the DRA Snapshot build schedule.

With this pattern, we will only need to keep `ci/branches.json` up to date,
as versions evolve, and not need to update/maintain hard coded branches
in `catalog-info.yaml` anymore.

Once this is verified working, we'll add a corresponding schedule
pipeline (in `catalog.info`) for the JDK matrix job.

Relates: https://github.com/elastic/ingest-dev/issues/2664
2023-12-19 11:42:28 +02:00
João Duarte
9e93ded8ea
Update catalog-info.yaml to include testing for 8.12 branch (#15666)
Don't remove 8.11 yet as we may have 8.11.x maintenance releases until 8.12.0 is GA.
2023-12-12 17:30:26 +00:00
Dimitrios Liappis
365ca4e2d6
Add new 8.12 branch to CI (#15667)
Now that we have a new 8.12 branch[^1], add it to CI definitions.

[^1]: https://github.com/elastic/logstash/tree/8.12
2023-12-07 15:59:08 +02:00
Mashhur
1e65f53d68
Use proper BK agent and simplify some operations in Snyk report pipeline. (#15610)
* Use Java installed BK agent and remove unnecessary git clone operation since repo is already cloned.

* Switch back to normal VM since Logstash BK agent doesn't support docker operations.
2023-11-27 09:31:25 -08:00
Dimitrios Liappis
ade2fb0687
[ci] Initial Exhaustive tests Buildkite resource (#15608)
This commit adds a new resource for the Exhaustive tests Buildkite
pipeline.

Relates:

- https://github.com/elastic/ingest-dev/issues/1722
- https://github.com/elastic/logstash/pull/15607
2023-11-27 11:06:02 +02:00
Dimitrios Liappis
2cbb4500dc
[ci] Fix slack alerts for Linux JDK matrix pipeline (#15609)
This commit enables slack alerts for the Linux part of the JDK
matrix pipeline, which was missed in the previous PR#15593.
2023-11-24 18:03:01 +02:00
Dimitrios Liappis
f8bb0480fc
[ci] Explicit maximum timeout for pipelines (#15601)
This commit adds a maximum default (global) timeout for every pipeline
definition (now that it's possible to define this programmatically in
an RRE).

The default values have been chosen arbitrarily based on intuition
about how much (in the worst case) we should wait for each job to
run until we consider them stuck/failed.

While at it, we update the yaml schema for RREs to point to the
latest commit (rather than a pinned commit that doesn't reflect the
latest changes, e.g. `maximum_default_timeout`).

Relates #15380
2023-11-24 17:37:22 +02:00
Dimitrios Liappis
db8f87bf9d
[ci] Enable auto runs of JDK matrix pipelines (#15593)
This commit enables scheduled runs of the JDK matrix pipelines for
both Windows and Linux, once a week, Tuesdays at 1am UTC, using the
pipeline defaults for OS and JDK.
2023-11-21 16:11:54 +02:00
Dimitrios Liappis
abc1384ea3
[ci] Add 90min timeout for supported plugins test (#15581)
This commit adds a global max timeout of 90min for the supported plugins
Buildkite pipeline. This prevents hanging builds (for 24hrs, which is
the default).

Relates: #15380
2023-11-15 12:11:20 +02:00
verogo
496f18effc
[Buildkite] Add pipeline max timeout property (#15579)
Build's maximum_timeout_in_minutes and default_timeout_in_minutes are available now through the catalog-info.yaml file.
As this change was made manually before we implemented this in RRE/Terrazzo, they got reverted to the default value (0); thus, I am raising this PR to get it as it was specified before the upgrade (120 mins.)
2023-11-14 09:12:24 +02:00
Dimitrios Liappis
f87651fee0
[ci] Remove 8.10 scheduled builds for DRA (#15544)
This commit removes 8.10 from the automated builds of DRA
artifacts, and should be merged once 8.11.0 is out.
2023-11-10 17:18:10 +02:00
Dimitrios Liappis
b86ad3038a
[ci] Split JDK matrix resources per OS (#15533)
This commit splits the generic Buildkite catalog resource introduced
in #15519 for JDK tests to separate resources for Linux and Windows.
2023-11-07 14:19:47 +02:00
Dimitrios Liappis
5df18f1053
[ci] Initial jdk matrix Buildkite resource (#15519)
This commit adds a skeleton resource definition for a Buildkite
pipeline for JDK matrix tests.

Relates:
https://github.com/elastic/ingest-dev/issues/1725
https://github.com/elastic/logstash/pull/15520
2023-11-02 17:51:27 +02:00
Dimitrios Liappis
1b794dfcd6
[ci] Slack notifications for aarch64 pipeline (#15507)
This commit enables slack notifications for aarch64 Buildkite pipeline
failures.
2023-10-26 15:20:16 +03:00
Dimitrios Liappis
9aa291a2a1
[ci] Initial aarch64 Buildkite pipeline (#15459)
This commit adds a skeleton resource definition for a Buildkite
pipeline for aarch64 exhaustive tests.

Relates:
https://github.com/elastic/ingest-dev/issues/1724
2023-10-18 09:27:34 +03:00
Dimitrios Liappis
9a924f45ef
[ci] Slack notifications for PR Buildkite builds (#15452)
This commit enables Slack notifications for the pull request Buildkite
pipeline.
2023-10-16 18:32:19 +03:00
Dimitrios Liappis
1284c675d1
[ci] Enable Buildkite PR comments (#15453)
This commit enables automatically updated comments from Buildkite for
PRs. It posts comments to PRs whenever a Buildkite build finishes or
encounters its first failing step and keeps the comment updated.
2023-10-16 17:12:14 +03:00
Dimitrios Liappis
4ee74c9de6
[ci] Daily DRA snapshot builds with Buildkite (#15395)
This commit enables the snapshot job schedule for Buildkite jobs.
They are set to run after Jenkins (scheduled @midnight) so that any
remote/unknown chance of conflict with the release manager is limited.

While at it, we also enable slack notifications for failures to the
same channels as Jenkins.
2023-10-11 21:00:45 +03:00
Dimitrios Liappis
d4eccd256f
[ci] Don't trigger BK PR jobs on pushes (#15426)
Currently while PR jobs get triggered as expected in Buildkite via
the bot, they also get re-triggered after something gets pushed,
including e.g. the squash merge commit when the PR is merged.

This commit disables this behavior as documented in Buildkite[^1].
and by tightening our filter.

Relates:

- #15402
- https://github.com/elastic/ingest-dev/issues/1721

[^1]: https://buildkite.com/docs/apis/rest-api/pipelines
2023-10-11 11:45:30 +03:00
Dimitrios Liappis
e1eb1978e5
[ci] Add missing repository in Buildkite PR (#15413)
PR #15402 missed the required repository property for the Buildkite
pull request resource.
2023-10-10 17:41:53 +03:00
Dimitrios Liappis
3bfd824f7c
[ci] Initial pull request jobs for buildkite (#15402)
This commit adds a Buildkite resource for pull requests and
the two simple jobs, license checking and ruby unit tests that are
already part of the Jenkins PR multi job setup.

As this is WiP, slack notifications aren't enabled.
2023-10-10 16:39:41 +03:00
Andrea Selva
2b7515cfee
Add definition for plugin's test pipeline to Buildkite catalog (#15382)
Add definition of pipeline  to Buildkite catalog.  The new pipeline execute supported plugins' tests
2023-10-05 11:32:24 +02:00
Dimitrios Liappis
9307c4de1c
[DRA] Rename Buildkite metadata for DRA pipelines (#15365)
To provide a smoother migration experience from Jenkins, this commit adds better information about the two types of DRA jobs.

Relates https://github.com/elastic/ingest-dev/issues/1720
2023-10-03 17:21:03 +03:00
Dimitrios Liappis
da51a6ac53
[buildkite] DRA staging + snapshot pipelines (#15344)
This commit is the step after #15337 and switches away from the generically named [logstash-dra-pipeline-ci](https://buildkite.com/elastic/logstash-dra-pipeline-ci)
pipeline to two separate pipelines for `snapshot` and `staging`, reflecting the current structure in [Jenkins](https://logstash-ci.elastic.co/view/DRA/).

We define a daily schedule for `snapshot`, but it's commented out for now, until we ramp down the Jenkins job.

Finally, as we've created a dedicated Buildkite team for `logstash`, we place both pipelines under this team.

Relates:

- https://github.com/elastic/ingest-dev/issues/1720
- https://github.com/elastic/logstash/pull/15337
2023-10-02 12:10:59 +03:00
Dimitrios Liappis
9af39e8b66
[ci, buildkite] Fix backstage link to logstash ... (#15343)
DRA buildkite job
2023-09-25 14:32:41 +03:00
Dimitrios Liappis
77d2ec31fa
[CI] Add initial buildkite pipeline for DRA (#15312)
Add initial buildkite pipeline for DRA artifacts.
This is a "hello-world" pipeline skeleton required to iterate on migrating the actual DRA jobs.
This commit also updates the backstage component for logstash to become a top level entity with the
necessary annotations and linked dependencies to pipelines.

Relates https://github.com/elastic/ingest-dev/issues/1720
2023-09-12 12:05:24 +03:00
kaisecheng
fde473d976
buildkite serverless test against main (#15306)
- test against main branch
- fix rename
2023-09-06 14:40:53 +01:00
Mashhur
07b663561c
Snyk scans Logstash container vulnerabilities. (#15117)
* Snyk scans Logstash container vulnerabilities.

* Exclude integ test and tools when Snyk scanning.

* Remote repo url fix for main branch.

* Update .buildkite/scripts/snyk/report.sh

Simplify the logic to retrieve the version from `versions.yml`

Co-authored-by: kaisecheng <69120390+kaisecheng@users.noreply.github.com>

* Add backstage definition for Snyk Report pipeline.

---------

Co-authored-by: kaisecheng <69120390+kaisecheng@users.noreply.github.com>
2023-07-12 14:54:03 -07:00
João Duarte
a8a5442e58
Update catalog-info.yaml 2023-06-28 16:58:41 +02:00
João Duarte
9f0e820b86
Update catalog-info.yaml to use core_serverless_test on serverless test 2023-06-28 14:56:39 +02:00
João Duarte
019bb9547c
Update catalog-info.yaml fix indentation and change trigger mode 2023-06-28 09:35:18 +02:00
João Duarte
85891f4679
Update catalog-info.yaml fix spec indentation in pipeline definition 2023-06-28 09:13:00 +02:00
João Duarte
c8812eeb91
Update catalog-info.yaml to introduce resource encapsulating pipeline 2023-06-27 17:30:12 +02:00
João Duarte
52f5650abd
Update catalog-info.yaml to define a component + pipeline instead of resource (#15121) 2023-06-27 16:56:43 +02:00
João Duarte
0998b6a398
reshape catalog-info (#15120)
allow for multiple pipeline definitions
2023-06-27 15:24:50 +02:00
João Duarte
403c361bb1
fix yaml structure for catalog-info (#15119) 2023-06-27 14:45:30 +02:00
elastic-backstage-prod[bot]
a9112fc8f7
Create catalog-info file (#15072)
This will eventually replace the pipeline definition in the catalog repo, using the local file instead.

---------

Co-authored-by: elastic-backstage-prod[bot] <123036547+elastic-backstage-prod[bot]@users.noreply.github.com>
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2023-06-27 12:29:30 +02:00