diff options
Diffstat (limited to '.forgejo/workflows/build-iso.yml')
| -rw-r--r-- | .forgejo/workflows/build-iso.yml | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/.forgejo/workflows/build-iso.yml b/.forgejo/workflows/build-iso.yml index 6d72321..8386b3f 100644 --- a/.forgejo/workflows/build-iso.yml +++ b/.forgejo/workflows/build-iso.yml @@ -172,45 +172,58 @@ jobs: - name: Check ISO for broken library links run: | - set -euo pipefail + set -u sudo modprobe loop || true ISO_FILE=$(ls output/*.iso | head -1) MOUNT_DIR=$(mktemp -d) - + echo "ISO: $ISO_FILE" if ! sudo mount -o loop,ro "$ISO_FILE" "$MOUNT_DIR" 2>/dev/null; then - echo "FIGYELMEZETES: ISO mountolas sikertelen (loop eszkoz nem elerheto), ldd ellenorzes kihagyva" - rmdir "$MOUNT_DIR" + echo "FIGYELMEZTETES: ISO mountolas sikertelen, ellenorzes kihagyva" + rmdir "$MOUNT_DIR" 2>/dev/null || true exit 0 fi BROKEN=0 + TOTAL=0 while IFS= read -r bin; do + TOTAL=$((TOTAL+1)) result=$(sudo chroot "$MOUNT_DIR" ldd "${bin#$MOUNT_DIR}" 2>/dev/null | grep "not found" || true) if [ -n "$result" ]; then echo "TOROTT: $bin" echo "$result" BROKEN=1 fi - done < <(find "$MOUNT_DIR" -type f \( -name "*.so*" -o -perm /111 \) 2>/dev/null | xargs -r file 2>/dev/null | grep ELF | cut -d: -f1) + done < <(find "$MOUNT_DIR" -type f \( -name "*.so*" -o -perm /111 \) 2>/dev/null | xargs -r file 2>/dev/null | grep ELF | cut -d: -f1 || true) + echo "Vizsgalt binarisok: $TOTAL" - sudo umount "$MOUNT_DIR" - rmdir "$MOUNT_DIR" + sudo umount "$MOUNT_DIR" 2>/dev/null || sudo umount -l "$MOUNT_DIR" 2>/dev/null || true + rmdir "$MOUNT_DIR" 2>/dev/null || true if [ "$BROKEN" -eq 1 ]; then - echo "HIBA: Torott library linkek az ISO-ban. Build leallitva." + echo "HIBA: Torott library linkek az ISO-ban." exit 1 fi echo "ISO library ellenorzes: OK" - name: Upload ISO artifact (nem publikus) - if: success() + if: always() continue-on-error: true uses: actions/upload-artifact@v4 with: name: raveos-iso path: output/*.iso + if-no-files-found: warn retention-days: 7 + - name: Save ISO to persistent dir + if: always() + continue-on-error: true + run: | + mkdir -p /home/nippy/iso-out + cp -v output/*.iso /home/nippy/iso-out/ 2>/dev/null || true + ls -t /home/nippy/iso-out/*.iso 2>/dev/null | tail -n +3 | xargs -r rm -f + ls -lh /home/nippy/iso-out/ 2>/dev/null | tail -5 + - name: Upload ISO to release server if: success() && github.event_name == 'workflow_dispatch' && github.event.inputs.release == 'yes' run: | |