blob: abd0500f2df9f6ab733f844e08ad85936bfe2fe5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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
```
|