ci.yaml
1# SelfCI Configuration
2
3job:
4 # This command will be executed for all jobs
5 # Use $SELFCI_JOB_NAME env var to determine which job is running
6 command: ./.config/selfci/ci.sh
7
8 # Command prefix for executing the command
9 # Can be used to change the shell, or disable shell interpretation
10 # of `command` altogether.
11 # command-prefix: ["bash", "-c"]
12
13 # Clone mode: "partial", "shallow", or "full" (default: partial)
14 # - partial: Fast, uses partial clone (--filter=blob:none) - all commits, blobs on-demand
15 # - shallow: Most compact, uses shallow clone (--depth=1) - single commit only
16 # - full: Complete clone with all history and objects
17 clone-mode: full
18
19# Merge queue configuration (optional)
20# mq:
21# # Default base branch for merge queue
22# base-branch: main
23#
24# # Merge mode: "rebase" or "merge" (default: rebase)
25# # - rebase: Rebase candidate commits on top of base branch (no merge commit)
26# # - merge: Create a merge commit
27# merge-mode: merge
28#
29# # MQ hooks - run at different stages of the merge queue process
30# # Each hook has: command (required), command-prefix (optional, default: ["bash", "-c"])
31# # Hooks can also be defined in local.yaml (not checked into source control)
32# # Local hooks override hooks defined here.
33#
34# # Runs before daemonization with inherited stdio (allows interactive input)
35# # pre-start:
36# # command: 'echo "Pre-start (interactive)"'
37#
38# # Runs after daemonization with captured output (non-interactive)
39# # post-start:
40# # command: 'echo "Post-start (captured)"'
41#
42# # Runs before worktrees are created for each candidate
43# # pre-clone:
44# # command: 'echo "Running pre-clone"'
45#
46# # Runs after worktrees are created, before the job command
47# # post-clone:
48# # command: 'echo "Running post-clone"'
49#
50# # Runs after check passes, before merging
51# # pre-merge:
52# # command: 'echo "Running pre-merge"'
53#
54# # Runs after a successful merge
55# # post-merge:
56# # command: 'echo "Merge completed"'