-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathminimal.toml
More file actions
128 lines (105 loc) · 2.99 KB
/
Copy pathminimal.toml
File metadata and controls
128 lines (105 loc) · 2.99 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
[upstream] # Source of software & tooling
repo = "https://github.com/gominimal/pkgs"
branch = "main"
locked_commit = "b1a1b1b7275d06dcd9235708a648c88e928b9462"
[stack]
use = "rust"
runtime_packages = ["socat"]
[defaults]
profile = "dev"
state_key = "dev"
[tasks.claude]
interactive = true
exec = "claude --dangerously-skip-permissions"
[tasks.build]
description = "Builds the minimal CLI"
exec = "cargo build --verbose"
inherit_cwd = true
[tasks.build-smoke]
description = "Smoke-test that a task can build something"
exec = "cargo build -p common"
inherit_cwd = true
[tasks.test]
exec = "cargo test --verbose"
inherit_cwd = true
[tasks.shell]
interactive = true
exec = "bash --noprofile -l"
[tasks.startup-time]
exec = "date"
[outputs.bash-img]
type = "oci-image"
packages = ["bash", "coreutils", "diffutils", "findutils", "tar"]
env_vars.test = "ello"
cmd = ["/usr/bin/bash", "-l"]
# Raw (uncompressed) kernel Image from the upstream virtio-kernel-raw package,
# loaded via KRUN_KERNEL_FORMAT_RAW (no in-VMM gzip decompress) for faster boot.
[outputs.virtio-kernel]
type = "raw-file"
packages = ["virtio-kernel-raw"]
path = "usr/share/virtio-linux/Image"
# Guest rootfs ext4 image from the upstream microvm-rootfs package.
[outputs.minvmd-rootfs]
type = "raw-file"
packages = ["microvm-rootfs"]
path = "usr/share/microvm-rootfs/rootfs.img"
# libkrun KVM backend (shared lib + its libkrunfw firmware) from the upstream
# libkrun package. Materialized as an OCI image whose layers carry the full
# runtime closure; scripts/fetch-libkrun.sh extracts just libkrun.so* and
# libkrunfw.so* into a link/runtime prefix. This replaces the former from-source
# build — libkrunfw compiles a guest kernel, far too heavy to rebuild in CI on
# every run.
[outputs.libkrun]
type = "oci-image"
packages = ["libkrun"]
[session]
packages = ["just", "protobuf"]
[tasks.vim]
profile = "demo"
state_key = ""
exec = "vim"
[tasks.btop]
profile = "demo"
state_key = ""
exec = "btop"
[tasks.demo-shell]
profile = "demo"
state_key = "demo"
exec = "bash -l"
[tasks.python]
profile = "demo"
state_key = "demo"
exec = "python3"
[tasks.ci]
inherit_cwd = true
bash = """
set -e
cargo test --verbose
cargo fmt -- --check
cargo clippy --all-targets -- -D warnings
"""
[tasks.fmt-check]
exec = "cargo fmt -- --check"
inherit_cwd = true
[tasks.clippy]
exec = "cargo clippy --all-targets -- -D warnings"
inherit_cwd = true
# Mutation-test the graph wire decoder. Runs in the Linux sandbox, where the
# graph baseline test suite is green (the spec_hasher hash assertions that fail
# on macOS pass here), which cargo-mutants requires. Scoped to wire.rs to keep
# the run bounded; widen -f / drop it to cover more.
[tasks.mutants]
description = "Mutation-test the graph wire decoder with cargo-mutants"
inherit_cwd = true
bash = """
set -e
command -v cargo-mutants >/dev/null 2>&1 || cargo install cargo-mutants --locked
cargo mutants -p graph -f wire.rs --timeout 120
"""
[tasks.arg-smoketest]
args = {
input_str = "string"
}
bash = """
echo Input was: %{input_str}
"""