NOTE: Popper 2.0 is a revamped version of the Popper project. For 1.x releases, go to the
v1.x
branch.
Popper is a workflow execution engine based on Github actions (GHA). Popper workflows are defined in HCL syntax and behave like GHA workflows. The main difference with respect to GHA workflows is that a Popper workflow can execute actions in other runtimes in addition to Docker. The workflow language is strictly a superset of GHA workflow language so Popper can run a GHA workflow locally as if it was being executed by the GHA platform.
In addition to running a GHA workflow locally, Popper provides other functionality:
- Other runtimes. Actions can execute locally on the host where
the
popper
command runs (i.e. "outside" a container, thus not strictly depending on having Docker installed). We are working in adding support for other runtimes are such asrkt
, Vagrant, Singularity and others (see this project for more). - Search. Allows users to browse through a catalog of available actions.
- Continuous integration. Generate configuration files for distinct CI services that allow workflows to run on these (Travis, Jenkins, Gitlab and Circle supported).
- Action scaffolding. Aid in the implementation of new actions or building upon existing ones.
- As part of our efforts, we maintain a list of actions available at https://github.com/popperized.
The contents of this repository are:
cli/
. The codebase of the CLI tool.docs/
. General documentation containing guides, CLI documentation and pointers to other resources.gh-pages
branch. Contents of our landing page.
Quick links to other resources:
- 5-minute screencast demo of the CLI.
- Recorded webinar presentation.
- Software Carpentry formatted Lesson.
- Github Actions awesome list.
See here for instructions on how to install the CLI tool. Once installed, to get an overview and list of commands check out the command line help:
popper --help
For a quickstart guide on how to use the CLI, look here.
Anyone is welcome to contribute to Popper! To get started, take a look at our contributing guidelines, then dive in with our list of good first issues and open projects.
Popper adheres to the code of conduct posted in this repository. By participating or contributing to Popper, you're expected to uphold this code. If you encounter unacceptable behavior, please immediately email us.