Skip to main content

yaml orchestration for bash

Project description

Sometimes I find make too old, autoplay unfrustrates me.

Getting started

Install with pip install autoplay.

It will look for jobs in autoplay.yml in the current directory or fallback on the autoplay/autoplay.yml file which defines a few default jobs. The twine job for example will build .po files and make a python package that it will upload with twine, to automate python package release:

autoplay run twine pypi_user=jpic pypi_pass=lol mode=dryrun

Create a file with name autoplay.yml containing:

---
env:
  someglobal: foo

---
name: example
env:
  example_var: ./autoplay-example
  multiline_var: |
    foo
    bar
setup:
- test -f $example_var || echo "$multiline_var" > $example_var
script:
- cat $example_var

---
name: test
requires:
- example

Then, see the commands it would execute with autoplay run example mode=dryrun

In-development

CLI Development Environment

We’re investing in a development command that would allow to run several jobs simultaneously, with an urwid based interface. It would allow to define jobs like this in your autoplay.yml:

---
name: dev
script:
- eslint --watch
- yarn start
- django-admin runserver
- py.test --watch

That you could run with autoplay run dev mode=ide.

Tox-like and docker based executors

The default executor is linux which executes in a bash subshell. However other executors are available such as executor=docker (for baking development environments) and executor=virtualenv (for build matrix).

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

autoplay-0.1.1.tar.gz (5.2 kB view hashes)

Uploaded Source

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