diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2024-07-30 17:56:15 +0200 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2024-07-30 20:29:30 +0200 |
commit | 622321625fdc71fc412d91578a87bdd5f32f3434 (patch) | |
tree | 9caec829444db54d26ae3c3370bce8064e31f0ff /README.md | |
parent | 8be6c3ea9fd8831033b674cca770ab1f9e1858bc (diff) |
Add README file
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..abd0500 --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +MiniCI +====== + +MiniCI runs jobs defined in the `minici.yaml` file in the root of the project +(on the same level as the `.git` directory). With that, `minici` invocation can +execute the jobs for local commits that are not yet in upstream (remote) branch +or for any manually given commit range. + + +Job definition +-------------- + +The top-level elements of the YAML file are `job <name>` defining steps to +perform the job and potentially listing artefacts produced or required. + +Example: + +``` +job build: + shell: + - make + artifact bin: + path: build/example + +job test: + uses: + - build.bin + shell: + - ./build/example test +``` + +Each job is a map with the following attributes: + +`shell` +: List of shell commands to perform the job + +`artifact <name>` (optional) +: Defines artifact `<name>` produced by this job. Is itself defined as a dictionary. + +`artifact <name>.path` +: Path to the produced artifact file, relative to the root of the project. + +`uses` (optional) +: List of artifact required for this job, in the form `<job>.<artifact>`. + + +Usage +----- + +To run jobs for a git commit range: +``` +minici run <commit>..<commit> +``` + +To run jobs for commits that are in local `<branch>`, but not yet in its upstream: +``` +minici run <branch> +``` + +For currently branch, the name can be omitted: +``` +minici run +``` |