Skip to main content

Ploigos Step Runner (PSR) implemented as a Python library.

Project description

Publish Release Publish Dev
Publish GitHub Pages
codecov
License

ploigos-step-runner

Ploigos Step Runner (PSR) is a middleware tool to execute Continuous Integration (CI) pipeline steps. PSR is not a pipeline! It is a CLI tool called in each stage of a pipeline as a command: psr -s package -c psr.yaml.

PSR is tech stack agnostic and runs on workflow runners like Jenkins, Tekton, GitHub Actions, GitLab CI, or any other workflow runner that can execute commands.

PSR abstracts the implementation of a step from a specific product or solution. A few common steps most pipelines implement are unit testing, packaging, and deploying. The implementation of these steps differs between a Java and JavaScript application. PSR abstracts implementation from the pipeline definition, allowing the same pipeline definition to be reused for all applications, regardless of the application language and framework.

Each PSR step has one or more Step Implementers that are executed by PSR from a pipeline. A step implementer does two things:

  1. Integrates with a given product or solution
  2. Produces output in a standard format that can be used or validated by other pipeline steps

Available PSR steps can be found here.

An end-to-end example pipeline that uses PSR is documented here.

Documentation

Install

Latest Release

pip install ploigos-step-runner

Latest Development Release

pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple ploigos-step-runner

FAQ

What is a Workflow Runner?

A workflow runner is a Continuous Integration (CI) tool that executes pipelines. Common workflow runners are Jenkins, Tekton, GitHub Actions, and GitLab CI.

What if I want to use a tool that PSR doesn't have an step implementer for?

Each PSR step has a corresponding step_implementer Python module under src/ploigos_step_runner/step_implementers. If you need to use a tool that PSR does not have a step implementer for, you can create one or open a GitHub Issue to request an enhancement. See CONTRIBUTING.md for instructions on creating step implementers.

An AdHoc step implementer is proposed in #131 that would allow for a command or script to be specified in psr.yaml.

Contributing

See CONTRIBUTING.md

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ploigos-step-runner-2.0.0rc4.tar.gz (294.5 kB view hashes)

Uploaded Source

Built Distribution

ploigos_step_runner-2.0.0rc4-py3-none-any.whl (208.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page