Simple monorepo build tool
Project description
drkns is a simple monorepo build tool.
Build is driven through YAML files, that can have dependencies over other YAML files.
- Steps are built after the dependencies.
- A failure at a step prevents the execution of the next one.
- The result of each execution step, if a directory is left unchanged no execution will be triggered again.
- State can be persisted in Amazon S3 to have a shared memory between volatile build instances
Sample master drkns.yml
drkns.yml
dependencies:
sub1: subProject1/drkns.yml
Sample dependency drkns.yml
subProject1/drkns.yml
steps:
buildImages: |
docker build -q -t ...
startContainers: "docker run --network host --name test -d backServer-test"
YAML reference
directory
: Current directory by default, only used to compute the hash associated with this build filesteps
: ordered and named commands.dependencies
: named external drkns yml to load, their steps becomes callables throughdrkns dependencyName.stepName
CLI interface
The command line interface offers the following commands :
# Checks that the configuration makes sense (no output is a good sign
drkns check
# List all steps
drkns list
# Restore previous execution information from S3
# Assuming an environment variable DRKNS_S3_PATH exists under the form
# "s3://buck3t/d1r"
drkns sync in
# also available for something like
# drkns sync in s3://buck3t/d1r
# Runs all steps
drkns run
# Runs first step
drkns run 1
# Runs identified task
drkns run sub1.buildImages
# Clean persisted data older than a week old (to not overload the cache after
# too many builds)
drkns clean
# Persist previous execution information from S3, see assumptions for sync in
# Beware this erase extra files
drkns sync out
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
drkns-0.0.7.tar.gz
(9.1 kB
view details)
Built Distribution
drkns-0.0.7-py3-none-any.whl
(13.2 kB
view details)
File details
Details for the file drkns-0.0.7.tar.gz
.
File metadata
- Download URL: drkns-0.0.7.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.0.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5202f69289c64e347bae0b6d8d92a80f2fbcd6ecb01e95ace8bbd731310a27cb |
|
MD5 | 958582bde0d3ca8bbda0aebdc9572300 |
|
BLAKE2b-256 | b6e5a9ac4af80eca02ce0bf0d93622c2bb81a319828523982f520f410599e4df |
File details
Details for the file drkns-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: drkns-0.0.7-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.0.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 657c087e399b96bdcbb63c410d036253a956dd9e45515c7df86d48e89399a2a1 |
|
MD5 | 5f346c4539a5315dd024004f7f42986e |
|
BLAKE2b-256 | a55c33427b6e8e8ea50c34a1de943dedb1570cf4df7faa5fd852666f331a637d |