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 debug twine
autoplay twine mode=dryrun
TWINE_USERNAME=... TWINE_PASSWORD=.. autoplay twine

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.2.1.dev6.tar.gz (5.4 kB view details)

Uploaded Source

File details

Details for the file autoplay-0.2.1.dev6.tar.gz.

File metadata

  • Download URL: autoplay-0.2.1.dev6.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.2

File hashes

Hashes for autoplay-0.2.1.dev6.tar.gz
Algorithm Hash digest
SHA256 44d71f4c05c3fc5cf4a7691f6a27c4bdc6156d906d1d760e3dd6df5a0e10c1db
MD5 fb144a3fa9d9f1f0a00b88608cc2a1cb
BLAKE2b-256 80e48187d2d15423fb80a28028992c2a4e1f3c803be0bbd9aa261a86ed6a5a92

See more details on using hashes here.

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