Commit graph

18 commits

Author SHA1 Message Date
github-actions[bot]
c0f13dfe3f
Annotate successful DRA builds with summary URL (#15820) (#15824)
This commit makes the generated DRA URL easily accessible via
a Buildkite annotation.

Closes https://github.com/elastic/ingest-dev/issues/2608

(cherry picked from commit c5cb1fe2ed)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-22 17:04:55 +02:00
Dimitrios Liappis
289b61f184
Enable packaging tests in exhaustive pipeline (#15807) (#15781)
This commit adds the packaging tests (that were refactored in #15754
to not rely on Vagrant) in a new "acceptance" group.

One difference from #15781 is that we use ubuntu 2004 for building packages
(as done in DRA/7.17) due to https://github.com/jruby/jruby/pull/7611#issuecomment-1750387837

Relates: https://github.com/elastic/ingest-dev/issues/1722

(cherry picked from commit 16c4d8827e)
2024-01-17 16:51:24 +02:00
github-actions[bot]
fe82d6b701
Add Docker acceptance to exhaustive BK pipeline (#15748) (#15800)
This commit adds the Docker acceptance tests in the acceptance phase
of the exhaustive tests pipeline.

- Relates: https://github.com/elastic/ingest-dev/issues/1722

(cherry picked from commit fca1fccb66)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-12 09:25:36 +02:00
Dimitrios Liappis
5f2610ee2b
Run BK exhaustive pipeline when code is pushed (#15738) (#15772)
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 11:17:15 +02:00
github-actions[bot]
8cf1ce2762
[ci] Add testing phase to exhaustive tests suite (#15711) (#15718)
This is the second part of the migration of the exhaustive/main
Jenkins Job to Buildkite. So far we've migrated the "compatibility
phase" and this commit adds the "testing phase"[^1], which is essentially
the same amount of tests that we ran on PR jobs.

Relates https://github.com/elastic/ingest-dev/issues/1722
Depends https://github.com/elastic/logstash/pull/15708

[^1]: For more details, refer to the sequence diagram in https://github.com/elastic/ingest-dev/issues/1722#issuecomment-1824378635

(cherry picked from commit 9538338abb)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-12-21 10:13:30 +02:00
github-actions[bot]
06acff465a
[ci] Compatibility tests for Exhaustive suite (#15641) (#15646)
This commit adds the compatibility tier for the Exhaustive tests suite.
Specifically, we introduce two new groups (running in parallel) for Linux and Windows compat tests.
Linux picks one OS per family from [^] and likewise Windows one of the three available choices from the same file.

We also support manual override, if user chooses to, by setting `LINUX_OS` or `WINDOWS_OS` as env vars in the Buildkite build prompt (in this case there is no randomization, and only one OS can be defined for Linux and Windows respectively).

For example:
```
LINUX_OS=rhel-9
WINDOWS_OS=windows=216
```

Relates:

- https://github.com/elastic/ingest-dev/issues/1722

[^1]: 4d6bd955e6/.buildkite/scripts/common/vm-images.json

(cherry picked from commit d42b938f81)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-30 20:53:50 +02:00
github-actions[bot]
ad34b887f7
[ci] Use GCP prod image for Linux JDK matrix job (#15600) (#15603)
So far we've been using images from the -qa GCP image project throughput
the development of the Logstash Linux JDK matrix pipeline for quicker
iteration.

As we have scheduled weekly builds of those images that promote to
prod[^1] we can now switch to the prod version of the GCP images.

[^1]: https://buildkite.com/elastic/ci-vm-images/builds/2888

Relates https://github.com/elastic/ingest-dev/issues/1725

(cherry picked from commit e259e04e53)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-20 19:10:12 +02:00
Dimitrios Liappis
b2aad94c89
[ci] Add yaml language server to pipelines (#15590) (#15592)
Add missing yaml-language-server definition to Buildkite pipeline files
(static and dynamic generated) for consistency and to ease spotting
errors with editors.
2023-11-20 17:23:47 +02:00
github-actions[bot]
04c6ae40ae
[ci] Support amazonlinux for JDK matrix pipeline (#15595) (#15597)
The last part of the Logstash JDK matrix CI migration from Jenkins to
Buildkite is AmazonLinux 2023.

While we have a working image[^1], this is the only step that requires
a agent that runs on AWS.

This commit refactors the builder to support GCP or AWS agents depending
on the OS.

[^1]: https://github.com/elastic/ci-agent-images/pull/441

(cherry picked from commit 8fa3bd0d7f)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-20 12:10:19 +02:00
github-actions[bot]
56812c359e
[ci] JDK matrix Buildkite pipelines (pt 2/Windows) (#15563) (#15569)
This commit adds JDK matrix Buildkite pipelines for
Windows 2022, 2019 and 2016.

It also makes the groups easier to read (on both Linux and Windows
pipelines) by removing the os-jdk prefix from the job labels.

`testDLQWriterFlusherRemovesExpiredSegmentWhenCurrentHeadSegmentIsEmpty`
fails on Windows Buildkite agents and it's a test issue tracked in
https://github.com/elastic/logstash/issues/15562.

Relates:

- https://github.com/elastic/logstash/pull/15539
- https://github.com/elastic/ingest-dev/issues/1725

(cherry picked from commit 0ede19a0e1)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-13 18:51:16 +02:00
github-actions[bot]
44b6ec5016
[ci] JDK matrix Buildkite pipelines (part 1) (#15539) (#15556)
This commit is the first part of the migration of JDK matrix tests
from Jenkins to Buildkite. There will be two separate pipelines, for
Linux and Windows.

Linux is currently limited to Ubuntu 22.04 and 20.04, but
additional operating systems will be added outside of the Logstash
repository seamlessly through additional VM images.

Steps are created dynamically and the underlying script is meant to be
common for Linux and Windows. Windows is currently a stub and
will be added in a follow up PR.

Relates:

- https://github.com/elastic/ingest-dev/issues/1725
- https://github.com/elastic/ci-agent-images/pull/424

(cherry picked from commit 956bf483f2)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-09 11:18:27 +02:00
github-actions[bot]
c998e4f091
[ci] aarch64 Buildkite pipeline part 2 (#15473) (#15506)
This commit is the follow up PR after #15466, which migrates away
the remaining aarch64 acceptance test Jenkins jobs to Buildkite.

Relates:

- #15466
- https://github.com/elastic/ingest-dev/issues/1724

(cherry picked from commit c384190718)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-26 09:39:17 +03:00
github-actions[bot]
3d3b60ad51
[ci] aarch64 Buildkite pipeline part 1 (#15466) (#15482)
This commit is the first part of migrating away the aarch64 Jenkins
jobs to Buildkite. It adds a group of exhaustive test steps in the
aarch64 pipeline.

The java unit tests are temporarily disabled as they run SonarQube
scans which need to be associated with pull requests.

Relates:

https://github.com/elastic/ingest-dev/issues/1724
(cherry picked from commit 36656de4f0)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-24 09:24:57 +03:00
github-actions[bot]
763a2d0048
[ci] Add PR it-tests (part 1+2) to Buildkite (#15438) (#15447)
This commit adds integration tests to the
Buildkite PR pipeline.

Relates:

- https://github.com/elastic/logstash/pull/15437
- https://github.com/elastic/ingest-dev/issues/1721
- https://github.com/elastic/logstash/pull/15279

(cherry picked from commit 816d7e6b2b)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-13 21:45:33 +03:00
github-actions[bot]
0529308ceb
[ci] Commit PR based Java unit tests for Buildkite (#15437) (#15443)
This commit adds Java unit tests (including sonar scans) to the
Buildkite pull request pipeline.

Relates: https://github.com/elastic/ingest-dev/issues/1721
(cherry picked from commit e285425d54)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-10-13 12:57:39 +03:00
Dimitrios Liappis
8ca4d205e3
[ci] Backport Buildkite PR pipeline to 7.17 (#15432)
This is a backport of the initial Pull Request pipeline for Buildkite.

While currently we haven't migrated all PR jobs from Jenkins, this is needed so PRs against non `main` branches don't fail this step (also giving us the possibility to test functionality against non `main` branches).

Relates:

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

## Release notes
[rn:skip]
2023-10-12 17:06:56 +03:00
Dimitrios Liappis
f6f88d691b
[ci] Build 7.17 DRA using Ubuntu 20.04 (#15398)
We discovered[^1] that JRuby 9.2 and 9.3 have an issue when using
FileUtils with Glibc >2.34 (e.g. on Ubuntu 22.04).

This commit switches to Ubuntu 20.04 VM images for building DRA
artifacts with branch 7.17.

Relates: https://github.com/elastic/ingest-dev/issues/1720

[^1]: https://github.com/jruby/jruby/pull/7611#issuecomment-1750387837
2023-10-06 20:54:50 +03:00
Dimitrios Liappis
c85ec893aa
[ci] Backport Buildkite DRA pipeline+scripts to 7.17 (#15393)
This is a backport of the DRA pipeline and related scripts from:

- #15366
- #15365
- #15356
- #15352
- #15344
- #15343
- #15337
- #15312

Note that it's a manual backport because some PRs (e.g. #15312) contain files (`catalog-info.yaml`) that should only
live on the `main` branch.
2023-10-06 09:42:16 +03:00