From 622321625fdc71fc412d91578a87bdd5f32f3434 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Tue, 30 Jul 2024 17:56:15 +0200 Subject: Add README file --- README.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ minici.cabal | 1 + 2 files changed, 64 insertions(+) create mode 100644 README.md 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 ` 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 +``` 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 -- cgit v1.2.3