Skip to content

Commit 0cb7db2

Browse files
committed
feat(justfile): use dry_run=true to print but avoid executing docker commands
1 parent 311be4c commit 0cb7db2

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 *args='': && _list-if-load
3839
image='{{ image }}' \
3940
version='{{ _version }}' \
4041
docker_arch='{{ docker_arch }}' \
42+
dry_run='{{ dry_run }}' \
4143
_target "$tgt" \
4244
{{ args }}
4345
done
@@ -61,10 +63,17 @@ list:
6163
fi
6264
for tgt in {{ targets }} ; do
6365
if [ "$tgt" == "devcontainer" ]; then
64-
docker image ls {{ image }}:{{ _version }} | sed 1d
66+
cmd="docker image ls {{ image }}:{{ _version }} | sed 1d"
6567
else
66-
docker image ls {{ image }}:{{ _version }}-$tgt | sed 1d
68+
cmd="docker image ls {{ image }}:{{ _version }}-$tgt | sed 1d"
6769
fi
70+
71+
echo "{{ style('error') }}$cmd{{ NORMAL }}"
72+
if [ "{{ dry_run }}" = "true" ]; then
73+
continue
74+
fi
75+
76+
eval "$cmd"
6877
done
6978

7079
# Fetch the latest version of k3s images and record their tags and digests.
@@ -114,17 +123,28 @@ _target target='' *args='':
114123
image='{{ image }}' \
115124
version='{{ _version }}' \
116125
docker_arch='{{ docker_arch }}' \
126+
dry_run='{{ dry_run }}' \
117127
_build --target='{{ target }}' \
118128
{{ if _version == '' { '' } else { '--tag=' + image + ':' + _version + if target == 'devcontainer' { '' } else { '-' + target } } }} \
119129
{{ args }}
120130

121131
# Build the devcontainer image
122132
_build *args='':
123-
docker buildx build . {{ _tag }} --pull \
133+
#!/usr/bin/env bash
134+
set -euo pipefail
135+
136+
cmd="docker buildx build . {{ _tag }} --pull \
124137
--progress='{{ DOCKER_PROGRESS }}' \
125138
--output='{{ output }}' \
126139
{{ if docker_arch != '' { '--platform=' + docker_arch } else { '' } }} \
127-
{{ args }}
140+
{{ args }}"
141+
142+
echo "{{ style('error') }}$cmd{{ NORMAL }}"
143+
if [ "{{ dry_run }}" = "true" ]; then
144+
exit 0
145+
fi
146+
147+
eval "$cmd"
128148

129149

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

0 commit comments

Comments
 (0)