-
Notifications
You must be signed in to change notification settings - Fork 109
Expand file tree
/
Copy pathbacon.toml
More file actions
106 lines (93 loc) · 3.87 KB
/
bacon.toml
File metadata and controls
106 lines (93 loc) · 3.87 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
# This is a configuration file for the bacon tool
#
# Complete help on configuration: https://dystroy.org/bacon/config/
#
# You may check the current default at
# https://github.com/Canop/bacon/blob/main/defaults/default-bacon.toml
default_job = "clippy"
env.CARGO_TERM_COLOR = "always"
# Check on all targets
[jobs.check]
command = ["cargo", "check", "--all-targets"]
need_stdout = false
# Check on all targets and features
[jobs.check-all]
command = ["cargo", "check", "--all-targets", "--all-features"]
need_stdout = false
# Clippy on all targets
[jobs.clippy]
command = ["cargo", "clippy", "--all-targets"]
need_stdout = false
# Clippy on all targets and features
[jobs.clippy-all]
command = ["cargo", "clippy", "--all-targets", "--all-features"]
need_stdout = false
# Clippy on Windows target using PowerShell on WSL
[jobs.clippy-windows]
command = ["pwsh.exe", "-Command", '$env:CARGO_TARGET_DIR = ".\target\windows"; $env:CARGO_INCREMENTAL = "0"; cargo --color=never clippy -p litebox_runner_linux_on_windows_userland --all-targets --all-features 2>&1 | ForEach-Object { [Console]::WriteLine($PSItem) }']
need_stdout = true
extraneous_args = false
# All build checks on LVBS
[jobs.buildchecks-lvbs]
command = ["bash", "-c", """
#!/bin/bash
set -eo pipefail
set -x
TOOLCHAIN=$(awk -F'"' '/channel/{print $2}' litebox_runner_lvbs/rust-toolchain.toml)
cargo +$TOOLCHAIN clippy --lib --bins --examples --no-deps --all-features -Z build-std-features=compiler-builtins-mem -Z build-std=core,alloc --manifest-path=litebox_runner_lvbs/Cargo.toml --target litebox_runner_lvbs/x86_64_vtl1.json
cargo +$TOOLCHAIN clippy --lib --bins --examples --no-deps --all-features -Z build-std-features=compiler-builtins-mem -Z build-std=core,alloc --manifest-path=litebox_platform_lvbs/Cargo.toml --target litebox_runner_lvbs/x86_64_vtl1.json
cargo +$TOOLCHAIN build -Z build-std-features=compiler-builtins-mem -Z build-std=core,alloc --manifest-path=litebox_runner_lvbs/Cargo.toml --target litebox_runner_lvbs/x86_64_vtl1.json
cargo +$TOOLCHAIN build -Z build-std-features=compiler-builtins-mem -Z build-std=core,alloc --manifest-path=litebox_platform_lvbs/Cargo.toml --target litebox_runner_lvbs/x86_64_vtl1.json
"""]
need_stdout = false
# All build checks on SNP
[jobs.buildchecks-snp]
command = ["bash", "-c", """
#!/bin/bash
set -eo pipefail
set -x
TOOLCHAIN=$(awk -F'"' '/channel/{print $2}' litebox_runner_snp/rust-toolchain.toml)
cargo +$TOOLCHAIN clippy --bins --examples --all-features -Zbuild-std=core,compiler_builtins,alloc -Zbuild-std-features=compiler-builtins-mem --manifest-path=litebox_runner_snp/Cargo.toml --target litebox_runner_snp/target.json
cargo +$TOOLCHAIN build -Zbuild-std=core,compiler_builtins,alloc -Zbuild-std-features=compiler-builtins-mem --manifest-path=litebox_runner_snp/Cargo.toml --target litebox_runner_snp/target.json
"""]
need_stdout = false
# Run nextest on default target
[jobs.nextest]
command = [
"cargo", "nextest", "run",
"--hide-progress-bar", "--failure-output", "final"
]
need_stdout = true
analyzer = "nextest"
# Run nextest on 32-bit x86
[jobs.nextest-x86]
command = [
"cargo", "nextest", "run",
"--target=i686-unknown-linux-gnu",
"--hide-progress-bar", "--failure-output", "final"
]
need_stdout = true
analyzer = "nextest"
# Documentation
[jobs.doc]
command = ["cargo", "doc", "--no-deps"]
need_stdout = false
# If the doc compiles, then it opens in your browser
[jobs.doc-open]
command = ["cargo", "doc", "--no-deps", "--open"]
need_stdout = false
allow_warnings = true
on_success = "job:doc" # so that we don't open the browser at each change
# Project-specific keybindings, to make it easier to run the various jobs here.
[keybindings]
k = "job:check"
alt-k = "job:check-all"
c = "job:clippy"
alt-c = "job:clippy-all"
n = "job:nextest"
alt-n = "job:nextest-x86"
d = "job:doc-open"
alt-d = "job:doc"
v = "job:buildchecks-lvbs"
alt-s = "job:buildchecks-snp"
w = "job:clippy-windows"