.. | ||
_templates | ||
scripts | ||
security-solution-ess | ||
security-solution-quality-gate | ||
kibana-api-docs.yml | ||
kibana-apis-capacity-testing-daily.yml | ||
kibana-artifacts-container-image.yml | ||
kibana-artifacts-snapshot.yml | ||
kibana-artifacts-staging.yml | ||
kibana-artifacts-trigger.yml | ||
kibana-chrome-forward-testing.yml | ||
kibana-codeql.yml | ||
kibana-console-definitions-sync.yml | ||
kibana-coverage-daily.yml | ||
kibana-deploy-cloud.yml | ||
kibana-deploy-project.yml | ||
kibana-es-forward-testing-9-dot-0.yml | ||
kibana-es-forward-testing.yml | ||
kibana-es-serverless-snapshots.yml | ||
kibana-es-snapshots.yml | ||
kibana-esql-grammar-sync.yml | ||
kibana-fips-daily.yml | ||
kibana-flaky.yml | ||
kibana-fleet-packages-daily.yml | ||
kibana-gen-ai-daily.yml | ||
kibana-migration-staging.yml | ||
kibana-on-merge-unsupported-ftrs.yml | ||
kibana-on-merge.yml | ||
kibana-package-registry.yml | ||
kibana-performance-daily.yml | ||
kibana-performance-data-set-extraction-daily.yml | ||
kibana-pointer-compression.yml | ||
kibana-pr.yml | ||
kibana-purge-cloud-deployments.yml | ||
kibana-serverless-emergency-release.yml | ||
kibana-serverless-quality-gates-emergency.yml | ||
kibana-serverless-quality-gates.yml | ||
kibana-serverless-release-testing.yml | ||
kibana-serverless-release.yml | ||
kibana-vm-images.yml | ||
locations.yml | ||
README.md | ||
scalability_testing-daily.yml | ||
trigger-version-dependent-jobs.yml |
Buildkite pipeline resource definitions
Overview
The pipeline resources are "RRE" (real resource entities) that are used to create/maintain buildkite pipelines.
The resources described in these files are parsed and loaded to Backstage (https://backstage.elastic.dev). From there, Terrazzo is generating and updating the buildkite pipelines.
These pipelines are referenced indirectly through the root's catalog-info.yaml
file in order to reduce bloat in the main resources file.
There's a location file that collects files defined in this folder (locations.yml), this file needs to be updated in order to keep track of local files.
Available parameters and further help can be found here: https://docs.elastic.dev/ci/getting-started-with-buildkite-at-elastic
Creating a new pipeline resource definition
The easiest way to create a new pipeline is either by copying and editing a similar pipeline, or by copying a blank template (see _new_pipeline.yml) and editing that.
You can validate your pipeline's structural integrity, and it's conformity to baseline rules by running the following command:
.buildkite/pipeline-resource-definitions/scripts/validate-pipeline-definition.sh <path_to_your_pipeline_file>
Once you've added the file, you should update the locations.yml file to include the new pipeline, or run the following command to update it:
.buildkite/pipeline-resource-definitions/scripts/fix-location-collection.ts
Add your pipeline implementation, commit & push & merge. The pipeline resource will appear in Backstage within minutes, then the pipeline will be added to Buildkite within ~10 minutes.