From a51ed09f3bc32d2f38c3a3f2fa65f729b37ec98d Mon Sep 17 00:00:00 2001 From: fithwum Date: Mon, 7 Jul 2025 08:37:53 -0700 Subject: [PATCH] test --- .gitea/workflows/base-build.yml | 72 ++++---------------------- base-image-script/debian-build_pt3.sh | 73 ++------------------------- 2 files changed, 15 insertions(+), 130 deletions(-) diff --git a/.gitea/workflows/base-build.yml b/.gitea/workflows/base-build.yml index c6d6bb7..517d6e3 100644 --- a/.gitea/workflows/base-build.yml +++ b/.gitea/workflows/base-build.yml @@ -20,7 +20,6 @@ env: jobs: build-rootfs-archives: runs-on: docker-build - steps: - name: Checkout source uses: actions/checkout@v3 @@ -29,9 +28,6 @@ jobs: run: | versions=(buster bullseye bookworm trixie docker-build) - # Clear previous checksum file if exists - rm -f sha256sums.txt - for version in "${versions[@]}"; do echo "[INFO] Building Debian $version rootfs..." docker build --build-arg VERSION=$version -t fithwum/debian-$version-base . @@ -40,20 +36,18 @@ jobs: -v "$(pwd)":/output \ fithwum/debian-$version-base \ bash base-image-script/debian-${version}_pt1.sh + done - ARCHIVE_PATH="./${version}/rootfs-${version}.tar.bz2" - - # Check if archive exists - if [[ -f "$ARCHIVE_PATH" ]]; then - echo "[INFO] Archive found at $ARCHIVE_PATH" - - # Calculate and log SHA256 checksum - CHECKSUM=$(sha256sum "$ARCHIVE_PATH" | awk '{print $1}') - echo "[INFO] SHA256 for $ARCHIVE_PATH: $CHECKSUM" - echo "$CHECKSUM $ARCHIVE_PATH" >> sha256sums.txt + - name: Calculate SHA256 checksums + run: | + rm -f sha256sums.txt + for tarball in */rootfs-*.tar.bz2; do + if [[ -f "$tarball" ]]; then + checksum=$(sha256sum "$tarball" | awk '{print $1}') + echo "$checksum $tarball" >> sha256sums.txt + echo "[INFO] SHA256 for $tarball: $checksum" else - echo "[ERROR] Archive not found at $ARCHIVE_PATH" - exit 1 + echo "[WARN] File not found: $tarball" fi done @@ -68,54 +62,11 @@ jobs: name: sha256sums path: sha256sums.txt - - - - - - - - - - - - - - - - - # build-rootfs-archives: - # runs-on: docker-build - - # steps: - # - name: Checkout source - # uses: actions/checkout@v3 - - # - name: Build all Debian rootfs versions sequentially - # run: | - # versions=(buster bullseye bookworm trixie docker-build) - - # for version in "${versions[@]}"; do - # echo "[INFO] Building Debian $version rootfs..." - # docker build --build-arg VERSION=$version -t fithwum/debian-$version-base . - - # docker run --rm --privileged \ - # -v "$(pwd)":/output \ - # fithwum/debian-$version-base \ - # bash base-image-script/debian-${version}_pt1.sh - # done - - # - name: List output archives - # run: | - # echo "[INFO] Looking for tarballs in workspace..." - # find . -name '*.tar.bz2' -ls - push-archives-to-repo: needs: build-rootfs-archives runs-on: docker-build outputs: archives_changed: ${{ steps.commit_archives.outputs.archives_changed }} - steps: - name: Checkout source uses: actions/checkout@v3 @@ -161,7 +112,6 @@ jobs: needs: push-archives-to-repo if: needs.push-archives-to-repo.outputs.archives_changed == 'true' runs-on: docker-build - steps: - name: Checkout source uses: actions/checkout@v3 @@ -187,7 +137,6 @@ jobs: generate-changelogs: needs: build-and-push-docker-images runs-on: docker-build - steps: - name: Checkout source uses: actions/checkout@v3 @@ -236,7 +185,6 @@ jobs: generate-build-info: needs: generate-changelogs runs-on: docker-build - steps: - name: Checkout source uses: actions/checkout@v3 diff --git a/base-image-script/debian-build_pt3.sh b/base-image-script/debian-build_pt3.sh index 5fa7e6a..140896f 100644 --- a/base-image-script/debian-build_pt3.sh +++ b/base-image-script/debian-build_pt3.sh @@ -14,10 +14,7 @@ else fi fi -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" +TARBALL="/output/${ROOTFS_DIR}.tar.bz2" echo "[INFO] Unmounting system directories (ignore errors)..." for dir in sys proc dev/pts dev; do @@ -25,75 +22,15 @@ for dir in sys proc dev/pts dev; do done echo "[INFO] Removing chroot script..." -rm -f "$ROOTFS_DIR/root/"*.sh 2>/dev/null || true +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..." -mkdir -p "$(dirname "$TARBALL_PATH")" -tar -cjf "$TARBALL_PATH" -C "$ROOTFS_DIR" . +tar -cjf "$TARBALL" -C "$ROOTFS_DIR" . echo "[INFO] Image archive size:" -du -sh "$TARBALL_PATH" +du -sh "$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" +echo "[INFO] Tarball ready for CI to upload: $TARBALL"