Skip to content

Commit 7aee8cd

Browse files
committed
Add "example" generated commands (so changes to generated commands are easier to see)
1 parent 0e21e01 commit 7aee8cd

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

.test/example-commands.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# docker:24.0.7-cli [amd64]
2+
# <pull>
3+
4+
# </pull>
5+
# <build>
6+
SOURCE_DATE_EPOCH=1700741054 docker buildx build --progress=plain --provenance=mode=max --sbom=generator="$BASHBREW_BUILDKIT_SBOM_GENERATOR" --output '"type=oci","dest=temp.tar","annotation.org.opencontainers.image.source=https://github.com/docker-library/docker.git#6d541d27b5dd12639e5a33a675ebca04d3837d74:24/cli","annotation-manifest-descriptor.org.opencontainers.image.source=https://github.com/docker-library/docker.git#6d541d27b5dd12639e5a33a675ebca04d3837d74:24/cli","annotation.org.opencontainers.image.revision=6d541d27b5dd12639e5a33a675ebca04d3837d74","annotation-manifest-descriptor.org.opencontainers.image.revision=6d541d27b5dd12639e5a33a675ebca04d3837d74","annotation.org.opencontainers.image.version=24.0.7-cli","annotation-manifest-descriptor.org.opencontainers.image.version=24.0.7-cli","annotation.org.opencontainers.image.url=https://hub.docker.com/_/docker","annotation-manifest-descriptor.org.opencontainers.image.url=https://hub.docker.com/_/docker"' --tag 'docker:24.0.7-cli' --tag 'docker:24.0-cli' --tag 'docker:24-cli' --tag 'docker:cli' --tag 'docker:24.0.7-cli-alpine3.18' --tag 'oisupport/staging-amd64:4b199ac326c74b3058a147e14f553af9e8e1659abc29bd3e82c9c9807b66ee43' --platform 'linux/amd64' --build-context 'alpine:3.18=docker-image://alpine:3.18@sha256:d695c3de6fcd8cfe3a6222b0358425d40adfd129a8a47c3416faff1a8aece389' --build-arg BUILDKIT_SYNTAX="$BASHBREW_BUILDKIT_SYNTAX" --file 'Dockerfile' 'https://github.com/docker-library/docker.git#6d541d27b5dd12639e5a33a675ebca04d3837d74:24/cli'
7+
# </build>
8+
# <push>
9+
mkdir temp
10+
tar -xvf temp.tar -C temp
11+
jq '.manifests |= (del(.[].annotations) | unique)' temp/index.json > temp/index.json.new
12+
mv temp/index.json.new temp/index.json
13+
crane push temp 'oisupport/staging-amd64:4b199ac326c74b3058a147e14f553af9e8e1659abc29bd3e82c9c9807b66ee43'
14+
rm -rf temp temp.tar
15+
# </push>
16+
17+
# docker:24.0.7-windowsservercore-ltsc2022 [windows-amd64]
18+
# <pull>
19+
docker pull 'mcr.microsoft.com/windows/servercore:ltsc2022@sha256:d4ab2dd7d3d0fce6edc5df459565a4c96bbb1d0148065b215ab5ddcab1e42eb4'
20+
docker tag 'mcr.microsoft.com/windows/servercore:ltsc2022@sha256:d4ab2dd7d3d0fce6edc5df459565a4c96bbb1d0148065b215ab5ddcab1e42eb4' 'mcr.microsoft.com/windows/servercore:ltsc2022'
21+
# </pull>
22+
# <build>
23+
SOURCE_DATE_EPOCH=1700741054 DOCKER_BUILDKIT=0 docker build --tag 'docker:24.0.7-windowsservercore-ltsc2022' --tag 'docker:24.0-windowsservercore-ltsc2022' --tag 'docker:24-windowsservercore-ltsc2022' --tag 'docker:windowsservercore-ltsc2022' --tag 'docker:24.0.7-windowsservercore' --tag 'docker:24.0-windowsservercore' --tag 'docker:24-windowsservercore' --tag 'docker:windowsservercore' --tag 'oisupport/staging-windows-amd64:9b405cfa5b88ba65121aabdb95ae90fd2e1fee7582174de82ae861613ae3072e' --platform 'windows/amd64' --file 'Dockerfile' 'https://github.com/docker-library/docker.git#6d541d27b5dd12639e5a33a675ebca04d3837d74:24/windows/windowsservercore-ltsc2022'
24+
# </build>
25+
# <push>
26+
docker push 'oisupport/staging-windows-amd64:9b405cfa5b88ba65121aabdb95ae90fd2e1fee7582174de82ae861613ae3072e'
27+
# </push>

.test/test.sh

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,27 @@ set -- docker:cli docker:dind docker:windowsservercore notary # a little bit of
1212
# (see "library/" and ".external-pins/" for where these come from / are hard-coded for consistent testing purposes)
1313
# NOTE: we are explicitly *not* pinning "golang:1.19-alpine3.16" so that this also tests unpinned parent behavior (that image is deprecated so should stay unchanging)
1414

15+
time bashbrew fetch "$@"
16+
1517
time "$dir/../sources.sh" "$@" > "$dir/sources.json"
18+
1619
time "$dir/../builds.sh" --cache "$dir/cache-builds.json" "$dir/sources.json" > "$dir/builds.json"
20+
21+
# generate an "example commands" file so that changes to generated commands are easier to review
22+
jq -r -L "$dir/.." '
23+
include "meta";
24+
[
25+
first(.[] | select(normalized_builder == "buildkit")),
26+
first(.[] | select(normalized_builder == "classic")),
27+
first(.[] | select(normalized_builder == "oci-import")),
28+
empty
29+
]
30+
| map(
31+
. as $b
32+
| commands
33+
| to_entries
34+
| map("# <\(.key)>\n\(.value)\n# </\(.key)>")
35+
| "# \(first($b.source.allTags[])) [\($b.build.arch)]\n" + join("\n")
36+
)
37+
| join("\n\n")
38+
' "$dir/builds.json" > "$dir/example-commands.sh"

0 commit comments

Comments
 (0)