Skip to content

Commit 9ae3fe5

Browse files
authored
Merge pull request #33 from acikgozb/feat/exec
feat(exec): Create a helper CI script
2 parents 49c854b + 178b3e9 commit 9ae3fe5

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

exec

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/usr/bin/env bash
2+
3+
set -euo pipefail
4+
5+
PROGRAM="bt-ci-exec"
6+
7+
function check_extern_commands {
8+
for cmd in "${@}"; do
9+
if ! which "$cmd" > /dev/null 2>&1; then
10+
echo "$PROGRAM: install $cmd to proceed" >&2
11+
exit 1
12+
fi
13+
done
14+
}
15+
16+
function test {
17+
check_extern_commands "cargo"
18+
cargo test
19+
}
20+
21+
function lint {
22+
check_extern_commands "cargo"
23+
cargo clippy --no-deps
24+
}
25+
26+
function build {
27+
check_extern_commands "cargo"
28+
29+
RUST_TARGET="${1:-x86_64-unknown-linux-gnu}"
30+
cargo build --release --locked --target "$RUST_TARGET"
31+
}
32+
33+
function create_archive {
34+
check_extern_commands "tar"
35+
36+
RUST_TARGET="${1:-x86_64-unknown-linux-gnu}"
37+
ARCHIVE_PATH="${2:-binary.tar.gz}"
38+
39+
tar -C "./target/$RUST_TARGET/release" -czvf "$ARCHIVE_PATH" "bt"
40+
}
41+
42+
function create_checksum {
43+
check_extern_commands "sha256sum"
44+
45+
RUST_TARGET="${1:-x86_64-unknown-linux-gnu}"
46+
CHECKSUM_PATH="${2:-binary.sha256sum}"
47+
48+
sha256sum "./target/$RUST_TARGET/release/bt" > "$CHECKSUM_PATH"
49+
}
50+
51+
"$@"

0 commit comments

Comments
 (0)