test
Some checks failed
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / build-rootfs-archives (push) Failing after 1m48s
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / push-archives-to-repo (push) Has been skipped
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / build-and-push-docker-images (push) Has been skipped
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / generate-changelogs (push) Has been skipped
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / generate-build-info (push) Has been skipped
Some checks failed
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / build-rootfs-archives (push) Failing after 1m48s
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / push-archives-to-repo (push) Has been skipped
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / build-and-push-docker-images (push) Has been skipped
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / generate-changelogs (push) Has been skipped
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / generate-build-info (push) Has been skipped
This commit is contained in:
@@ -35,18 +35,26 @@ jobs:
|
||||
echo "[INFO] Building Debian $version rootfs..."
|
||||
docker build --build-arg VERSION=$version -t fithwum/debian-$version-base .
|
||||
|
||||
OUTPUT_DIR="$(pwd)/output"
|
||||
mkdir -p "$OUTPUT_DIR"
|
||||
|
||||
docker run --rm --privileged \
|
||||
-v "$(pwd)":/output \
|
||||
-v "$OUTPUT_DIR:/output" \
|
||||
fithwum/debian-$version-base \
|
||||
bash base-image-script/debian-${version}_pt1.sh
|
||||
|
||||
RAW_ARCHIVE="./debian-${version}.tar.bz2"
|
||||
if [[ ! -f "$RAW_ARCHIVE" ]]; then
|
||||
RAW_ARCHIVE="./output/debian-${version}.tar.bz2"
|
||||
fi
|
||||
|
||||
FINAL_ARCHIVE="${version}/rootfs-${version}.tar.bz2"
|
||||
|
||||
if [[ ! -f "$RAW_ARCHIVE" ]]; then
|
||||
mkdir -p "$(dirname "$FINAL_ARCHIVE")"
|
||||
RAW_ARCHIVE="./output/debian-${version}.tar.bz2"
|
||||
echo "[INFO] Moved archive to $FINAL_ARCHIVE"
|
||||
else
|
||||
echo "[ERROR] Archive for $version not found: $RAW_ARCHIVE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -f "$RAW_ARCHIVE" ]]; then
|
||||
mkdir -p "$(dirname "$FINAL_ARCHIVE")"
|
||||
mv "$RAW_ARCHIVE" "$FINAL_ARCHIVE"
|
||||
|
||||
@@ -14,7 +14,10 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
TARBALL="/output/${ROOTFS_DIR}.tar.bz2"
|
||||
VERSION_NAME="${ROOTFS_DIR#debian-}"
|
||||
TARBALL_NAME="rootfs-${VERSION_NAME}.tar.bz2"
|
||||
TARBALL_PATH="/output/${VERSION_NAME}/${TARBALL_NAME}"
|
||||
CHECKSUM_PATH="/output/${VERSION_NAME}/sha256sums.txt"
|
||||
|
||||
echo "[INFO] Unmounting system directories (ignore errors)..."
|
||||
for dir in sys proc dev/pts dev; do
|
||||
@@ -22,15 +25,75 @@ for dir in sys proc dev/pts dev; do
|
||||
done
|
||||
|
||||
echo "[INFO] Removing chroot script..."
|
||||
rm -f "$ROOTFS_DIR/root/${ROOTFS_DIR}_pt2.sh" 2>/dev/null || true
|
||||
rm -f "$ROOTFS_DIR/root/"*.sh 2>/dev/null || true
|
||||
|
||||
echo "[INFO] Rootfs size:"
|
||||
du -sh "$ROOTFS_DIR"
|
||||
|
||||
echo "[INFO] Creating compressed base image..."
|
||||
tar -cjf "$TARBALL" -C "$ROOTFS_DIR" .
|
||||
mkdir -p "$(dirname "$TARBALL_PATH")"
|
||||
tar -cjf "$TARBALL_PATH" -C "$ROOTFS_DIR" .
|
||||
|
||||
echo "[INFO] Image archive size:"
|
||||
du -sh "$TARBALL"
|
||||
du -sh "$TARBALL_PATH"
|
||||
|
||||
echo "[INFO] Tarball ready for CI to upload: $TARBALL"
|
||||
echo "[INFO] Calculating SHA256 checksum..."
|
||||
sha256sum "$TARBALL_PATH" > "$CHECKSUM_PATH"
|
||||
|
||||
echo "[INFO] Tarball ready at: $TARBALL_PATH"
|
||||
echo "[INFO] Checksum written to: $CHECKSUM_PATH"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# #!/bin/bash
|
||||
# # Copyright (c) 2025 fithwum
|
||||
# # All rights reserved
|
||||
# set -e
|
||||
|
||||
# # Auto-detect a single debian-* directory if not passed
|
||||
# if [ -n "$1" ]; then
|
||||
# ROOTFS_DIR="$1"
|
||||
# else
|
||||
# ROOTFS_DIR=$(find . -maxdepth 1 -type d -name "debian-*" | sed 's|^\./||' | head -n 1)
|
||||
# if [ -z "$ROOTFS_DIR" ]; then
|
||||
# echo "[ERROR] No debian-* rootfs directory found!"
|
||||
# exit 1
|
||||
# fi
|
||||
# fi
|
||||
|
||||
# TARBALL="/output/${ROOTFS_DIR}.tar.bz2"
|
||||
|
||||
# echo "[INFO] Unmounting system directories (ignore errors)..."
|
||||
# for dir in sys proc dev/pts dev; do
|
||||
# umount -lf "$ROOTFS_DIR/$dir" 2>/dev/null || true
|
||||
# done
|
||||
|
||||
# echo "[INFO] Removing chroot script..."
|
||||
# rm -f "$ROOTFS_DIR/root/${ROOTFS_DIR}_pt2.sh" 2>/dev/null || true
|
||||
|
||||
# echo "[INFO] Rootfs size:"
|
||||
# du -sh "$ROOTFS_DIR"
|
||||
|
||||
# echo "[INFO] Creating compressed base image..."
|
||||
# tar -cjf "$TARBALL" -C "$ROOTFS_DIR" .
|
||||
|
||||
# echo "[INFO] Image archive size:"
|
||||
# du -sh "$TARBALL"
|
||||
|
||||
# echo "[INFO] Tarball ready for CI to upload: $TARBALL"
|
||||
|
||||
Reference in New Issue
Block a user