Pipeline syntax for buildbot
Project description
Buildbot Pipeline is a missing piece to make Buildbot (an excellent CI framework) usable for mere mortals.
Define steps in VCS using YAML.
Scripted includes allow to use favorite language to define dynamic steps and bring more flexibility than build matrix.
Trigger filters. Automatic trigger if step file is changed.
Parallel steps.
Ability to skip already passed jobs for same commit (can be helpful to rerun flaky tests).
Fixed concurrency. You can run multiple builds of the same job on single worker.
Native support for JUnit (XUnit) XML reports.
Artifacts storage on leader node.
Artifacts and test reports are attached to step. You can easily find cause of failure in UI.
Gerrit integration:
Buildbot pipeline tracks all builds started from the same commit and sets Verify label based on all succeeded jobs.
You can rebuild one of failed jobs from buildset and Verify would be correctly updated.
Do not trigger build for WIP patches.
Example:
# buildbot/unit-tests.yaml
filter:
files:
- app/*
- unit-tests/*
steps:
- name: prepare
shell-fail: pip install -r requirements.txt
- name: test
shell: python -m pytest --junitxml=junit.xml --cov-report html:htmlcov unit-tests
junit: junit.xml
upload:
label: coverage report
src: htmlcov
link: htmlcov/
Environment variables
BUILD_ID: id of a root job, it’s uniq accross a build job
WORKSPACE: path to a shared storage for a buid job. Can be used for caches, node_modules, virtual environments and so on.
BUILD_STATUS: status of a current build so far. Codes.
STDOUT markup
Buildbot pipeline supports special stdout markup to enrich builds with custom information.
__PIPELINE_LINK__ name url: adds a user provided link to a current step.
__PIPELINE_PROP__ name value: adds a user provided property to a current build. You can access property value in following steps.
__PIPELINE_SESSION_PROP__ name value: adds a user provided property to a current build and future rebuilds.
For example:
steps:
- name: test
shell: |
build_id=$(build-package.sh)
echo __PIPELINE_LINK__ artifacts http://build.corp.com/artifacts/$build_id
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file buildbot_pipeline-0.11.1.tar.gz
.
File metadata
- Download URL: buildbot_pipeline-0.11.1.tar.gz
- Upload date:
- Size: 67.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.10.0 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/1.0.0 urllib3/1.26.18 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a529aa46e8e7b732c923dbea570426bf7cfbd020b1d7308a017a44f4170d56f1 |
|
MD5 | 88ac37ac60aa3f9cd4860ea1fdcf719f |
|
BLAKE2b-256 | e7fc38487b8f3deb957d2a9e39c2271071a990fa916cf776a96eee9108aa7922 |