Publish Ludarium source
Public source validation / source (push) Successful in 2m16s

This commit is contained in:
Ludarium release export
2026-09-03 02:08:58 +02:00
commit df869819ce
339 changed files with 46455 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
#!/bin/sh
set -eu
repo="$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)"
version="$(tr -d '\r\n' < "$repo/VERSION")"
printf '%s' "$version" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z.-]+)?$' || {
echo "VERSION is not a semantic version" >&2
exit 1
}
require_literal() {
file="$1"
grep -F "$version" "$repo/$file" >/dev/null || {
echo "$file does not reference release $version" >&2
exit 1
}
}
for file in \
CHANGELOG.md \
deploy/README.md \
deploy/compose.dolphin.yml \
deploy/compose.yml \
deploy/ludarium-unraid.xml \
deploy/unraid/my-Ludarium.xml
do
require_literal "$file"
done
grep -F 'ReadAllText('"'"'$(MSBuildThisFileDirectory)VERSION'"'"')' "$repo/Directory.Build.props" >/dev/null || {
echo "Directory.Build.props does not derive the assembly version from VERSION" >&2
exit 1
}
for dockerfile in Dockerfile Dockerfile.unraid
do
grep -E '^COPY .*VERSION.*Directory.Build.props|^COPY .*Directory.Build.props.*VERSION' "$repo/$dockerfile" >/dev/null || {
echo "$dockerfile does not copy VERSION into the build context" >&2
exit 1
}
done
grep -F 'ReleaseIdentity.Version' "$repo/src/Ludarium.Api/Program.cs" >/dev/null
grep -F 'release_identity="$(tr' "$repo/deploy/run-candidate-gate.sh" >/dev/null
if grep -R -n -E --include='*.cs' '0\.4\.[0-9]+-rc\.[0-9]+' \
"$repo/src/Ludarium.Api" "$repo/src/Ludarium.Application" "$repo/src/Ludarium.Infrastructure" |
grep -v -F "$version"; then
echo "A runtime release identifier bypasses ReleaseIdentity" >&2
exit 1
fi
printf 'release identity verified: %s\n' "$version"