citty -- CI driver in your terminal.
Project description
NAME
citty: Continuous Integration in a tty
SYNOPSIS
## Install
$ python setup.py develop # local
$python setup.py install # global
## Add projects
$ citty add ~/projects/foo # "name" is foo
$ citty add ~/projects/foo --name fubar # "name" is "fubar"
## List projects
$ citty list
foo : make test : ~/projects/foo
fubar : make test : ~/projects/foo
$ citty list fubar # match name or path
fubar : make test : ~/projects/foo
## Delete projects
$ citty delete foo # exact name match
$ citty list
fubar : make test : ~/projects/foo
$ citty delete --all # delete ALL the projects
## Run CI in your TTY
$ citty
project1 | fubar # <-- displayed in colors
DESCRIPTION
Remember the mantra of Test-Driven Development (TDD)?
Red, Green, Refactor!
Well, that's all I'm trying to do. So I wanted a CI driver that would run my tests, show the status, and get out of the way!
citty runs in a terminal. It uses \r to refresh the same line over and over
again. And it prints the name of each project it knows about, in either
Coca-Cola RED, DeWalt YELLOW, or John Deere GREEN. (And by "Coca-Cola",
"DeWalt", and "John Deere" I mean "ANSI".)
1,000 words or more
Here's a video of citty running inside a :terminal window
in Gvim (version 8!), using three "projects" that are really
symlinks to the same directory. With the sleep time set to 5 seconds. And a make test that just
uses the Bash $RANDOM value to flip a coin to determine
success or failure. (Useless, but colorful in citty!)
Coding
There is a subtle and nuanced coding system:
- Green - Failure is not an option!
- Yellow - Hold my beer while I pass these tests!
- Red - It turns out, failure is an option!
Status
How do I determine the status? Using the result code returned from make test.
Testing mechanisms
You can use any testing mechanism you like, as long at it's make test.
Or, you could add a new feature to citty.py. I'll gladly read your PR,
but if it includes the words "XML" or "microservice" it's going right in the
trash.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file citty-0.0.3.tar.gz.
File metadata
- Download URL: citty-0.0.3.tar.gz
- Upload date:
- Size: 39.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.24.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aea0c90b378f8c349b2506f1d19ac827a4ddab6e9567a6da97b8fd3761c022b8
|
|
| MD5 |
2198a20f394cf0d7747ec73cb1b9c9e6
|
|
| BLAKE2b-256 |
54bff88a7012fb745b076c6a935c5904c64b6888dcad2a844fb338e31cb4ac84
|
File details
Details for the file citty-0.0.3-py3-none-any.whl.
File metadata
- Download URL: citty-0.0.3-py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.24.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23de272fcf2bcc40746407fda5a7d4349971de2afe31b524be025ab33b22e67e
|
|
| MD5 |
7af1ca5005eedc262ad1b08bad7e43ce
|
|
| BLAKE2b-256 |
b884e63fed65673008a66985574cac25d9337903a3ee4fc579431f5698c064ea
|