release.yml: set -e -x + explicit .deb presence check on builds
Some checks failed
Forgejo Release postit-deb / release (push) Failing after 4m23s

Without set -e, a failing dpkg-buildpackage inside 'make deb' was
silently swallowed by the Makefile's 'mv ... || true' pattern,
which matches any leftover amd64 .deb and exits 0. The build step
then succeeded without producing an arm64 .deb.

This adds:
- set -e -x at the start of each build step (fail on first error,
  trace all commands so the root cause is visible in logs)
- explicit ls + exit 1 check after make deb to confirm the
  expected .deb was actually produced

If arm64 cross-build still fails, we'll see exactly where now.
This commit is contained in:
Paul Schneider 2026-08-17 17:17:37 +01:00
commit 58a9d6c54f
No known key found for this signature in database
GPG key ID: 1E66C65EE2B46F1B

View file

@ -222,21 +222,45 @@ jobs:
env: env:
POSTIT_RUNTIME: linux-x64 POSTIT_RUNTIME: linux-x64
run: | run: |
set -e -x
TAG=$(jq -r '.tag' "$STATE_FILE") TAG=$(jq -r '.tag' "$STATE_FILE")
cd /src/_src cd /src/_src
echo "→ Building amd64 for POSTIT_GIT_TAG=$TAG" echo "→ Building amd64 for POSTIT_GIT_TAG=$TAG"
make deb POSTIT_GIT_TAG="$TAG" POSTIT_RUNTIME=linux-x64 make deb POSTIT_GIT_TAG="$TAG" POSTIT_RUNTIME=linux-x64
DEB_AMD64=$(ls postit_*${TAG}-1_amd64.deb 2>/dev/null || true)
if [[ -z "$DEB_AMD64" ]]; then
echo "::error::Build .deb amd64 did not produce postit_*${TAG}-1_amd64.deb"
ls -la
exit 1
fi
echo "✓ Built $DEB_AMD64"
set +x
- name: Build .deb arm64 - name: Build .deb arm64
env: env:
POSTIT_RUNTIME: linux-arm64 POSTIT_RUNTIME: linux-arm64
run: | run: |
set -e -x
TAG=$(jq -r '.tag' "$STATE_FILE") TAG=$(jq -r '.tag' "$STATE_FILE")
cd /src/_src cd /src/_src
echo "→ Building arm64 for POSTIT_GIT_TAG=$TAG" echo "→ Building arm64 for POSTIT_GIT_TAG=$TAG"
# Cross-RID .NET depuis un hôte amd64 : standard, pas # Cross-RID .NET depuis un hôte amd64 : standard, pas
# besoin de runner arm64 natif. # besoin de runner arm64 natif.
make deb POSTIT_GIT_TAG="$TAG" POSTIT_RUNTIME=linux-arm64 make deb POSTIT_GIT_TAG="$TAG" POSTIT_RUNTIME=linux-arm64
# Verify the arm64 .deb was actually produced. Without
# this check, a silent dpkg-buildpackage failure would
# let the step exit 0 (the Makefile's mv || true matches
# any leftover amd64 .deb and exits successfully), and
# the failure would only surface in the next step.
DEB_ARM64=$(ls postit_*${TAG}-1_arm64.deb 2>/dev/null || true)
if [[ -z "$DEB_ARM64" ]]; then
echo "::error::Build .deb arm64 did not produce postit_*${TAG}-1_arm64.deb"
echo "Inspect the dpkg-buildpackage output above for the root cause."
ls -la
exit 1
fi
echo "✓ Built $DEB_ARM64"
set +x
- name: Localiser les .deb produits - name: Localiser les .deb produits
run: | run: |