forked from maelstrom-software/maelstrom
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cargo-maelstrom.toml
157 lines (143 loc) · 5.61 KB
/
cargo-maelstrom.toml
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
[[directives]]
filter = "package.equals(maelstrom-worker) && name.starts_with(executor::)"
layers = [
{ stubs = [ "/proc/", "/sys/", "/tmp/", "dev/{full,fuse,null,pts/,random,tty,urandom,zero}" ] },
{ symlinks = [ { link = "/dev/ptmx", target = "/dev/pts/ptmx" } ] },
]
mounts = [
{ type = "tmp", mount_point = "/tmp" },
{ type = "proc", mount_point = "/proc" },
{ type = "sys", mount_point = "/sys" },
{ type = "devpts", mount_point = "/dev/pts" },
{ type = "devices", devices = ["full", "fuse", "null", "random", "tty", "urandom", "zero"] },
]
[[directives]]
filter = "package.equals(maelstrom-worker) && name.equals(executor::tests::local_network)"
network = "loopback"
[[directives]]
filter = "package.equals(maelstrom-worker) && name.starts_with(signals::)"
layers = [
{ stubs = ["/proc/", "/dev/null"] }
]
mounts = [
{ type = "proc", mount_point = "/proc" },
{ type = "devices", devices = ["null"] }
]
[[directives]]
filter = """
(package.equals(maelstrom-broker) && name.starts_with(artifact_fetcher::tests)) ||
package.equals(maelstrom-test-runner)"""
layers = [{ stubs = ["/proc/", "/tmp/"] }]
mounts = [
{ type = "tmp", mount_point = "/tmp" },
{ type = "proc", mount_point = "/proc" },
]
[[directives]]
filter = "package.equals(maelstrom-client) && test.equals(integration_test)"
layers = [
{ stubs = ["/{proc,tmp}/", "/dev/{null,fuse}"] },
{ paths = ["<build-dir>/maelstrom-client"], canonicalize = true },
{ shared-library-dependencies = ["<build-dir>/maelstrom-client"], follow_symlinks = true }
]
mounts = [
{ type = "tmp", mount_point = "/tmp" },
{ type = "proc", mount_point = "/proc" },
{ type = "devices", devices = ["null", "fuse"] },
]
environment = { HOME = "/tmp" }
[[directives]]
filter = "package.equals(maelstrom-pytest) && test.equals(integration_test)"
include_shared_libraries = true
image = "docker://python:3.11-slim"
added_layers = [
{ stubs = ["/{proc,tmp}/", "/dev/{null,fuse}"] },
{ paths = ["crates/maelstrom-pytest/src/python.tar"], canonicalize = true },
{ paths = ["<build-dir>/maelstrom-pytest"], canonicalize = true },
{ shared-library-dependencies = ["<build-dir>/maelstrom-pytest"], follow_symlinks = true }
]
mounts = [
{ type = "tmp", mount_point = "/tmp" },
{ type = "proc", mount_point = "/proc" },
{ type = "devices", devices = ["null", "fuse"] },
]
network = "local"
enable_writable_file_system = true
[[directives]]
filter = "package.equals(maelstrom-go-test) && test.equals(integration_test)"
include_shared_libraries = true
image = "docker://golang"
added_layers = [
{ stubs = ["/{proc,sys,tmp}/", "/dev/{full,fuse,urandom,random,null,zero}"] },
{ paths = ["<build-dir>/maelstrom-go-test"], canonicalize = true },
{ shared-library-dependencies = ["<build-dir>/maelstrom-go-test"], follow_symlinks = true }
]
added_environment = { GOCACHE = "/tmp/" }
mounts = [
{ type = "tmp", mount_point = "/tmp" },
{ type = "proc", mount_point = "/proc" },
{ type = "sys", mount_point = "/sys" },
{ type = "devices", devices = ["full", "fuse", "urandom", "random", "null", "zero"] },
]
[[directives]]
filter = """
package.equals(maelstrom-client-process) ||
package.equals(maelstrom-fuse) ||
package.equals(maelstrom-util)"""
layers = [{ stubs = ["/tmp/"] }]
mounts = [{ type = "tmp", mount_point = "/tmp" }]
[[directives]]
filter = "package.equals(maelstrom-client-process)"
added_layers = [
{ glob = "crates/maelstrom-client-process/src/client/layer_builder/so_test_files/**", canonicalize = true },
{ paths = ["/lib64/ld-linux-x86-64.so.2"], follow_symlinks = true }
]
[[directives]]
filter = "package.equals(maelstrom-container)"
network = "loopback"
layers = [{ stubs = ["/tmp/"] }, { paths = ["crates/maelstrom-container/src/busybox.tar"], canonicalize = true }]
mounts = [{ type = "tmp", mount_point = "/tmp" }]
[[directives]]
filter = "package.equals(maelstrom-util) && name.equals(io::splicer)"
added_mounts = [
{ type = "proc", mount_point = "/proc" },
]
added_layers = [{ stubs = [ "proc/" ] }]
[[directives]]
filter = """
package.equals(maelstrom-util) && (
name.equals(config::common::tests::broker_addr_deserialize_from_hostname_string) ||
name.equals(config::common::tests::broker_addr_from_str)
)"""
[[directives.added_layers]]
paths = [ "crates/maelstrom-util/src/config/hosts" ]
strip_prefix = "crates/maelstrom-util/src/config/"
prepend_prefix = "/etc/"
[[directives]]
filter = "package.equals(maelstrom-fuse) || package.equals(maelstrom-layer-fs)"
mounts = [
{ type = "tmp", mount_point = "/tmp" },
{ type = "proc", mount_point = "/proc" },
{ type = "devices", devices = ["null", "fuse"] },
]
working_directory = "/root"
added_layers = [{ stubs = [ "root/", "proc/", "tmp/", "dev/fuse", "dev/null" ] }]
[[directives]]
filter = "package.equals(cargo-maelstrom) && test.equals(integration_test)"
include_shared_libraries = true
image = "docker://rust:alpine"
added_layers = [
{ stubs = ["/dev/{full,fuse,null,ptmx,pts/,random,tty,urandom,zero}"] },
{ symlinks = [ { link = "/dev/ptmx", target = "/dev/pts/ptmx" } ] },
{ paths = ["<build-dir>/cargo-maelstrom"], canonicalize = true },
{ shared-library-dependencies = ["<build-dir>/cargo-maelstrom"], follow_symlinks = true }
]
mounts = [
{ type = "tmp", mount_point = "/tmp" },
{ type = "tmp", mount_point = "/root" },
{ type = "proc", mount_point = "/proc" },
{ type = "sys", mount_point = "/sys" },
{ type = "devpts", mount_point = "/dev/pts" },
{ type = "devices", devices = ["full", "fuse", "null", "random", "tty", "urandom", "zero"] },
]
[[directives]]
added_environment = { RUST_BACKTRACE = "$env{RUST_BACKTRACE:-0}" }