17 lines
811 B
Bash
Executable File
17 lines
811 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Local image preparation; application builds run in Werkdock on CI.
|
|
set -euo pipefail
|
|
root=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
|
|
recipe=$(cat "$root/packaging/buildenv/Dockerfile" "$root/packaging/jdk.properties" "$root/packaging/playwright.properties" | sha256sum)
|
|
recipe=${recipe%% *}
|
|
recipe=${recipe:0:12}
|
|
image="werkjournal-buildenv:bookworm-jdk25-$recipe"
|
|
output=${1:-"$root/work/werkjournal-buildenv-bookworm-jdk25-$recipe.tar"}
|
|
mkdir -p -- "$(dirname -- "$output")"
|
|
docker build --platform linux/amd64 -t "$image" -f "$root/packaging/buildenv/Dockerfile" "$root/packaging"
|
|
container=$(docker create "$image")
|
|
trap 'docker rm "$container" >/dev/null' EXIT
|
|
docker export "$container" -o "$output"
|
|
sha256sum "$output" > "$output.sha256"
|
|
printf 'Rootfs: %s\n' "$output"
|