Skip to main content

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

Release files for buildbot-pipeline 0.11.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for buildbot-pipeline 0.11.3
File Size Uploaded
buildbot_pipeline-0.11.3.tar.gz 66.4 kB Details

Release files / buildbot_pipeline-0.11.3.tar.gz

Download URL buildbot_pipeline-0.11.3.tar.gz
Size 66.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ac38ee8197a384c4943f163693cce2cbfb3bab336e53ee8108b5eca43a063d5a
BLAKE2b-256 checksum
How to use checksums
e6d69d48493adb89c9b92dbc121c931b9988f47612a56ec5680a1a6192448d1f
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.11.3 This release

1 release file

0.11.2

1 release file

0.11.1

1 release file

0.11

1 release file

0.10.3

1 release file

0.10.2

1 release file

0.10.1

1 release file

0.10

1 release file

0.9.1

1 release file

0.9

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page