Skip to content

Commit

Permalink
Moved winlogbeat pipeline to central pipeline (#38926)
Browse files Browse the repository at this point in the history
* updated common.sh

* updated cnetral pipleine with winlogbeat

* fixed typo

(cherry picked from commit 2250273)
  • Loading branch information
oakrizan committed Apr 19, 2024
1 parent fe95534 commit 69a6e4c
Show file tree
Hide file tree
Showing 3 changed files with 159 additions and 30 deletions.
26 changes: 26 additions & 0 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -340,3 +340,29 @@ steps:
- BUILDKITE_PULL_REQUEST=${BUILDKITE_PULL_REQUEST}
- BUILDKITE_PULL_REQUEST_BASE_BRANCH=${BUILDKITE_PULL_REQUEST_BASE_BRANCH}
- GITHUB_PR_LABELS=${GITHUB_PR_LABELS}

- label: "Trigger Winlogbeat"
plugins:
- monorepo-diff#v1.0.1:
diff: "git diff --name-only origin/${GITHUB_PR_TARGET_BRANCH}...HEAD"
watch:
- path:
- winlogbeat/
- .buildkite/winlogbeat/pipeline.winlogbeat.yml
- .buildkite/scripts
- .buildkite/hooks
#OSS
- go.mod
- pytest.ini
- dev-tools/
- libbeat/
- testing/
config:
trigger: "beats-winlogbeat"
build:
commit: "${BUILDKITE_COMMIT}"
branch: "${BUILDKITE_BRANCH}"
env:
- BUILDKITE_PULL_REQUEST=${BUILDKITE_PULL_REQUEST}
- BUILDKITE_PULL_REQUEST_BASE_BRANCH=${BUILDKITE_PULL_REQUEST_BASE_BRANCH}
- GITHUB_PR_LABELS=${GITHUB_PR_LABELS}
1 change: 0 additions & 1 deletion .buildkite/scripts/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ XPACK_MODULE_PATTERN="^x-pack\\/[a-z0-9]+beat\\/module\\/([^\\/]+)\\/.*"
# define if needed run the whole pipeline for the particular beat
[ -z "${run_filebeat+x}" ] && run_filebeat="$(buildkite-agent meta-data get run_filebeat --default "false")"
[ -z "${run_packetbeat+x}" ] && run_packetbeat="$(buildkite-agent meta-data get run_packetbeat --default "false")"
[ -z "${run_winlogbeat+x}" ] && run_winlogbeat="$(buildkite-agent meta-data get run_winlogbeat --default "false")"
[ -z "${run_xpack_libbeat+x}" ] && run_xpack_libbeat="$(buildkite-agent meta-data get run_xpack_libbeat --default "false")"
[ -z "${run_xpack_metricbeat+x}" ] && run_xpack_metricbeat="$(buildkite-agent meta-data get run_xpack_metricbeat --default "false")"
[ -z "${run_xpack_packetbeat+x}" ] && run_xpack_packetbeat="$(buildkite-agent meta-data get run_xpack_packetbeat --default "false")"
Expand Down
162 changes: 133 additions & 29 deletions .buildkite/winlogbeat/pipeline.winlogbeat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,48 +2,152 @@
name: "beats-winlogbeat"

env:
BEATS_PROJECT_NAME: "winlogbeat"
GCP_DEFAULT_MACHINE_TYPE: "c2d-highcpu-8"
GCP_HI_PERF_MACHINE_TYPE: "c2d-highcpu-16"
GCP_WIN_MACHINE_TYPE: "n2-standard-8"

IMAGE_UBUNTU_X86_64: "family/platform-ingest-beats-ubuntu-2204"
IMAGE_WIN_10: "family/platform-ingest-beats-windows-10"
IMAGE_WIN_11: "family/platform-ingest-beats-windows-11"
IMAGE_WIN_2016: "family/platform-ingest-beats-windows-2016"
IMAGE_WIN_2019: "family/platform-ingest-beats-windows-2019"
IMAGE_WIN_2022: "family/platform-ingest-beats-windows-2022"

#Packaging
PACKAGING_ARM_PLATFORMS: "linux/arm64"
PACKAGING_PLATFORMS: "+all linux/amd64 linux/arm64 windows/amd64 darwin/amd64 darwin/arm64"

#Deps
# Other deps
ASDF_MAGE_VERSION: 1.15.0

steps:
- group: "Winlogbeat Mandatory Tests"
key: "winlogbeat-mandatory-tests"

steps:
- label: ":ubuntu: Winlogbeat Crossccompile"
key: "mandatory-cross-compile"
command: "make -C winlogbeat crosscompile"
agents:
provider: "gcp"
image: "${IMAGE_UBUNTU_X86_64}"
machineType: "${GCP_DEFAULT_MACHINE_TYPE}"
artifact_paths:
- "winlogbeat/build/*.xml"
- "winlogbeat/build/*.json"
notify:
- github_commit_status:
context: "Winlogbeat: Crosscompile"

- label: ":windows: Winlogbeat Win-2016 Unit Tests"
command: |
Set-Location -Path winlogbeat
mage build unitTest
key: "mandatory-win-2016-unit-tests"
agents:
provider: "gcp"
image: "${IMAGE_WIN_2016}"
machine_type: "${GCP_WIN_MACHINE_TYPE}"
disk_size: 100
disk_type: "pd-ssd"
artifact_paths:
- "winlogbeat/build/*.xml"
- "winlogbeat/build/*.json"
notify:
- github_commit_status:
context: "Winlogbeat: Win-2016 Unit Tests"

- label: ":windows: Winlogbeat Win-2019 Unit Tests"
command: |
Set-Location -Path winlogbeat
mage build unitTest
key: "mandatory-win-2019-unit-tests"
agents:
provider: "gcp"
image: "${IMAGE_WIN_2019}"
machineType: "${GCP_WIN_MACHINE_TYPE}"
disk_size: 100
disk_type: "pd-ssd"
artifact_paths:
- "winlogbeat/build/*.xml"
- "winlogbeat/build/*.json"
notify:
- github_commit_status:
context: "Winlogbeat: Win-2019 Unit Tests"

- input: "Input Parameters"
key: "input-run-all-stages"
fields:
- select: "Winlogbeat - run_winlogbeat"
key: "run_winlogbeat"
options:
- label: "True"
value: "true"
- label: "False"
value: "false"
default: "false"
if: "build.source == 'ui'"
- label: ":windows: Winlogbeat Win-2022 Unit Tests"
command: |
Set-Location -Path winlogbeat
mage build unitTest
key: "mandatory-win-2022-unit-tests"
agents:
provider: "gcp"
image: "${IMAGE_WIN_2022}"
machine_type: "${GCP_WIN_MACHINE_TYPE}"
disk_size: 100
disk_type: "pd-ssd"
artifact_paths:
- "winlogbeat/build/*.xml"
- "winlogbeat/build/*.json"
notify:
- github_commit_status:
context: "Winlogbeat: Win-2022 Unit Tests"

- group: "Winlogbeat Extended Windows Tests"
key: "winlogbeat-extended-win-tests"
if: build.env("BUILDKITE_PULL_REQUEST") == "false" || build.env("GITHUB_PR_LABELS") =~ /.*[Ww]indows.*/

steps:
- label: ":windows: Winlogbeat Win-10 Unit Tests"
command: |
Set-Location -Path winlogbeat
mage build unitTest
key: "extended-win-10-unit-tests"
agents:
provider: "gcp"
image: "${IMAGE_WIN_10}"
machineType: "${GCP_WIN_MACHINE_TYPE}"
disk_size: 100
disk_type: "pd-ssd"
artifact_paths:
- "winlogbeat/build/*.xml"
- "winlogbeat/build/*.json"
notify:
- github_commit_status:
context: "Winlogbeat: Win-10 Unit Tests"

- label: ":windows: Winlogbeat Win-11 Unit Tests"
command: |
Set-Location -Path winlogbeat
mage build unitTest
key: "extended-win-11-unit-tests"
agents:
provider: "gcp"
image: "${IMAGE_WIN_11}"
machineType: "${GCP_WIN_MACHINE_TYPE}"
disk_size: 100
disk_type: "pd-ssd"
artifact_paths:
- "winlogbeat/build/*.xml"
- "winlogbeat/build/*.json"
notify:
- github_commit_status:
context: "Winlogbeat: Win-11 Unit Tests"

- wait: ~
if: "build.source == 'ui'"
allow_dependency_failure: false

- label: ":linux: Load dynamic winlogbeat pipeline"
key: "winlogbeat-pipeline"
command: ".buildkite/scripts/generate_winlogbeat_pipeline.sh"
agents:
image: "docker.elastic.co/ci-agent-images/platform-ingest/buildkite-agent-beats-ci:latest"
notify:
- github_commit_status:
context: "${BEATS_PROJECT_NAME}: Load dynamic pipeline's steps"
if: build.env("BUILDKITE_PULL_REQUEST") != "false"
depends_on: "winlogbeat-mandatory-tests"

- group: "Winlogbeat Packaging"
key: "winlogbeat-packaging"
steps:
- label: ":ubuntu: Winlogbeat Packaging Ubuntu x86_64"
key: "packaging-linux"
command: |
cd winlogbeat
mage package
agents:
provider: "gcp"
image: "${IMAGE_UBUNTU_X86_64}"
machineType: "${GCP_HI_PERF_MACHINE_TYPE}"
env:
PLATFORMS: "+all linux/amd64 linux/arm64 windows/amd64 darwin/amd64 darwin/arm64"
notify:
- github_commit_status:
context: "Winlogbeat: Packaging Ubuntu x86_64"

0 comments on commit 69a6e4c

Please sign in to comment.