diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ccf22b3..a96c7b4 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -96,14 +96,18 @@ jobs: - name: Docker (un)compressed sizes run: | echo '```console' >> "$GITHUB_STEP_SUMMARY" - echo '# Uncompressed size (max, not size on disk due to sharing):' - echo '$ docker image ls' >> "$GITHUB_STEP_SUMMARY" - docker image ls | tee -a "$GITHUB_STEP_SUMMARY" - echo - echo '# size = unique + shared:' - echo '$ docker system df -v' >> "$GITHUB_STEP_SUMMARY" - docker system df -v | tee -a "$GITHUB_STEP_SUMMARY" - echo + # echo '# Uncompressed size (max, not size on disk due to sharing):' + # echo '$ docker image ls' >> "$GITHUB_STEP_SUMMARY" + # docker image ls | tee -a "$GITHUB_STEP_SUMMARY" + # echo + # echo '# size = unique + shared:' + # echo '$ docker system df -v' >> "$GITHUB_STEP_SUMMARY" + # docker system df -v | tee -a "$GITHUB_STEP_SUMMARY" + ## the above work locally, but in CI with buildx just list moby/buildkit and tonistiigi/binfmt + echo "# Compressed sizes:" >> "$GITHUB_STEP_SUMMARY" dockersize() { docker manifest inspect -v "$1" | jq -c 'if type == "array" then .[] else . end' | jq -r '[ ( .Descriptor.platform | [ .os, .architecture, .variant, ."os.version" ] | del(..|nulls) | join("/") ), ( [ ( .OCIManifest // .SchemaV2Manifest ).layers[].size ] | add ) ] | join(" ")' | numfmt --to iec --format '%.2f' --field 2 | sort | column -t ; } - dockersize ghcr.io/${{ github.actor }}/free-games-claimer:${{env.IMAGE_TAG}} + dockersize ghcr.io/${{ github.actor }}/free-games-claimer:${{env.IMAGE_TAG}} | tee -a "$GITHUB_STEP_SUMMARY" + log() { echo "\$ $@" >> "$GITHUB_STEP_SUMMARY"; "$@" >> "$GITHUB_STEP_SUMMARY"; } + log docker buildx history inspect + log docker buildx du echo '```' >> "$GITHUB_STEP_SUMMARY"