Skip to content

Commit

Permalink
initial docs for 2.x (#630)
Browse files Browse the repository at this point in the history
initial minimal docs set for 2.x

fixes #491
  • Loading branch information
ivotron authored May 1, 2019
1 parent c30cd2a commit 4732b1d
Show file tree
Hide file tree
Showing 11 changed files with 282 additions and 1,490 deletions.
66 changes: 30 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,74 +6,68 @@
[![PyPI version](https://badge.fury.io/py/popper.svg)](https://badge.fury.io/py/popper)
[![GitHub license](https://img.shields.io/github/license/systemslab/popper.svg)](https://github.com/systemslab/popper/blob/master/LICENSE)

> **NOTE**: Popper 2.0 is a revamped version of the Popper project.
> Read more in [this
> announcement](https://medium.com/@ivotron/announcing-popper-2-0-a-github-actions-executioner-in-python-cf25620c021e).
> Previous 1.x releases can be found in the [`v1.x`
> branch](https://github.com/systemslab/popper/tree/v1.x).
Popper is a workflow execution engine based on [Github
actions](https://github.com/features/actions) (GHA). Popper workflows
are defined in [HCL](https://github.com/hashicorp/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.
actions](https://github.com/features/actions) (GHA) that allows you to
execute GHA workflows locally on your machine. Popper workflows are
defined in [HCL](https://github.com/hashicorp/hcl) syntax and behave
like GHA workflows. The main difference with respect to GHA workflows
is that, through [several extensions to the GHA
syntax](https://popper.rtfd.io/en/latest/sections/extensions), 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.

<p align="center">
<img src="https://systemslab.github.io/popper/images/demo.svg">
</p>

In addition to running a GHA workflow locally, the goal for the Popper
2.x series is to provide the following functionality:
In addition to running a GHA workflow locally, the goal of this
project is to provide the following functionality:

* **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 as
[`rkt`](https://github.com/rkt/rkt),
`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 such as
[Vagrant](https://www.vagrantup.com/),
[Singularity](https://sylabs.io/) and others (see [this
[Singularity](https://sylabs.io/), [Conda](https://conda.io) and
others (see [this
project](https://github.com/systemslab/popper/projects/12) for
more).
* **Actions catalog**. Provide users with a searchable catalog of
available actions and workflows so that they can re-use as much as
possible what others have already done.
* **Continuous integration**. Generate configuration files for
distinct CI services, allowing users to execute Popper workflows
on these services (Travis, Jenkins, Gitlab and Circle supported).
* **Action and workflow search**. Provide users with a searchable
catalog of available actions and workflows so that they can re-use
as much as possible what others have already done.
* **Scaffolding**. Aid in the implementation of new actions and
workflows, as well as extending existing ones.
* **Action library**. As part of our efforts, we maintain a list of
actions available at <https://github.com/popperized>.

-----

The contents of this repository are:
This repository contains:

* [`cli/`](cli/). The codebase of the CLI tool.
* [`docs/`](docs/). General
[documentation](http://popper.readthedocs.io/en/latest/)
[documentation](https://popper.readthedocs.io/en/latest/)
containing guides, CLI documentation and pointers to other
resources.
* [`gh-pages`](https://github.com/systemslab/popper/tree/gh-pages)
branch. Contents of our [landing page](http://falsifiable.us).

Quick links to other resources:
## Installation

* [Recorded webinar presentation (using 1.x
version)](https://youtu.be/tZcaV31FxUM).
* [Software Carpentry formatted Lesson (for 1.x
versions)](https://popperized.github.io/swc-lesson/).
* [Github Actions awesome
list](https://github.com/sdras/awesome-actions).
We have a [`pip`](https://pypi.python.org/pypi) package available. To
install:

## Installation
```bash
pip install popper
```

See [here](cli/) 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:
Once installed, you can get an overview and list of available
commands:

```bash
popper --help
Expand Down
20 changes: 7 additions & 13 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,18 @@
Popper
======

Popper is an experimentation protocol for organizing a academic article's
artifacts following a DevOps approach (sometimes referred to as "SciOps"). This
documentation describes the experimentation protocol and the Popper CLI tool;
it gives examples from multiple domains showing how to follow the protocol; and
also shows how to use a CI system to continuously validate Popperized
experiments.
Popper is a workflow execution engine based on Github Actions (GHA) that allows
you to execute GHA workflows locally on your machine. Popper workflows are
defined in HCL syntax and behave like GHA workflows. The main difference with
respect to GHA workflows is that, through some extensions to the GHA syntax, a
Popper workflow can execute actions in other runtimes in addition to Docker.


.. toctree::
:maxdepth: 2

sections/getting_started.md

.. toctree::
:maxdepth: 2

sections/concepts.md

.. toctree::
:maxdepth: 2

Expand All @@ -32,10 +26,10 @@ experiments.
.. toctree::
:maxdepth: 2

sections/ci_features.md
sections/extensions.md

.. toctree::
:maxdepth: 3
:maxdepth: 2

sections/examples.md

Expand Down
Loading

0 comments on commit 4732b1d

Please sign in to comment.