fix: publish only requested server release asset
This commit is contained in:
parent
8da7f10c6b
commit
4958e6ca44
|
|
@ -39,15 +39,15 @@ fi
|
||||||
|
|
||||||
"$RELEASE_SCRIPT" "$VERSION"
|
"$RELEASE_SCRIPT" "$VERSION"
|
||||||
|
|
||||||
shopt -s nullglob
|
ARCHIVE="$RELEASE_DIR/verstak-sync-server-linux-amd64-$VERSION.tar.gz"
|
||||||
ASSETS=("$RELEASE_DIR"/*.tar.gz "$RELEASE_DIR"/*.tgz)
|
if [[ ! -f "$ARCHIVE" ]]; then
|
||||||
|
echo "release archive not found: $ARCHIVE" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
ASSETS=("$ARCHIVE")
|
||||||
if [[ -f "$RELEASE_DIR/SHA256SUMS" ]]; then
|
if [[ -f "$RELEASE_DIR/SHA256SUMS" ]]; then
|
||||||
ASSETS+=("$RELEASE_DIR/SHA256SUMS")
|
ASSETS+=("$RELEASE_DIR/SHA256SUMS")
|
||||||
fi
|
fi
|
||||||
if [[ ${#ASSETS[@]} -eq 0 ]]; then
|
|
||||||
echo "no release assets found in $RELEASE_DIR" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if "$GIT_BIN" rev-parse -q --verify "refs/tags/$VERSION" >/dev/null; then
|
if "$GIT_BIN" rev-parse -q --verify "refs/tags/$VERSION" >/dev/null; then
|
||||||
if [[ "$("$GIT_BIN" rev-parse "${VERSION}^{commit}")" != "$HEAD" ]]; then
|
if [[ "$("$GIT_BIN" rev-parse "${VERSION}^{commit}")" != "$HEAD" ]]; then
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ PUBLISHER="$ROOT/scripts/publish-github-release.sh"
|
||||||
VERSION="v0.0.0-test"
|
VERSION="v0.0.0-test"
|
||||||
REPOSITORY="mirivlad/verstak-sync-server"
|
REPOSITORY="mirivlad/verstak-sync-server"
|
||||||
ASSET_NAME="verstak-sync-server-linux-amd64-${VERSION}.tar.gz"
|
ASSET_NAME="verstak-sync-server-linux-amd64-${VERSION}.tar.gz"
|
||||||
|
STALE_ASSET="verstak-sync-server-linux-amd64-v0.0.0-stale.tar.gz"
|
||||||
WORK="$(mktemp -d)"
|
WORK="$(mktemp -d)"
|
||||||
trap 'rm -rf "$WORK"' EXIT
|
trap 'rm -rf "$WORK"' EXIT
|
||||||
|
|
||||||
|
|
@ -27,6 +28,8 @@ printf 'checksum\n' > "$VERSTAK_RELEASE_DIR/SHA256SUMS"
|
||||||
SCRIPT
|
SCRIPT
|
||||||
chmod +x "$WORK/release.sh"
|
chmod +x "$WORK/release.sh"
|
||||||
|
|
||||||
|
printf 'stale archive\n' > "$WORK/release/$STALE_ASSET"
|
||||||
|
|
||||||
cat > "$WORK/bin/git" <<'SCRIPT'
|
cat > "$WORK/bin/git" <<'SCRIPT'
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
@ -84,6 +87,10 @@ grep -Fqx "push:origin:refs/tags/$VERSION" "$LOG"
|
||||||
grep -F "release create $VERSION" "$LOG" >/dev/null
|
grep -F "release create $VERSION" "$LOG" >/dev/null
|
||||||
grep -F "$ASSET_NAME" "$LOG" >/dev/null
|
grep -F "$ASSET_NAME" "$LOG" >/dev/null
|
||||||
grep -F "SHA256SUMS" "$LOG" >/dev/null
|
grep -F "SHA256SUMS" "$LOG" >/dev/null
|
||||||
|
if grep -F "$STALE_ASSET" "$LOG" >/dev/null; then
|
||||||
|
echo "publisher uploaded an archive from a different release version" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
run_publisher
|
run_publisher
|
||||||
grep -F "release upload $VERSION" "$LOG" >/dev/null
|
grep -F "release upload $VERSION" "$LOG" >/dev/null
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue