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 ` 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 ` (optional) : Defines artifact `` produced by this job. Is itself defined as a dictionary. `artifact .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 `.`. Usage ----- To run jobs for a git commit range: ``` minici run .. ``` To run jobs for commits that are in local ``, but not yet in its upstream: ``` minici run ``` For currently branch, the name can be omitted: ``` minici run ```