CI / test (push) Has been cancelled
- bin/build-and-push.sh: baut + pusht Image in die Gitea-Registry unter git.pkop.de/vibecode/watchlist:<version> - bin/get-version.py: liest __version__ aus app/__init__.py (single source of truth, kein Quoting-Wahnsinn in Bash) - bin/build-image.sh + write-manifest.sh nutzen den neuen Helper - dist/README.md: erklärt die Registry-Policy (kein Tar im Repo) - load-image.sh entfernt — Tars gibt's nicht mehr - .gitignore: dist/*.tar + manifest.json ausschließen, dist/README.md bleibt dokumentiert - docker-compose.yml: Hinweis auf Registry-Image - CI-Workflow: vereinfacht, Push läuft lokal (idempotent) - Version auf 0.5.1-beta gebumpt Verifiziert end-to-end: bin/build-and-push.sh -> Image in Gitea-Registry docker rmi ... -> lokal weg docker pull ... -> aus Registry gezogen docker run ... -> startet, version 0.5.1-beta, 8 unique Items
30 lines
853 B
Bash
Executable File
30 lines
853 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Schreibt dist/manifest.json mit Build-Metadaten.
|
|
# Wird von bin/build-image.sh aufgerufen; kann auch solo laufen.
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
|
|
if [ -z "${VERSION:-}" ]; then
|
|
VERSION=$(python3 bin/get-version.py)
|
|
fi
|
|
GIT_SHA=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
|
GIT_TAG=$(git describe --tags --exact-match 2>/dev/null || echo "")
|
|
BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
|
|
|
mkdir -p dist
|
|
cat > dist/manifest.json <<EOF
|
|
{
|
|
"name": "watchstack",
|
|
"version": "${VERSION}",
|
|
"git_sha": "${GIT_SHA}",
|
|
"git_tag": "${GIT_TAG}",
|
|
"build_date": "${BUILD_DATE}",
|
|
"image": "watchstack:${VERSION}",
|
|
"tarball": "dist/watchstack-${VERSION}.docker.tar",
|
|
"license": "Apache-2.0",
|
|
"source": "https://git.pkop.de/Vibecode/watchlist"
|
|
}
|
|
EOF
|
|
echo ">> Wrote dist/manifest.json"
|
|
cat dist/manifest.json
|