Sem descrição

Oz N Tiram bec9bc336c update make target há 9 anos atrás
docs 9c618fcb31 remove the large docstring to a seperate documents há 9 anos atrás
frank 9c618fcb31 remove the large docstring to a seperate documents há 9 anos atrás
hooks 878d504eb9 expand the postpush hook há 9 anos atrás
test 86a0e7d5a7 Add Makefile and update tests há 10 anos atrás
.gitignore 0c547446a7 add .gitignore há 10 anos atrás
Makefile bec9bc336c update make target há 9 anos atrás
README.rst 9362dcf300 add running of python code and testing it há 10 anos atrás
requirements.txt a19a398ad3 Add huey to requirements há 10 anos atrás
setup.py 8f79040916 Start working on a decent command line interface há 10 anos atrás
test_requirements.txt 49a1dd71e5 initial commit há 10 anos atrás

README.rst

Frank CI
========

Frank CI aims to be a minimal (but smart) continuous integration system.

To get started you simply deploy from with a WSGI server (e.g NGNIX) and configure
your git repository (github and others) to post a load after each push.

If your repository includes a top level file called `.frank.yaml` your
frank instance will react uppon the commands found in the file.

Frank commands
--------------

Frank understands the following file format::

.. text: yaml

commands:
- do_this
- do_that
- run_function_python
- deploy_there

do_this:
- shell: echo "this"

do_that:
shell:
- cd foo
- touch bar.txt

run_function_python:
python:
- foo.bar:callable_object


The `commands` is a mandatory list of commnads to excute after each push.
The order of the commands is how the will be executed.

Following the key `commands` are definitions of each command. Command can
by eith `shell` commands or some callable python object when specified as `python`
and given with full import path `foo.bar` and following callable object after
the collon.


Example 1:
----------
The following example will run the tests, build sphinx documentation and
publish static HTML files via rsync to another server::

.. text: yaml

commads:
- test
- build_sphinx
- publish

test:
shell:
- pip install -e .
- python setup.py test

build_sphinx:
shell:
cwd: docs
cmd: make html

publish:
shell:
- rsync -avz docs/build/html/ docserver.company.com:/var/www/docs/

This example demonstrates running multiple commands after the keyword `shell`.
You can also specify any keyword that the function `subprocess.Popen` accepts.
For example you can specify envirnment variables or the working directroy, as
in the example with the keyword `cwd`.

Example 2:
----------
TODO: demonstrate running of python code