summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2024-07-30 17:56:15 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2024-07-30 20:29:30 +0200
commit622321625fdc71fc412d91578a87bdd5f32f3434 (patch)
tree9caec829444db54d26ae3c3370bce8064e31f0ff
parent8be6c3ea9fd8831033b674cca770ab1f9e1858bc (diff)
Add README file
-rw-r--r--README.md63
-rw-r--r--minici.cabal1
2 files changed, 64 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
+```
diff --git a/minici.cabal b/minici.cabal
index 8635bc4..a13984a 100644
--- a/minici.cabal
+++ b/minici.cabal
@@ -20,6 +20,7 @@ maintainer: roman.smrz@seznam.cz
-- category:
category: Testing
extra-doc-files:
+ README.md
CHANGELOG.md
flag ci