Repository navigation
Expand file tree
/
Copy pathupstream-builds.json5.example
More file actions
56 lines (53 loc) · 2.77 KB
/
Copy pathupstream-builds.json5.example
File metadata and controls
56 lines (53 loc) · 2.77 KB
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
// upstream-kernel-build sources + variants.
// Place this at $HOME/.ktest/upstream-builds.json5 (override with -c).
//
// `sources` maps a *source name* to a git URL. Each source gets a single
// bare clone at $HOME/.ktest/upstream-srcs/<source>.git and may be reused
// by multiple builds below.
//
// `builds[<release>]` describes one release built from one source:
//
// source: key into `sources` above (which repo to fetch from)
// branch: optional, restricts tag resolution to tags reachable from
// the named branch (a local branch ref in the bare clone,
// e.g. `linux-6.17.y`). Omit to consider every tag in the
// repo.
// variants: list of variant names to build for that release. "default"
// = no overlay (tests/test-libs.sh + kconfig.sh defaults
// only); every other name maps to tests/<variant>-base.sh
// (e.g. lockdep, kasan, kcsan, kmsan, ubsan — the same
// files the test machinery already uses for
// require-kernel-config).
//
// What gets built (see resolve_ref in upstream-kernel-build): the *head* of
// the branch, never a tag. The `branch` is the whole selector — there is no
// second rule picking a release out of it — so a series that has been tagged
// but has no point release yet (vX.Y with no vX.Y.1) builds fine, and a
// release tracking master can't silently resolve to the newest stable tag.
//
// The version in the store path is `git describe` of that ref: `v7.2-rc1`
// when the head sits exactly on a tag, `v7.2-rc1-5-gdeadbeef` when it is
// past one. That is commit-unique once ahead of a tag, so a stale manifest
// cannot mask a moved head, and it sorts correctly under `sort -V` for
// libktest.sh's resolve_kernel_name (rc2 > rc1-N-g… > rc1).
{
sources: {
stable: "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git",
rc: "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git",
},
builds: {
// stable: latest stable tag across the whole repo, full debug matrix
stable: {
source: "stable",
variants: ["default", "lockdep", "kasan", "kcsan", "kmsan", "ubsan"],
},
// Pinned stable lines — picks the highest vX.Y.* tag reachable from
// the matching linux-X.Y.y branch, regardless of what newer trees
// have shipped.
"stable-6.17": { source: "stable", branch: "linux-6.17.y", variants: ["default"] },
"stable-6.18": { source: "stable", branch: "linux-6.18.y", variants: ["default"] },
"stable-6.19": { source: "stable", branch: "linux-6.19.y", variants: ["default"] },
// rc: just track the tip — boot-only / smoke; no full debug matrix
rc: { source: "rc", variants: ["default"] },
},
}