buildbot-pipeline


Namebuildbot-pipeline JSON
Version 0.11.3 PyPI version JSON
download
home_pagehttps://github.com/baverman/buildbot_pipeline/
SummaryPipeline syntax for buildbot
upload_time2024-05-09 09:54:46
maintainerNone
docs_urlNone
authorAnton Bobrov
requires_python>=3.6
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Buildbot Pipeline
=================

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:

.. code-block:: yaml

   # 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 <https://docs.buildbot.net/latest/developer/results.html>`_.

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:

.. code-block:: yaml

   steps:
     - name: test
       shell: |
           build_id=$(build-package.sh)
           echo __PIPELINE_LINK__ artifacts http://build.corp.com/artifacts/$build_id



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/baverman/buildbot_pipeline/",
    "name": "buildbot-pipeline",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "Anton Bobrov",
    "author_email": "baverman@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/e6/d6/9d48493adb89c9b92dbc121c931b9988f47612a56ec5680a1a6192448d1f/buildbot_pipeline-0.11.3.tar.gz",
    "platform": "any",
    "description": "Buildbot Pipeline\n=================\n\nBuildbot Pipeline is a missing piece to make Buildbot (an excellent CI\nframework) usable for mere mortals.\n\n* Define steps in VCS using YAML.\n* Scripted includes allow to use favorite language to define dynamic steps and\n  bring more flexibility than build matrix.\n* Trigger filters. Automatic trigger if step file is changed.\n* Parallel steps.\n* Ability to skip already passed jobs for same commit (can be helpful to rerun flaky tests).\n* Fixed concurrency. You can run multiple builds of the same job on single\n  worker.\n* Native support for JUnit (XUnit) XML reports.\n* Artifacts storage on leader node.\n* Artifacts and test reports are attached to step. You can easily find cause of\n  failure in UI.\n* Gerrit integration:\n\n  * Buildbot pipeline tracks all builds started from the same commit and sets\n    `Verify` label based on all succeeded jobs.\n  * You can rebuild one of failed jobs from buildset and `Verify` would\n    be correctly updated.\n  * Do not trigger build for WIP patches.\n\n\nExample:\n\n.. code-block:: yaml\n\n   # buildbot/unit-tests.yaml\n\n   filter:\n     files:\n       - app/*\n       - unit-tests/*\n\n   steps:\n     - name: prepare\n       shell-fail: pip install -r requirements.txt\n\n     - name: test\n       shell: python -m pytest --junitxml=junit.xml --cov-report html:htmlcov unit-tests\n       junit: junit.xml\n       upload:\n         label: coverage report\n         src: htmlcov\n         link: htmlcov/\n\n\nEnvironment variables\n---------------------\n\n* `BUILD_ID`: id of a root job, it's uniq accross a build job\n* `WORKSPACE`: path to a shared storage for a buid job. Can be used for caches,\n  node_modules, virtual environments and so on.\n* `BUILD_STATUS`: status of a current build so far. `Codes <https://docs.buildbot.net/latest/developer/results.html>`_.\n\nSTDOUT markup\n-------------\n\nBuildbot pipeline supports special stdout markup to enrich builds with custom\ninformation.\n\n* `__PIPELINE_LINK__ name url`: adds a user provided link to a current step.\n* `__PIPELINE_PROP__ name value`: adds a user provided property to a current build.\n  You can access property value in following steps.\n* `__PIPELINE_SESSION_PROP__ name value`: adds a user provided property to\n  a current build and future rebuilds.\n\nFor example:\n\n.. code-block:: yaml\n\n   steps:\n     - name: test\n       shell: |\n           build_id=$(build-package.sh)\n           echo __PIPELINE_LINK__ artifacts http://build.corp.com/artifacts/$build_id\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Pipeline syntax for buildbot",
    "version": "0.11.3",
    "project_urls": {
        "Homepage": "https://github.com/baverman/buildbot_pipeline/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e6d69d48493adb89c9b92dbc121c931b9988f47612a56ec5680a1a6192448d1f",
                "md5": "60e783de92b7ff500e3cd086a3739d90",
                "sha256": "ac38ee8197a384c4943f163693cce2cbfb3bab336e53ee8108b5eca43a063d5a"
            },
            "downloads": -1,
            "filename": "buildbot_pipeline-0.11.3.tar.gz",
            "has_sig": false,
            "md5_digest": "60e783de92b7ff500e3cd086a3739d90",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 66387,
            "upload_time": "2024-05-09T09:54:46",
            "upload_time_iso_8601": "2024-05-09T09:54:46.948107Z",
            "url": "https://files.pythonhosted.org/packages/e6/d6/9d48493adb89c9b92dbc121c931b9988f47612a56ec5680a1a6192448d1f/buildbot_pipeline-0.11.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-09 09:54:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "baverman",
    "github_project": "buildbot_pipeline",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "buildbot-pipeline"
}
        
Elapsed time: 0.50698s