-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathJustfile
74 lines (61 loc) · 2.47 KB
/
Justfile
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
docker_tag := "latest"
docker_registry := "localhost:5000"
docker_image := docker_registry + "/subnet-node:" + docker_tag
# Print help message
help:
@just --list --unsorted
@echo ""
@echo "Available variables and default values:"
@just --evaluate
# Generate Just tab completions for Bash shell
bash-completions:
#!/usr/bin/env bash
set -euo pipefail
dir="$HOME/.local/share/bash-completion/completions"
mkdir -p "$dir"
just --completions bash > "$dir/just"
# Build subnets node
build *args: (process-template "mocknet")
#!/usr/bin/env bash
set -euo pipefail
pushd testnet/stacks-node
cargo build {{args}}
# Wrapper around `cargo test`
test *args: (process-template "mocknet")
cargo test {{args}}
# Build release version subnets node
build-release: (build "--features" "monitoring_prom,slog_json" "--release")
# Build docker image
docker-build:
DOCKER_BUILDKIT=1 docker build -t {{docker_image}} .
# Build and push docker image
docker-push: docker-build
docker push {{docker_image}}
# Process template Clarity (and other files) into final forms
process-template env:
#!/usr/bin/env bash
set -euo pipefail
pushd core-contracts/contracts
./process_template.sh templates output/{{env}} config/common.yaml config/{{env}}.yaml
# Process template Clarity (and other files) into final forms for all environments
process-templates: (process-template "mocknet") (process-template "devnet") (process-template "testnet") (process-template "mainnet")
# Run `clarinet test` on our contracts
clarinet-test: (process-template "mocknet")
clarinet test --coverage --manifest-path=./core-contracts/Clarinet.toml --import-map=./core-contracts/import_map.json --allow-net --allow-read
# Run `clarinet test` using Clarinet from DockerHub
clarinet-test-docker: (process-template "mocknet")
docker run --workdir /src --rm -v "$PWD:/src" hirosystems/clarinet:develop \
test --coverage --manifest-path=core-contracts/Clarinet.toml --import-map=core-contracts/import_map.json --allow-net --allow-read
# Run `clarinet check` on our contracts
clarinet-check: (process-template "mocknet")
#!/usr/bin/env bash
set -euo pipefail
pushd core-contracts
clarinet check
# Run `clarinet check` using Clarinet from DockerHub
clarinet-check-docker: (process-template "mocknet")
#!/usr/bin/env bash
set -euo pipefail
pushd core-contracts
docker run --workdir /src --rm -v "$PWD:/src" hirosystems/clarinet:develop \
check