fix(ci): add checksum verification to AUR update workflow

This commit is contained in:
Marco Cadetg
2026-03-18 19:52:20 +01:00
parent 8403a0f5a2
commit 002eb555ed
+40
View File
@@ -66,6 +66,46 @@ jobs:
env:
GH_TOKEN: ${{ github.token }}
- name: Verify checksums match release assets
run: |
TAG="${{ steps.version.outputs.tag }}"
EXPECTED_X64="${{ steps.checksums.outputs.x64_checksum }}"
EXPECTED_ARM64="${{ steps.checksums.outputs.arm64_checksum }}"
FAILED=0
echo "Re-downloading assets to verify checksums are stable..."
ASSET_X64="rustnet-${TAG}-x86_64-unknown-linux-gnu.tar.gz"
ASSET_ARM64="rustnet-${TAG}-aarch64-unknown-linux-gnu.tar.gz"
gh release download "$TAG" -p "$ASSET_X64" -p "$ASSET_ARM64" -D /tmp/verify
ACTUAL_X64=$(sha256sum "/tmp/verify/$ASSET_X64" | awk '{print $1}')
ACTUAL_ARM64=$(sha256sum "/tmp/verify/$ASSET_ARM64" | awk '{print $1}')
rm -rf /tmp/verify
if [ "$ACTUAL_X64" != "$EXPECTED_X64" ]; then
echo "::error::x86_64 checksum mismatch: expected $EXPECTED_X64, got $ACTUAL_X64"
FAILED=1
else
echo " ✓ x86_64 checksum verified"
fi
if [ "$ACTUAL_ARM64" != "$EXPECTED_ARM64" ]; then
echo "::error::aarch64 checksum mismatch: expected $EXPECTED_ARM64, got $ACTUAL_ARM64"
FAILED=1
else
echo " ✓ aarch64 checksum verified"
fi
if [ "$FAILED" -ne 0 ]; then
echo "::error::Checksum verification failed — aborting to prevent pushing stale checksums to AUR"
exit 1
fi
echo "All checksums verified successfully"
env:
GH_TOKEN: ${{ github.token }}
- name: Setup SSH for AUR
run: |
mkdir -p ~/.ssh