Commit graph

10155 commits

Author SHA1 Message Date
Ry Biesemeyer
fa3973df96
Bump ES output to include unicode-vs-compression fix (#16012) 2024-03-19 20:13:55 -07:00
github-actions[bot]
937b1c5968
Update patch plugin versions in gemfile lock (#16010)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
2024-03-19 11:20:24 +01:00
github-actions[bot]
8c23b10fcd
Split java/ruby unit test steps on Windows (#15888) (#15994)
As a follow up to #15861 this commit splits the current unit tests step
for the Windows JDK matrix pipeline to two that run
Java and Ruby unit tests separately.

Closes https://github.com/elastic/logstash/issues/15566

(cherry picked from commit c0c213d17e)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-03-11 11:20:12 +02:00
github-actions[bot]
c998741aa5
Fix the Bootstrap check test failure on Windows. (#15975) (#15991)
(cherry picked from commit 19637143e6)

Co-authored-by: Mashhur <99575341+mashhurs@users.noreply.github.com>
2024-03-11 10:15:08 +02:00
github-actions[bot]
b908f6ea1a
Follow up to #15900 -- fix remaining acceptance tests (#15907) (#15953)
PR#15900 missed a few more places where Logstash is installed but
a working minimal pipeline config is added.
This commit fixes that and stabilizes all acceptance tests, thus
minizing the need for time consuming BK retries of corresponding
steps.

Relates #15900
Relates https://github.com/elastic/logstash/issues/15784

(cherry picked from commit 54f73e5d22)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-02-15 12:52:19 +02:00
github-actions[bot]
59b1915250
Fix packaging service check failures (#15946) (#15950)
This commit tightens the checks for the status
output of the Logstash OS service to specifically
scan for `org.logstash.Logstash` rather than
only the jdk path.

The reason is that the startup script first runs
an options parser, and then the logstash process
itself, both referencing the JDK path.

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

(cherry picked from commit eedccea33f)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-02-15 11:13:33 +02:00
Andrea Selva
9da37e2022
Updates JDK bundled in Logstash (#15842) 2024-02-09 13:52:43 +01:00
github-actions[bot]
5d1eef89f3
introduce go.mod for env2yaml (#15921) (#15923)
Update the env2yaml to have a go.mod instead of relying on disabling go modules, otherwise building with golang 1.22 will fail in the future.
This change also directly uses the golang image to build the binary removing the need for an intermediate image.

(cherry picked from commit 5c3e64d591)

Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2024-02-08 18:17:07 +00:00
Mashhur
46df43b677
Version bump to 7.17.19 (#15906) 2024-02-06 09:27:41 -08:00
Dimitrios Liappis
a6839e0c69
Fix service startup with acceptance tests (#15900) (#15905)
This commit fixes the startup of the Logstash service during packaging
tests by adding a minimal pipeline config. Without it, the service was
flapping from start to start and vice versa causing test flakiness.

Relates https://github.com/elastic/logstash/issues/15784

(cherry picked from commit b66dc7f460)
2024-02-06 18:17:06 +02:00
github-actions[bot]
cf3308f5d5
Add retries to acceptance/docker steps in BK (#15901) (#15903)
Similarly to #15874, this commit adds retries
to another group, the acceptance/docker to reduce
build noise from transient issues.

(cherry picked from commit 2fc3f4c21f)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-02-06 16:11:01 +02:00
github-actions[bot]
5a6bbae6b3
Add Debian 12 to CI (#15895) (#15899)
This commit adds Debian 12 (Bookworm) to the
Linux JDK matrix pipeline and Compat Phase of the
exhaustive pipeline respectively.

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

(cherry picked from commit fedcf58c48)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-02-06 09:15:30 +02:00
github-actions[bot]
5cab4c11b2
Release notes for 7.17.18 (#15892)
* Update release notes for 7.17.18

* Revise release note.

---------

Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: Mashhur <mashhur.sattorov@elastic.co>
2024-02-05 13:50:05 -08:00
github-actions[bot]
3420d4c145
Allow running Java+Ruby tests on Windows separately (#15861) (#15887)
This commit allows separate running of Java and Ruby tests on Windows i.e. the same way as we currently do on unix (unit_tests.sh) via a cli argument.
If no argument has been supplied, both tests are run (as it does now).

The wrapper script is also rewritten from old batch style script to Powershell.

This work allows us to split the existing Windows CI job in a subsequent PR to separate steps, as we currently do on Linux.

Relates: https://github.com/elastic/logstash/issues/15566
(cherry picked from commit 8ac55184b8)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-02-01 10:40:44 +02:00
github-actions[bot]
6a1ed267d4
Add retries to JDK matrix pipeline steps (#15877) (#15879)
This commit adds retries to the steps of the Linux + Windows JDK matrix
pipeline steps to avoid notification noise due to transient network
errors.

(cherry picked from commit 3b747d86b8)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-30 18:58:02 +02:00
github-actions[bot]
a44d4bf9f4
Add BK retries to exhaustive/compat steps (#15874) (#15876)
As a follow up to #15787 we also add Buildkite retries for the
exhaustive pipeline / compatibility group steps to prevent
failures due to flakiness.

(cherry picked from commit 88a32cca81)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-30 15:09:05 +02:00
github-actions[bot]
fdf8a22b8f
Remove Ubuntu 18.04 from CI jobs (#15855) (#15860)
Relates https://github.com/elastic/ingest-dev/issues/2849

(cherry picked from commit 3f5b44a1ad)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-26 17:41:21 +02:00
Ry Biesemeyer
b16011a151
bump to 7.17.18 (#15841) 2024-01-23 08:33:54 -08:00
Dimitrios Liappis
72900ae7c6
Fix IT tests after version bumps (#15827) (#15839)
This commit fixes IT failures that frequently occur after
version bumps due to missing unified release snapshot builds for
the new version.

This commit uses project specific DRA snapshot URLs for ES and Filebeat
in all cases apart from release builds.

(cherry picked from commit d74fea4b55)
2024-01-23 16:41:19 +02:00
github-actions[bot]
2424d775f6
Release notes for 7.17.17 (#15831)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
Co-authored-by: Ry Biesemeyer <yaauie@users.noreply.github.com>
Co-authored-by: Karen Metts <35154725+karenzone@users.noreply.github.com>
2024-01-22 17:55:02 -05:00
github-actions[bot]
a2f258c0fb
Fix acceptance/packaging upgrade test near a release (#15826) (#15830)
The current mechanism of discovering the latest released version per
branch (via ARTIFACTS_API) isn't foolproof near the time of a new
release, as it may be pick a version that hasn't been released
yet. This leads to failures[^1] of the packaging upgrade tests, as we
attempt to download a package file that doesn't exist yet.

This commit switches to an API that that is more up to date regarding
the release version truth.

[^1]: https://buildkite.com/elastic/logstash-exhaustive-tests-pipeline/builds/125#018d319b-9a33-4306-b7f2-5b41937a8881/1033-1125

(cherry picked from commit 15e19a96c2)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-22 21:21:14 +02:00
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
github-actions[bot]
438a6cf6f9
Fix flaky logstash-plugin IT test (#15803) (#15818)
This commit fixes the flaky IT test:
`install non bundle plugin successfully installs the plugin with debug enabled`
by being a bit more lenient with the output which can get garbled by Bundler.

Closes #15801

(cherry picked from commit fc09ad4112)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-18 15:33:20 +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
Dimitrios Liappis
e74c0679fd
Refactor qa/acceptance tests to get away from vagrant (#15696) (#15754)
This commit modernizes the qa/acceptance (packaging) test framework by
moving away from Vagrant and having the tests operate locally.

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

(cherry picked from commit cebe4a7537)
2024-01-17 09:55:40 +02:00
github-actions[bot]
d397a4d978
Update patch plugin versions in gemfile lock (#15811)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
2024-01-16 10:45:27 -08: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
github-actions[bot]
a98b3550ad
Add retries to PR pipeline steps (#15787) (#15792)
There is occasional flakiness mainly with IT tests requiring us to
manually retry such failures when we raise PR (or the first
group of the exhaustive suite, which runs the same steps).

This commit adds up to 3 retries for all the steps of the PR
pipeline.

(cherry picked from commit 739e8a3ef0)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-11 16:57:47 +02:00
Andrea Selva
f254443dc6
Update Puma on 7.17 (#15774)
* Update Puma on 7.17
2024-01-10 11:27:37 +01: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]
5f0838c0b6
Pin childprocess gem to major version 4 (#15758) (#15762)
This commit pins the `childprocess` gem to version `4` since version `5.0.0` of
https://github.com/enkessler/childprocess/pull/175 seems to have broken JRuby support for spawning.

Closes https://github.com/elastic/logstash/issues/15757

Co-authored-by: Andrea Selva <selva.andre@gmail.com>
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
(cherry picked from commit 9f1d55c6a2)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-08 19:01:57 +02:00
github-actions[bot]
23071f575f
JUnit result annotation for Buildkite PR jobs (#15741) (#15746)
This commit adds annotations for Java unit tests (in the pull request pipeline) helping
identify failing unit tests quickly.

(cherry picked from commit 286088915f)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-04 17:49:32 +02:00
github-actions[bot]
82b2b9609b
Skip input step when triggering JDK matrix jobs (#15733) (#15736)
PR#15729 missed the input step. As a result when the job is triggered
the steps are executed, but the pause icon still shows in the job
requiring manual unblock[^1]

This commit also skips the input step when the job is triggered from
the scheduler pipeline.

[^1] https://buildkite.com/elastic/logstash-linux-jdk-matrix-pipeline/builds/86

(cherry picked from commit a8b64a32e9)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-02 14:36:03 +02:00
github-actions[bot]
a25ba1c858
Don't block triggered JDK matrix Buildkite jobs (#15729) (#15732)
The recent PRs #15668 and #15705 refactored jobs with a custom schedule
to leverage a centralized trigger pipeline.

An unexpected sideffect of this is that the conditional for the wait
step doesn't work anymore.

This commit skips the wait step when the JDK matrix pipelines get triggered
from another pipeline.

(cherry picked from commit 82ac474b13)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2024-01-02 11:59:29 +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]
edd6c5acef
[ci] Reusable unit + IT test steps for Buildkite (#15708) (#15713)
This commit is a pre-requisite for adding unit + IT tests in a
dedicated phase of the Exhaustive tests pipeline.

It refactors the tests currently used by PR jobs, so that they become
reusable.

(cherry picked from commit 03d7b59f2a)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-12-20 18:50:37 +02:00
João Duarte
4b29dac252
bump to 7.17.17 (#15683) 2023-12-12 10:08:50 +00:00
github-actions[bot]
089bfe9e53
Release notes for 7.17.16 (#15659)
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
2023-12-07 09:13:45 -05:00
github-actions[bot]
a461023f5a
Shutdown DLQ segments flusher only if it has been started (#15649) (#15657)
In DLQ unit testing sometime the DLQ writer is started explicitly without starting the segments flushers. In such cases the test 's logs contains exceptions which could lead to think that the test fails silently.

Avoid to invoke scheduledFlusher's shutdown when it's not started (such behaviour is present only in tests).

(cherry picked from commit eddd91454f)

Co-authored-by: Andrea Selva <selva.andre@gmail.com>
2023-12-05 12:59:04 +01:00
github-actions[bot]
32ca361cd4
Update patch plugin versions in gemfile lock (#15652)
Co-authored-by: logstashmachine <43502315+logstashmachine@users.noreply.github.com>
2023-12-04 15:50:44 +00: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
Dimitrios Liappis
6b88748221
[ci] Switch to Adoptium JDK 11 for Jenkins CI (#15635)
This commit is a manual backport of #15628 on the 7.17 branch.
Since 7.17 uses Java 11, we switch to the adoptium variant, which is
still receiving updates (latest available is `11.0.21+9` as of now.)
2023-11-29 12:49:11 +02:00
github-actions[bot]
fff1b277b2
[ci] Switch to Adoptium distro for JDK 11 (#15629) (#15634)
AdoptOpenJDK is nowadays Adoptium, so we replace it in favor of
the latter which is actively maintained.

Relates https://github.com/elastic/logstash/pull/15628

(cherry picked from commit 6446bba962)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-29 12:21:19 +02:00
github-actions[bot]
807530b99a
[ci] Fix scheduled JDK matrix CI jobs (#15623) (#15626)
This commit fixes failed scheduled JDK matrix CI jobs, that
can't access the default values for the OS and JDK from the input
steps, as observed in [^1] and [^2].

[^1] https://buildkite.com/elastic/logstash-linux-jdk-matrix-pipeline/builds/53#018c1371-b760-4c28-9203-340c0a1df150
[^2]: https://buildkite.com/elastic/logstash-windows-jdk-matrix-pipeline/builds/35#018c1371-b72e-48b4-b707-ce103eb6039c

(cherry picked from commit f0019bf33c)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-28 16:32:52 +02:00
github-actions[bot]
1e61146288
[ci] Initial Exhaustive tests Buildkite pipeline (#15607) (#15616)
This commit adds a skeleton Buildkite pipeline for the Exhaustive tests
suite.

(cherry picked from commit db50983ab5)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-27 12:25:59 +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]
440cfb464e
[ci] Fix image name for Rocky Linux 8 (#15584) (#15588)
Fix typo for image name of Rocky Linux 8 for JDK matrix jobs.

(cherry picked from commit ce63ea4a51)

Co-authored-by: Dimitrios Liappis <dimitrios.liappis@gmail.com>
2023-11-15 10:17:44 +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