#!/usr/bin/env bash # Use: ./build-and-minimize.bash # Makes a docker image, saves it as .tar, unpacks the tar, removes # the base Debian layer, and repacks it so I can upload to servers a little # faster. set -euo pipefail TEMP_GIBBERISH="ptth_build_L6KLMVS6" TEMP_TAR="$TEMP_GIBBERISH/ptth.tar" UPLOADABLE_TAR="$PWD/ptth_latest.tar.gz" GIT_COMMITISH=$(git rev-parse main) # This is magic and will need to be updated whenever we update the # Debian layer. BOTTOM_LAYER="7900806df64cc5adea32b37d8484569598376cac1c66f0810c01b7ad2458e9fd" rm -rf "$TEMP_GIBBERISH" mkdir -p "$TEMP_GIBBERISH/ptth" git archive --format=tar "$GIT_COMMITISH" | sudo docker build -t ptth:latest --build-arg "git_version=$GIT_COMMITISH" - sudo docker image save ptth:latest | pv > "$TEMP_TAR" tar -C "$TEMP_GIBBERISH/ptth" -xf "$TEMP_TAR" rm -rf "$TEMP_GIBBERISH/ptth/$BOTTOM_LAYER" pushd "$TEMP_GIBBERISH/ptth" tar -czf "$UPLOADABLE_TAR" . popd