[backport-cloud_asset_inventory-1.3] Sync CI configuration with main branch - #21192
Merged
Conversation
5 tasks
Contributor
🚀 Benchmarks reportPackage
|
| Data stream | Previous EPS | New EPS | Diff (%) | Result |
|---|---|---|---|---|
audit_events |
5952.38 | 4878.05 | -1074.33 (-18.05%) | 💔 |
signin_attempts |
13333.33 | 9345.79 | -3987.54 (-29.91%) | 💔 |
To see the full report comment with /test benchmark fullreport
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
One or more issues must be addressed before approval.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Syncs backport-branch CI workflows, tooling, and automation with main.
Changes:
- Adds the standalone backport CLI for changelog, ownership, inventory, and checklist automation.
- Updates Buildkite and GitHub Actions workflows.
- Removes legacy test-reporting code and adds package-name validation.
File summaries
| File | Description |
|---|---|
| magefile.go | Updated as part of this pull request. |
| go.mod | Updated as part of this pull request. |
| dev/testsreporter/xunit.go | Updated as part of this pull request. |
| dev/testsreporter/testdata/sql_system_1718901944954979316.xml | Updated as part of this pull request. |
| dev/testsreporter/testdata/nats_1718676056733968706.xml | Updated as part of this pull request. |
| dev/testsreporter/testdata/fortinet_fortigate_1718675058322143368.xml | Updated as part of this pull request. |
| dev/testsreporter/testdata/fortinet_fortigate_1718675052813006253.xml | Updated as part of this pull request. |
| dev/testsreporter/testdata/elastic_package_registry_1718676502022628094.xml | Updated as part of this pull request. |
| dev/testsreporter/testdata/CODEOWNERS-default-tests | Updated as part of this pull request. |
| dev/testsreporter/testdata/cisco_umbrella_1718676502022628093.xml | Updated as part of this pull request. |
| dev/testsreporter/testdata/cisco_umbrella_1718675095255991383.xml | Updated as part of this pull request. |
| dev/testsreporter/testdata/cisco_umbrella_1718675095080627646.xml | Updated as part of this pull request. |
| dev/testsreporter/testdata/cisco_umbrella_1718675092421310216.xml | Updated as part of this pull request. |
| dev/testsreporter/packageerror.go | Updated as part of this pull request. |
| dev/testsreporter/packageerror_test.go | Updated as part of this pull request. |
| dev/testsreporter/githubissue.go | Updated as part of this pull request. |
| dev/testsreporter/github.go | Updated as part of this pull request. |
| dev/testsreporter/format.go | Updated as part of this pull request. |
| dev/testsreporter/errorlinks.go | Updated as part of this pull request. |
| dev/testsreporter/dataerror.go | Updated as part of this pull request. |
| dev/testsreporter/builderror.go | Updated as part of this pull request. |
| dev/testsreporter/builderror_test.go | Updated as part of this pull request. |
| dev/testsreporter/_static/summary.tmpl | Updated as part of this pull request. |
| dev/testsreporter/_static/description.tmpl | Updated as part of this pull request. |
| dev/scripts/README.md | Updated as part of this pull request. |
| dev/scripts/get_release_commit.sh | Updated as part of this pull request. |
| dev/scripts/backport_apply.sh | Updated as part of this pull request. |
| dev/packagenames/testdata/no_duplicates/p2/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/testdata/no_duplicates/p1/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/testdata/nested/no_duplicates/technology/p2/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/testdata/nested/no_duplicates/technology/p1/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/testdata/nested/no_duplicates/p3/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/testdata/nested/duplicates/technology/p2/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/testdata/nested/duplicates/technology/p1/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/testdata/nested/duplicates/p3/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/testdata/invalid_manifests/p2/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/testdata/invalid_manifests/p1/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/testdata/duplicates/p2/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/testdata/duplicates/p1/manifest.yml | Updated as part of this pull request. |
| dev/packagenames/packagenames.go | Updated as part of this pull request. |
| dev/packagenames/packagenames_test.go | Updated as part of this pull request. |
| dev/import-beats/README.md | Updated as part of this pull request. |
| dev/gitutil/git.go | Updated as part of this pull request. |
| dev/codeowners/testdata/test_packages/package_1/manifest.yml | Updated as part of this pull request. |
| dev/codeowners/testdata/nested_packages/package_top/manifest.yml | Updated as part of this pull request. |
| dev/codeowners/testdata/nested_packages/category/package_nested_2/manifest.yml | Updated as part of this pull request. |
| dev/codeowners/testdata/nested_packages/category/package_nested_1/manifest.yml | Updated as part of this pull request. |
| dev/codeowners/testdata/nested_packages/category/package_nested_1/data_stream/stream_2/.keep | Updated as part of this pull request. |
| dev/codeowners/testdata/nested_packages/category/package_nested_1/data_stream/stream_1/.keep | Updated as part of this pull request. |
| dev/codeowners/testdata/devexp/manifest.yml | Updated as part of this pull request. |
| dev/codeowners/testdata/CODEOWNERS-owners-trailing-slash | Updated as part of this pull request. |
| dev/codeowners/testdata/CODEOWNERS-nested-valid | Updated as part of this pull request. |
| dev/codeowners/testdata/CODEOWNERS-nested-streams-valid | Updated as part of this pull request. |
| dev/codeowners/testdata/CODEOWNERS-nested-streams-missing-owners | Updated as part of this pull request. |
| dev/codeowners/testdata/CODEOWNERS-nested-missing-owner | Updated as part of this pull request. |
| dev/codeowners/testdata/CODEOWNERS-nested-category-owner | Updated as part of this pull request. |
| dev/citools/subscription.go | Updated as part of this pull request. |
| dev/citools/packages.go | Updated as part of this pull request. |
| dev/citools/packagemanifest.go | Updated as part of this pull request. |
| dev/citools/logsdb.go | Updated as part of this pull request. |
| dev/citools/logsdb_test.go | Updated as part of this pull request. |
| dev/citools/kibana.go | Updated as part of this pull request. |
| dev/citools/kibana_test.go | Updated as part of this pull request. |
| dev/citools/gomod.go | Updated as part of this pull request. |
| dev/citools/gomod_test.go | Updated as part of this pull request. |
| cmd/backport/tools.go | Updated as part of this pull request. |
| cmd/backport/magefile.go | Updated as part of this pull request. |
| cmd/backport/go.mod | Updated as part of this pull request. |
| cmd/backport/gitutil/git.go | Updated as part of this pull request. |
| cmd/backport/citools/packages.go | Updated as part of this pull request. |
| cmd/backport/citools/packagemanifest.go | Updated as part of this pull request. |
| cmd/backport/backports/packages/detect.go | Updated as part of this pull request. |
| cmd/backport/backports/owners/compare_integration_test.go | Updated as part of this pull request. |
| cmd/backport/backports/owners/check.go | Updated as part of this pull request. |
| cmd/backport/backports/owners/check_test.go | Updated as part of this pull request. |
| cmd/backport/backports/changelog/update.go | Updated as part of this pull request. |
| cmd/backport/backports/changelog/update_test.go | Updated as part of this pull request. |
| cmd/backport/backports/changelog/sync_test.go | Updated as part of this pull request. |
| cmd/backport/backports/changelog/resolve.go | Updated as part of this pull request. |
| cmd/backport/backports/changelog/resolve_test.go | Updated as part of this pull request. |
| cmd/backport/backports/changelog/insert.go | Updated as part of this pull request. |
| cmd/backport/backports/changelog/insert_test.go | Updated as part of this pull request. |
| cmd/backport/backports/changelog/extract.go | Updated as part of this pull request. |
| cmd/backport/backports/changelog/extract_test.go | Updated as part of this pull request. |
| cmd/backport/backports/changelog/comment.go | Updated as part of this pull request. |
| cmd/backport/.go-version | Updated as part of this pull request. |
| .gitignore | Updated as part of this pull request. |
| .github/workflows/validate-yaml-dashboards.requirements.txt | Updated as part of this pull request. |
| .github/workflows/validate-package-docs.yml | Updated as part of this pull request. |
| .github/workflows/vale-report.yml | Updated as part of this pull request. |
| .github/workflows/vale-lint.yml | Updated as part of this pull request. |
| .github/workflows/updatecli/updatecli.d/sync-packages-to-bug-issue-template.yml | Updated as part of this pull request. |
| .github/workflows/trigger-text-auditor.yml | Updated as part of this pull request. |
| .github/workflows/trigger-stale-issues.yml | Updated as part of this pull request. |
| .github/workflows/trigger-pr-review.yml | Updated as part of this pull request. |
| .github/workflows/trigger-pr-actions-detective.yml | Updated as part of this pull request. |
| .github/workflows/trigger-package-tests-security-ml.yml | Updated as part of this pull request. |
| .github/workflows/trigger-newbie-contributor-patrol.yml | Updated as part of this pull request. |
| .github/workflows/trigger-mention-in-pr.yml | Updated as part of this pull request. |
| .github/workflows/trigger-mention-in-issue.yml | Updated as part of this pull request. |
| .github/workflows/trigger-issue-triage.yml | Updated as part of this pull request. |
| .github/workflows/trigger-duplicate-issue-detector.yml | Updated as part of this pull request. |
| .github/workflows/trigger-docs-patrol.yml | Updated as part of this pull request. |
| .github/workflows/trigger-bug-hunter.yml | Updated as part of this pull request. |
| .github/workflows/trigger-breaking-change-detector.yml | Updated as part of this pull request. |
| .github/workflows/sync-backport-changelog.yml | Updated as part of this pull request. |
| .github/workflows/sweep-ingest-pipeline-safety.yml | Updated as part of this pull request. |
| .github/workflows/sweep-httpjson-pagination.yml | Updated as part of this pull request. |
| .github/workflows/sweep-field-mapping-conflicts.yml | Updated as part of this pull request. |
| .github/workflows/sweep-dashboard-data-scope.yml | Updated as part of this pull request. |
| .github/workflows/requires-update.yml | Updated as part of this pull request. |
| .github/workflows/pr-buildkite-detective.yml | Updated as part of this pull request. |
| .github/workflows/post-backport-checklist.yml | Updated as part of this pull request. |
| .github/workflows/notify-package-docs-failure.yml | Updated as part of this pull request. |
| .github/workflows/docs-preview-cleanup.yml | Updated as part of this pull request. |
| .github/workflows/docs-edit-automation.yml | Updated as part of this pull request. |
| .github/workflows/docs-deploy.yml | Updated as part of this pull request. |
| .github/workflows/docs-build.yml | Updated as part of this pull request. |
| .github/workflows/ci-comment.yml | Updated as part of this pull request. |
| .github/workflows/catalog-info.yml | Updated as part of this pull request. |
| .github/workflows/bump-elastic-stack-version.yml | Updated as part of this pull request. |
| .github/workflows/backport-packages-detect.yml | Updated as part of this pull request. |
| .github/actions/sync-backport-changelog/action.yml | Updated as part of this pull request. |
| .buildkite/scripts/trigger_integrations_in_parallel.sh | Updated as part of this pull request. |
| .buildkite/scripts/trigger_backport.sh | Updated as part of this pull request. |
| .buildkite/scripts/test_one_package.sh | Updated as part of this pull request. |
| .buildkite/scripts/test_integrations_with_serverless.sh | Updated as part of this pull request. |
| .buildkite/scripts/test_helpers.sh | Updated as part of this pull request. |
| .buildkite/scripts/test_check_backport_owners.sh | Updated as part of this pull request. |
| .buildkite/scripts/run_dev_scripts_tests.sh | Updated as part of this pull request. |
| .buildkite/scripts/run_buildkite_scripts_tests.sh | Updated as part of this pull request. |
| .buildkite/scripts/requirements-ci-python-scripts.txt | Updated as part of this pull request. |
| .buildkite/scripts/process_benchmarks.sh | Updated as part of this pull request. |
| .buildkite/scripts/packages/crowdstrike.sh | Updated as part of this pull request. |
| .buildkite/scripts/notify_backport_pr.sh | Updated as part of this pull request. |
| .buildkite/scripts/non_package_patterns.txt | Updated as part of this pull request. |
| .buildkite/scripts/check_changelog_versions_in_main.sh | Updated as part of this pull request. |
| .buildkite/scripts/check_backports_inventory.sh | Updated as part of this pull request. |
| .buildkite/scripts/check_backport_tool.sh | Updated as part of this pull request. |
| .buildkite/scripts/build_packages.sh | Updated as part of this pull request. |
| .buildkite/scripts/backport_branch_lib.sh | Updated as part of this pull request. |
| .buildkite/pull-requests.json | Updated as part of this pull request. |
| .buildkite/pipeline.serverless.yml | Updated as part of this pull request. |
| .buildkite/pipeline.schedule-weekly.yml | Updated as part of this pull request. |
| .buildkite/pipeline.schedule-daily.yml | Updated as part of this pull request. |
| .buildkite/pipeline.publish.yml | Updated as part of this pull request. |
| .buildkite/pipeline.backport.yml | Updated as part of this pull request. |
| .buildkite/pipeline.backport-dispatch.yml | Updated as part of this pull request. |
Review details
Suppressed comments (8)
.buildkite/scripts/test_integrations_with_serverless.sh:99
- These
grep -qpipelines run underset -o pipefail; when a changed-file list is large enough forechoto block,grepcan exit after the first match and leaveechowith SIGPIPE. The pipeline then has a nonzero status and the matching package is incorrectly omitted fromPACKAGE_LIST. Use the non-quiet form redirected to/dev/null, as the surrounding helpers do, so the producer is drained.
.buildkite/scripts/trigger_integrations_in_parallel.sh:68 - These
grep -qpipelines run underset -o pipefail; when a changed-file list is large enough forechoto block,grepcan exit after the first match and leaveechowith SIGPIPE. The pipeline then has a nonzero status and the matching package is incorrectly omitted fromPACKAGE_LIST. Use the non-quiet form redirected to/dev/null, as the surrounding helpers do, so the producer is drained.
.github/workflows/sync-backport-changelog.yml:108 - The retry path uses only
parents[0]of the merge commit asBEFORE. For a rebase-merged PR with multiple commits,mergeCommitis the last rebased commit and its first parent is the preceding rebased commit, so this diff contains only the final PR commit and earlier changelog entries are never synchronized. Resolve the full PR range (for example, from the first rebased commit's parent or the PR's original base SHA) rather than knowingly narrowing it to one commit.
.github/workflows/trigger-package-tests-security-ml.yml:56 - GitHub Actions runs these
runblocks withpipefail;grep -qcan exit after the first matching filename and cause the upstreamechoto receive SIGPIPE. For a sufficiently large PR file list, a true match can therefore make theifcondition false and omit the package dispatch. Replace these quiet pipelines withgrep ... > /dev/null(or otherwise drain the input).
.github/workflows/validate-yaml-dashboards.yml:172 - The nested-package support added to package discovery is not carried through here: for
packages/<technology>/<package>/_dev/..., this extracts<technology>and compiles intopackages/<technology>/kibana/dashboardinstead of the actual package's output directory. A changed dashboard in any nested package will therefore be validated against the wrong path (or fail to find its JSON). Derive the package directory by stripping the/_dev/...suffix frominput_dir.
cmd/backport/backports/apply/apply.go:167 - When
--open-pris omitted (the default), this still replaces every source changelog link with.../pull/REPLACE_ME, butfixChangelogLinkonly runs after a PR URL is returned. The pushed backport branch therefore permanently contains a broken link in the normal manual-PR mode; the same happens for--dry-run --open-pr. Preserve the original link unless a PR will actually be opened, or reject those modes until a real URL is available.
cmd/backport/backports/apply/apply.go:705 - If
commitOwnerSyncfails after eithergit addsucceeds, this rollback only restores the worktree; it leaves the owner changes staged in the index. The subsequent push/branch restore then runs with a dirty index, and checkout can fail or a retry can inherit staged owner edits. Reset the paths in the index before checking them out.
cmd/backport/backports/owners/compare.go:121 - Checking only
source.Resolve(pkgPath)does not detect a package removed frommain: the repository's/packages/fallback rule resolves every package path. For a package left on a stale backport branch but absent fromorigin/main, this passes andparseManifestOwnersthen errors on the missing remote manifest instead of skipping the package as intended. Check remote manifest existence (while preserving real fetch/read errors) before parsing it, and cover the fallback-rule case in the integration test.
- Files reviewed: 181/190 changed files
- Comments generated: 10
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| PR_AUTHOR: ${{ steps.resolve.outputs.pr_author }} | ||
| COMMENT_ID: ${{ steps.find-comment.outputs.comment_id }} | ||
| BODY_FILE: ${{ steps.find-comment.outputs.body_file }} | ||
| run: .github/scripts/backport/process-checked-branches.sh |
Comment on lines
+63
to
+64
| PR_NUMBER=$(jq -r '.pr_number' "$ARTIFACT") | ||
| echo "pr_number=$PR_NUMBER" >> "$GITHUB_OUTPUT" |
Comment on lines
+53
to
+54
| if existingURL != "" { | ||
| return &CollectResult{HasChanges: false, BackportPRNumber: prNumber, WorkingBranch: workingBranch, ExistingSyncPRURL: existingURL}, nil |
Comment on lines
+23
to
+49
| func ExtractFromDiff(diffText string) (version, entryBlock string, err error) { | ||
| var added []string | ||
| for _, line := range strings.Split(diffText, "\n") { | ||
| if strings.HasPrefix(line, "+++ ") { | ||
| continue | ||
| } | ||
| if strings.HasPrefix(line, "+") { | ||
| added = append(added, line[1:]) | ||
| } | ||
| } | ||
|
|
||
| start := -1 | ||
| end := len(added) | ||
|
|
||
| for i, line := range added { | ||
| m := versionLineRE.FindStringSubmatch(line) | ||
| if m == nil { | ||
| continue | ||
| } | ||
| if start == -1 { | ||
| start = i | ||
| version = m[1] | ||
| } else { | ||
| end = i | ||
| break | ||
| } | ||
| } |
| return nil | ||
| } | ||
| pkgs = append(pkgs, PackageInfo{ | ||
| Path: path, |
| - label: ":busts_in_silhouette: Check backport package owners" | ||
| key: "check-backport-owners" | ||
| command: ".buildkite/scripts/check_backport_owners.sh" | ||
| soft_fail: true |
Comment on lines
+105
to
+107
| if [[ -z "$NEW_BODY" ]]; then | ||
| echo "No active backport branches — nothing to post" | ||
| exit 0 |
| DRY_RUN: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.dry_run || 'false' }} | ||
| PREVIEW: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.preview || 'false' }} | ||
| run: >- | ||
| mage RequiresUpdate |
| } | ||
|
|
||
| // branchRE matches valid backport branch names (mirrors cmd/backport/backports/inventory.go). | ||
| var branchRE = regexp.MustCompile(`^backport-[a-zA-Z0-9_]+-[0-9][0-9.]*x?$`) |
| if err != err { | ||
| return fmt.Errorf("failed to parse DRY_RUN value: %w", err) | ||
| } | ||
| // ListPackages lists all packages found under the packages directory. |
teresaromero
approved these changes
Sep 15, 2026
mrodm
merged commit Sep 15, 2026
de113b2
into
elastic:backport-cloud_asset_inventory-1.3
9 of 10 checks passed
Contributor
|
Changelog sync skipped — all changelog versions are already present on |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TL;DR
Syncs
.buildkiteand.githubCI configuration frommainto thebackport-cloud_asset_inventory-1.3backport branch.This brings automated backport workflows, new CI scripts, Go tooling, and
GitHub Actions that only work when they are present on the target branch itself.
Proposed commit message
```
Sync CI configuration with main branch for backport-cloud_asset_inventory-1.3.
Keep CI pipelines, GitHub Actions, and tooling consistent between active backport
branches and `main`, so that automated backport workflows and tooling improvements
land on all supported branches.
WHY:
GitHub Actions resolves workflow files from the branch where the event occurs,
not from `main`. Backport-branch workflows (changelog sync, post-backport
checklist, owner checks, auto-backport) must be present on the backport branch
itself to fire correctly.
```
Author's Checklist
Related issues