Skip to content

Commit 787c90b

Browse files
committed
feat(justfile): use dry_run=true to print but avoid executing docker commands
1 parent 08e6031 commit 787c90b

1 file changed

Lines changed: 24 additions & 4 deletions

File tree

justfile

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ _tag := if _version != '' { "--tag=" + image + ':' + _version } else { "" }
1212

1313
k3s-image := 'docker.io/rancher/k3s'
1414

15+
dry_run := 'false'
1516
docker_arch := ''
1617

1718
targets := 'go rust rust-musl tools devcontainer'
@@ -38,6 +39,7 @@ build: && _list-if-load
3839
image='{{ image }}' \
3940
version='{{ _version }}' \
4041
docker_arch='{{ docker_arch }}' \
42+
dry_run='{{ dry_run }}' \
4143
_target "$tgt"
4244
done
4345

@@ -60,10 +62,17 @@ list:
6062
fi
6163
for tgt in {{ targets }} ; do
6264
if [ "$tgt" == "devcontainer" ]; then
63-
docker image ls {{ image }}:{{ _version }} | sed 1d
65+
cmd="docker image ls {{ image }}:{{ _version }} | sed 1d"
6466
else
65-
docker image ls {{ image }}:{{ _version }}-$tgt | sed 1d
67+
cmd="docker image ls {{ image }}:{{ _version }}-$tgt | sed 1d"
6668
fi
69+
70+
echo "{{ style('error') }}$cmd{{ NORMAL }}"
71+
if [ "{{ dry_run }}" = "true" ]; then
72+
continue
73+
fi
74+
75+
eval "$cmd"
6776
done
6877

6978
# Fetch the latest version of k3s images and record their tags and digests.
@@ -113,16 +122,27 @@ _target target='':
113122
image='{{ image }}' \
114123
version='{{ _version }}' \
115124
docker_arch='{{ docker_arch }}' \
125+
dry_run='{{ dry_run }}' \
116126
_build --target='{{ target }}' \
117127
{{ if _version == '' { '' } else { '--tag=' + image + ':' + _version + if target == 'devcontainer' { '' } else { '-' + target } } }}
118128

119129
# Build the devcontainer image
120130
_build *args='':
121-
docker buildx build . {{ _tag }} --pull \
131+
#!/usr/bin/env bash
132+
set -euo pipefail
133+
134+
cmd="docker buildx build . {{ _tag }} --pull \
122135
--progress='{{ DOCKER_PROGRESS }}' \
123136
--output='{{ output }}' \
124137
{{ if docker_arch != '' { '--platform=' + docker_arch } else { '' } }} \
125-
{{ args }}
138+
{{ args }}"
139+
140+
echo "{{ style('error') }}$cmd{{ NORMAL }}"
141+
if [ "{{ dry_run }}" = "true" ]; then
142+
exit 0
143+
fi
144+
145+
eval "$cmd"
126146

127147

128148
md-lint *patterns="'**/*.md' '!repos/**'":

0 commit comments

Comments
 (0)