Files
fingerprint-chromium/scripts/build.sh
T
rogee 4a7f67ec06
Build and publish image / image (push) Successful in 3m15s
HH-686: initialize fingerprint Chromium Docker packaging (#1)
2026-08-26 13:05:42 +08:00

31 lines
1014 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
image="${1:-fingerprint-chromium}"
release_api="https://api.github.com/repos/adryfish/fingerprint-chromium/releases"
if [[ -n "${CHROME_VERSION:-}" ]]; then
release_url="$release_api/tags/$CHROME_VERSION"
else
release_url="$release_api/latest"
fi
release="$(curl --fail --location --retry 3 --silent --show-error "$release_url")"
version="$(jq -er '.tag_name | select(test("^[0-9]+(\\.[0-9]+){3}$"))' <<<"$release")"
asset_url="$(jq -er --arg version "$version" '
[.assets[] | select(.name | startswith("ungoogled-chromium-\($version)-") and endswith("-x86_64_linux.tar.xz"))]
| if length == 1 then .[0].browser_download_url else error("expected exactly one Linux x86_64 archive") end
' <<<"$release")"
tag="$image:$version"
docker build --pull --platform linux/amd64 \
--build-arg "CHROME_VERSION=$version" \
--build-arg "CHROME_URL=$asset_url" \
--tag "$tag" .
if [[ "${PUSH:-false}" == "true" ]]; then
docker push "$tag"
fi
printf 'Built %s\n' "$tag"