Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI] Enable build stage for arm architecture #21284

Merged
merged 136 commits into from
Oct 15, 2020
Merged
Show file tree
Hide file tree
Changes from 120 commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
ac465eb
[CI] Pipeline 2.0 for monorepos
v1v Jul 21, 2020
aa6a07a
Update auditbeat/Jenkinsfile.yml
v1v Jul 23, 2020
1b91c12
Update auditbeat/Jenkinsfile.yml
v1v Jul 23, 2020
8175b5a
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Jul 27, 2020
7183f93
[CI] 2.0 YAML to dynamic stage generations
v1v Jul 27, 2020
4290714
Merge branch 'feature/ci-pipeline-2.0' of github.com:v1v/beats into f…
v1v Jul 27, 2020
ca9a5a6
Use shared library
v1v Jul 27, 2020
56c45d5
Use beatsWhen and beatsStages
v1v Jul 28, 2020
778da9e
Revert "Use beatsWhen and beatsStages"
v1v Jul 28, 2020
daf8fb1
Simplify
v1v Jul 28, 2020
fcab64b
Refactor
v1v Jul 28, 2020
6a0f1bd
Add run commands
v1v Jul 28, 2020
a8cc866
use nodeOS step
v1v Jul 28, 2020
14e039d
Fix GO_VERSION
v1v Jul 28, 2020
7660a6d
Transform to String
v1v Jul 28, 2020
35d30be
Use method-pointer-operator
v1v Jul 28, 2020
6be81e2
replace with isInstalled
v1v Jul 28, 2020
e874d54
Fix the YAML data
v1v Jul 28, 2020
05baf2e
Use node
v1v Jul 28, 2020
2a668df
sort variables
v1v Jul 28, 2020
b22f34a
Use string rather than a list
v1v Jul 29, 2020
8126103
[CI] verbose and added some missing functions
v1v Jul 29, 2020
c5a55db
Use the right arguments
v1v Jul 29, 2020
02e0303
Use the directory flag in the make
v1v Jul 29, 2020
11653c0
Revert "Use the directory flag in the make"
v1v Jul 29, 2020
52ec93e
directoryFlag not required
v1v Jul 29, 2020
1412871
Archive build reasons
v1v Jul 29, 2020
bd853af
Support windows builds
v1v Jul 29, 2020
bc5a6a5
Tear down environment context in the workers
v1v Jul 29, 2020
2df49f8
[CI] support x-pack/auditbeat and minor changes
v1v Jul 29, 2020
40723af
Support MODULE env variable
v1v Jul 29, 2020
a3d9a5c
Build reasons pattern file changed
v1v Jul 29, 2020
8902166
Support runbld and test reporting
v1v Jul 29, 2020
21b7876
[markdown] add PR comments that are supported
v1v Jul 29, 2020
e6acb6f
[CI] Update README.md with CI Labels
v1v Jul 29, 2020
9f2b923
Fix step reference
v1v Jul 29, 2020
09262e5
Disable tests for the x-pack/auditbeat
v1v Jul 29, 2020
6e1e068
Support filebeat
v1v Jul 29, 2020
08d0d4a
Support x-pack/filebeat
v1v Jul 29, 2020
4a6f8d1
Support packetbeat
v1v Jul 29, 2020
35dfdb4
Support metricbeat
v1v Jul 29, 2020
f00ca46
[IGNORE] unitTest for the timebeing
v1v Jul 29, 2020
c6c9ea8
Add configuration for the remaining beats
v1v Jul 30, 2020
3ebe3e0
Refactor getCommonModuleInTheChangeSet
v1v Jul 30, 2020
aa672c3
[CI] Cosmetic change
v1v Jul 30, 2020
5867081
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Jul 30, 2020
abd6589
Fix leftover and add comments
v1v Jul 30, 2020
1d4ea16
Fix leftovers
v1v Jul 30, 2020
1e3d9b2
Disable linting for the time being with some TODO
v1v Jul 30, 2020
4e1d3a1
[CI] Script to generate the build-stage table
v1v Jul 30, 2020
4b8466b
[docs] Add when in the table markdown
v1v Jul 30, 2020
a361e8d
[CI] support deploy/kubernetes
v1v Jul 30, 2020
ce7e02b
[CI] support cloud aws for x-pack/metricbeats
v1v Jul 30, 2020
f2cdc17
Fix typo
v1v Jul 30, 2020
38ea5dd
[CI] It uses another node
v1v Jul 30, 2020
f3beedc
Use context that's populated from the beatsStages step
v1v Jul 30, 2020
f99006c
[DOCS] Add when column with some legend
v1v Jul 30, 2020
eff00d7
No yet supported
v1v Jul 30, 2020
d0d8d73
Enable AWS testing for the time being
v1v Jul 30, 2020
6e381fa
For debugging purposes
v1v Jul 30, 2020
d80a490
Dump and support x-pack/winlogbeat
v1v Jul 30, 2020
f9bd227
Refactor makeTarget and mageTarget with target
v1v Jul 30, 2020
ac360da
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Jul 30, 2020
3936430
Fix typo in the variable name
v1v Jul 30, 2020
ae322e3
Support getProjectDependencies in the beatsWhen
v1v Jul 30, 2020
7b8822c
no debug in the CI for now
v1v Jul 30, 2020
83efbc5
Terraform leftovers in the CI
v1v Jul 30, 2020
76a90ae
Add missing goals since tests are not failing anymore
v1v Jul 31, 2020
1624b54
Support testGCPFunctions
v1v Jul 31, 2020
13fb5f0
Set the project dependencies for the generators using the special tok…
v1v Jul 31, 2020
5a22d2f
Use eval gvm to avoid hardcoded PATHs
v1v Jul 31, 2020
e25ba73
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Jul 31, 2020
b5f99de
Fix linting issues with autopep8
v1v Jul 31, 2020
269dee5
Folder is not required since the caller already configured it
v1v Jul 31, 2020
196e6bd
Fix runbld issue
v1v Jul 31, 2020
5785585
Refactor a bit the cloud target
v1v Jul 31, 2020
4e27aa1
Refactor getProjectDependencies
v1v Jul 31, 2020
414a8f0
Use ubuntu-18 and disable windows-2016
v1v Jul 31, 2020
9e97630
[runbld] debug what's going on
v1v Jul 31, 2020
f4cd74c
Avoid to error if no Go files in
v1v Jul 31, 2020
7339f12
[ci] use previous approach to support docker for mac issues
v1v Jul 31, 2020
9727b52
[POC] Prepare context for the skip/draft PRs
v1v Jul 31, 2020
a492e6b
[RUNBLD] force JOB-NAME to match
v1v Jul 31, 2020
35b6b37
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Jul 31, 2020
6fa6d3a
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Aug 6, 2020
5893c8f
[CI] runbld support
v1v Aug 6, 2020
f701834
[CI] force cwd and pass the id args
v1v Aug 6, 2020
0395eb8
fixes The most common cause is that Jenkins and runbld are configured…
v1v Aug 6, 2020
2f21086
Tests need to be stored in the workspace
v1v Aug 6, 2020
23c69ce
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Aug 12, 2020
d431b02
Test AWS
v1v Aug 12, 2020
1faa11d
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Sep 2, 2020
993f336
Revert "Test AWS"
v1v Sep 3, 2020
46c3ad9
[CI] Fix params name
v1v Sep 3, 2020
9ce54de
Disable cloud as long as https://github.com/elastic/beats/issues/2095…
v1v Sep 3, 2020
a3da232
Fix wound up catching method mismatch with this.& by using a Class-
v1v Sep 3, 2020
289d5ff
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Sep 3, 2020
df6ebd5
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Sep 3, 2020
b08c40a
Enable cloud stages
v1v Sep 3, 2020
bba848d
Apply suggestions from code review
v1v Sep 14, 2020
bb7cd78
Update .ci/Jenkinsfile
v1v Sep 14, 2020
61621c5
Update .ci/Jenkinsfile
v1v Sep 14, 2020
34955f2
As commented in the review
v1v Sep 15, 2020
987d880
As commented in the review
v1v Sep 15, 2020
8374f56
Enable target without a node
v1v Sep 16, 2020
5bda33f
Revert "Enable target without a node"
v1v Sep 17, 2020
b4a1faf
Simplify the lint stage compared to the previous approach
v1v Sep 17, 2020
4c7e8da
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Sep 17, 2020
20788d9
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Sep 18, 2020
32f0c6c
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Sep 18, 2020
c59bffe
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Sep 24, 2020
d733967
[CI] add arm build for auditbeat
v1v Sep 24, 2020
6e9f8bc
chore: for testing purposes
v1v Sep 24, 2020
8d33c8e
Add arm parameter
v1v Sep 24, 2020
87673f0
chore: disable for testing purposes
v1v Sep 24, 2020
3b07830
Support ARM arch
v1v Sep 24, 2020
009e958
Support ARM arch in the pipeline
v1v Sep 24, 2020
8a6f2d2
chore: disable for testing purposes
v1v Sep 24, 2020
f7163da
chore: test changes in the library
v1v Sep 24, 2020
b3f75a8
Support unitTest in ARM
v1v Sep 24, 2020
bb014ca
Support test in ARM
v1v Sep 24, 2020
5b51b15
Revert "chore: for testing purposes"
v1v Sep 24, 2020
8bb0bb9
Add remaining beats
v1v Sep 24, 2020
fb1171f
Revert "chore: disable for testing purposes"
v1v Sep 24, 2020
2e425bd
Add when conditions
v1v Sep 24, 2020
e018650
Reorder with alphabetic order
v1v Sep 24, 2020
de33bc2
Use unitTest since ITs require docker
v1v Sep 24, 2020
2830182
Disable arm builds in metricbeats
v1v Sep 24, 2020
ce70a4f
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Sep 24, 2020
7f2fb7f
Cherry-pick 009e958a2d000f707d0ded442ffca2af9d9468da and 8d33c8e295f5…
v1v Sep 24, 2020
83f8acf
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Oct 2, 2020
1083b98
Timout might happen a bit often if we have only one resource for arm
v1v Oct 2, 2020
2c87233
Enable on branches/tags
v1v Oct 2, 2020
fdb0d70
Fix typo
v1v Oct 2, 2020
e60b7d6
Merge remote-tracking branch 'upstream/master' into feature/ci-pipeli…
v1v Oct 14, 2020
b2fbc1b
Update Jenkinsfile
v1v Oct 14, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
648 changes: 648 additions & 0 deletions .ci/Jenkinsfile

Large diffs are not rendered by default.

52 changes: 52 additions & 0 deletions .ci/scripts/generate_build_table.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/usr/bin/env python3

import os
import yaml

if __name__ == "__main__":

print("| Beat | Stage | Command | MODULE | Platforms | When |")
print("|-------|--------|----------|---------|------------|------|")
for root, dirs, files in os.walk("."):
dirs.sort()
for file in files:
if file.endswith("Jenkinsfile.yml") and root != ".":
with open(os.path.join(root, file), 'r') as f:
doc = yaml.load(f, Loader=yaml.FullLoader)
module = root.replace(".{}".format(os.sep), '')
platforms = [doc["platform"]]
when = ""
if "branches" in doc["when"]:
when = f"{when}/:palm_tree:"
if "changeset" in doc["when"]:
when = f"{when}/:file_folder:"
if "comments" in doc["when"]:
when = f"{when}/:speech_balloon:"
if "labels" in doc["when"]:
when = f"{when}/:label:"
if "parameters" in doc["when"]:
when = f"{when}/:smiley:"
if "tags" in doc["when"]:
when = f"{when}/:taco:"
for stage in doc["stages"]:
withModule = False
if "make" in doc["stages"][stage]:
command = doc["stages"][stage]["make"]
if "mage" in doc["stages"][stage]:
command = doc["stages"][stage]["mage"]
if "platforms" in doc["stages"][stage]:
platforms = doc["stages"][stage]["platforms"]
if "withModule" in doc["stages"][stage]:
withModule = doc["stages"][stage]["withModule"]
if "when" in doc["stages"][stage]:
when = f"{when}/:star:"
print("| {} | {} | `{}` | {} | `{}` | {} |".format(
module, stage, command, withModule, platforms, when))

print("> :palm_tree: -> Git Branch based")
print("> :label: -> GitHub Pull Request Label based")
print("> :file_folder: -> Changeset based")
print("> :speech_balloon: -> GitHub Pull Request comment based")
print("> :taco: -> Git tag based")
print("> :smiley: -> Manual UI interaction based")
print("> :star: -> More specific cases based")
16 changes: 16 additions & 0 deletions .ci/scripts/get-vendor-dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env bash
#
# Given the go module it will list all the dependencies that will be later on
# used by the CI to enable/disable specific stages as long as the changeset
# matches any of those patterns.
#

GO_VERSION=${GO_VERSION:?"GO_VERSION environment variable is not set"}
BEATS=${1:?"parameter missing."}
eval "$(gvm "${GO_VERSION}")"

go list -deps ./"${BEATS}" \
| grep 'elastic/beats' \
| sort \
| sed -e "s#github.com/elastic/beats/v7/##g" \
| awk '{print "^" $1 "/.*"}'
15 changes: 13 additions & 2 deletions .ci/scripts/install-go.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ MSG="environment variable missing"
GO_VERSION=${GO_VERSION:?$MSG}
PROPERTIES_FILE=${PROPERTIES_FILE:-"go_env.properties"}
HOME=${HOME:?$MSG}
ARCH=$(uname -s| tr '[:upper:]' '[:lower:]')
OS=$(uname -s| tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m| tr '[:upper:]' '[:lower:]')
GVM_CMD="${HOME}/bin/gvm"

if command -v go
Expand All @@ -19,10 +20,20 @@ then
fi
fi

if [ "${ARCH}" == "aarch64" ] ; then
GVM_ARCH_SUFFIX=arm64
elif [ "${ARCH}" == "x86_64" ] ; then
GVM_ARCH_SUFFIX=amd64
elif [ "${ARCH}" == "i686" ] ; then
GVM_ARCH_SUFFIX=386
else
GVM_ARCH_SUFFIX=arm
fi

echo "UNMET DEP: Installing Go"
mkdir -p "${HOME}/bin"

curl -sSLo "${GVM_CMD}" "https://github.com/andrewkroh/gvm/releases/download/v0.2.2/gvm-${ARCH}-amd64"
curl -sSLo "${GVM_CMD}" "https://github.com/andrewkroh/gvm/releases/download/v0.2.2/gvm-${OS}-${GVM_ARCH_SUFFIX}"
chmod +x "${GVM_CMD}"

gvm ${GO_VERSION}|cut -d ' ' -f 2|tr -d '\"' > ${PROPERTIES_FILE}
Expand Down
7 changes: 7 additions & 0 deletions .ci/scripts/install-tools.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -exuo pipefail

.ci/scripts/install-go.sh
.ci/scripts/install-docker-compose.sh
.ci/scripts/install-terraform.sh
make mage
47 changes: 47 additions & 0 deletions Jenkinsfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
projects:
- "auditbeat"
#- "deploy/kubernetes"
#- "filebeat"
#- "generator"
#- "heartbeat"
#- "journalbeat"
#- "libbeat"
#- "metricbeat"
#- "packetbeat"
#- "winlogbeat"
#- "x-pack/auditbeat"
#- "x-pack/dockerlogbeat"
#- "x-pack/elastic-agent"
#- "x-pack/filebeat"
#- "x-pack/functionbeat"
#- "x-pack/libbeat"
#- "x-pack/metricbeat"
#- "x-pack/winlogbeat"
##- "x-pack/heartbeat" It's not yet in the 1.0 pipeline.
##- "x-pack/journalbeat" It's not yet in the 1.0 pipeline.
##- "x-pack/packetbeat" It's not yet in the 1.0 pipeline.

## Changeset macros that are defined here and used in each specific 2.0 pipeline.
changeset:
ci:
- "^Jenkinsfile"
- "^\\.ci/scripts/.*"
oss:
- "^go.mod"
- "^dev-tools/.*"
- "^libbeat/.*"
- "^testing/.*"
xpack:
- "^go.mod"
- "^dev-tools/.*"
- "^libbeat/.*"
- "^testing/.*"
- "^x-pack/libbeat/.*"

## Proposal
## TBC: This will allow to configure what to do based on the PR configuration
disabled:
when:
labels: ## Skip the GitHub Pull Request builds if there is a GitHub label match
- "skip-ci"
draft: true ## Skip the GitHub Pull Request builds with Draft PRs.
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,19 +93,30 @@ For testing purposes, we generate snapshot builds that you can find [here](https

## CI

### PR Comments

It is possible to trigger some jobs by putting a comment on a GitHub PR.
(This service is only available for users affiliated with Elastic and not for open-source contributors.)

* [beats][]
* `jenkins run the tests please` or `jenkins run tests` or `/test` will kick off a default build.
* `/test macos` will kick off a default build with also the `macos` stages.
* `/test <beat-name>` will kick off the default build for the given PR in addition to the `<beat-name>` build itself.
* `/test <beat-name> for macos` will kick off a default build with also the `macos` stage for the `<beat-name>`.
* [apm-beats-update][]
* `/run apm-beats-update`
* [apm-beats-packaging][]
* `/package` or `/packaging` will kick of a build to generate the packages for beats.
* [apm-beats-tester][]
* `/beats-tester` will kick of a build to validate the generated packages.

### PR Labels

It's possible to configure the build on a GitHub PR by labelling the PR with the below labels

* `<beat-name>` to force the following builds to run the stages for the `<beat-name>`
* `macOS` to force the following builds to run the `macos` stages.

[beats]: https://beats-ci.elastic.co/job/Beats/job/beats/
[apm-beats-update]: https://beats-ci.elastic.co/job/Beats/job/apm-beats-update/
[apm-beats-packaging]: https://beats-ci.elastic.co/job/Beats/job/packaging/
Expand Down
19 changes: 19 additions & 0 deletions auditbeat/Jenkinsfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
when:
branches: true ## for all the branches
changeset: ## when PR contains any of those entries in the changeset
- "^auditbeat/.*"
- "@ci" ## special token regarding the changeset for the ci
- "@oss" ## special token regarding the changeset for the oss
comments: ## when PR comment contains any of those entries
- "/test auditbeat"
labels: ## when PR labels matches any of those entries
- "auditbeat"
parameters: ## when parameter was selected in the UI.
- "auditbeat"
tags: true ## for all the tags
platform: "linux && ubuntu-18" ## default label for all the stages
stages:
arm:
mage: "mage build unitTest"
platforms: ## override default label in this specific stage.
- "arm"
15 changes: 15 additions & 0 deletions deploy/kubernetes/Jenkinsfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
when:
branches: true ## for all the branches
changeset: ## when PR contains any of those entries in the changeset
- "^deploy/kubernetes/.*"
comments: ## when PR comment contains any of those entries
- "/test deploy/kubernetes"
labels: ## when PR labels matches any of those entries
- "kubernetes"
parameters: ## when parameter was selected in the UI.
- "kubernetes"
tags: true ## for all the tags
platform: "linux && ubuntu-18" ## default label for all the stages
stages:
k8sTest:
k8sTest: "v1.18.2,v1.17.2,v1.16.4,v1.15.7,v1.14.10"
33 changes: 33 additions & 0 deletions filebeat/Jenkinsfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
when:
branches: true ## for all the branches
changeset: ## when PR contains any of those entries in the changeset
- "^filebeat/.*"
- "@ci" ## special token regarding the changeset for the ci
- "@oss" ## special token regarding the changeset for the oss
comments: ## when PR comment contains any of those entries
- "/test filebeat"
labels: ## when PR labels matches any of those entries
- "filebeat"
parameters: ## when parameter was selected in the UI.
- "filebeat"
tags: true ## for all the tags
platform: "linux && ubuntu-18" ## default label for all the stages
stages:
build:
mage: "mage build test"
withModule: true ## run the ITs only if the changeset affects a specific module.
macos:
mage: "mage build unitTest"
platforms: ## override default label in this specific stage.
- "macosx"
when: ## Aggregate when with the top-level one.
comments:
- "/test filebeat for macos"
labels:
- "macOS"
parameters:
- "macosTest"
windows:
mage: "mage build unitTest"
platforms: ## override default labels in this specific stage.
- "windows-2019"
43 changes: 43 additions & 0 deletions generator/Jenkinsfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
when:
branches: true ## for all the branches
changeset: ## when PR contains any of those entries in the changeset
- "^generator/.*"
- "#generator/common/beatgen" ## special token regarding the project dependency
- "#metricbeat/beater" ## special token regarding the project dependency
- "@ci" ## special token regarding the changeset for the ci
- "@oss" ## special token regarding the changeset for the oss
comments: ## when PR comment contains any of those entries
- "/test generator"
labels: ## when PR labels matches any of those entries
- "generator"
parameters: ## when parameter was selected in the UI.
- "generator"
tags: true ## for all the tags
platform: "linux && ubuntu-18" ## default label for all the stages
stages:
metricbeat-test:
make: "make -C generator/_templates/metricbeat test test-package"
beat-test:
make: "make -C generator/_templates/beat test test-package"
macos-metricbeat:
make: "make -C generator/_templates/metricbeat test"
platforms: ## override default label in this specific stage.
- "macosx"
when: ## Aggregate when with the top-level one.
comments:
- "/test generator for macos"
labels:
- "macOS"
parameters:
- "macosTest"
macos-beat:
make: "make -C generator/_templates/beat test"
platforms: ## override default label in this specific stage.
- "macosx"
when: ## Aggregate when with the top-level one.
comments:
- "/test generator for macos"
labels:
- "macOS"
parameters:
- "macosTest"
32 changes: 32 additions & 0 deletions heartbeat/Jenkinsfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
when:
branches: true ## for all the branches
changeset: ## when PR contains any of those entries in the changeset
- "^heartbeat/.*"
- "@ci" ## special token regarding the changeset for the ci
- "@oss" ## special token regarding the changeset for the oss
comments: ## when PR comment contains any of those entries
- "/test heartbeat"
labels: ## when PR labels matches any of those entries
- "heartbeat"
parameters: ## when parameter was selected in the UI.
- "heartbeat"
tags: true ## for all the tags
platform: "linux && ubuntu-18" ## default label for all the stages
stages:
build:
mage: "mage build test"
macos:
mage: "mage build unitTest"
platforms: ## override default label in this specific stage.
- "macosx"
when: ## Aggregate when with the top-level one.
comments:
- "/test heartbeat for macos"
labels:
- "macOS"
parameters:
- "macosTest"
windows:
mage: "mage build unitTest"
platforms: ## override default labels in this specific stage.
- "windows-2019"
17 changes: 17 additions & 0 deletions journalbeat/Jenkinsfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
when:
branches: true ## for all the branches
changeset: ## when PR contains any of those entries in the changeset
- "^journalbeat/.*"
- "@ci" ## special token regarding the changeset for the ci
- "@oss" ## special token regarding the changeset for the oss
comments: ## when PR comment contains any of those entries
- "/test journalbeat"
labels: ## when PR labels matches any of those entries
- "journalbeat"
parameters: ## when parameter was selected in the UI.
- "journalbeat"
tags: true ## for all the tags
platform: "linux && ubuntu-18" ## default label for all the stages
stages:
unitTest:
mage: "mage build unitTest"
20 changes: 20 additions & 0 deletions libbeat/Jenkinsfile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
when:
branches: true ## for all the branches
changeset: ## when PR contains any of those entries in the changeset
- "@ci" ## special token regarding the changeset for the ci
- "@oss" ## special token regarding the changeset for the oss
comments: ## when PR comment contains any of those entries
- "/test libbeat"
labels: ## when PR labels matches any of those entries
- "libbeat"
parameters: ## when parameter was selected in the UI.
- "libbeat"
tags: true ## for all the tags
platform: "linux && ubuntu-18" ## default label for all the stages
stages:
build:
mage: "mage build test"
crosscompile:
make: "make -C libbeat crosscompile"
stress-tests:
make: "make STRESS_TEST_OPTIONS='-timeout=20m -race -v -parallel 1' -C libbeat stress-tests"
Loading