test
All checks were successful
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / build-rootfs-archives (push) Successful in 8m9s
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / push-archives-to-repo (push) Successful in 59s
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
All checks were successful
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / build-rootfs-archives (push) Successful in 8m9s
Build, Upload RootFS, and Push Docker Images, update changelog, update build info. / push-archives-to-repo (push) Successful in 59s
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:
@@ -20,7 +20,6 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
build-rootfs-archives:
|
build-rootfs-archives:
|
||||||
runs-on: docker-build
|
runs-on: docker-build
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout source
|
- name: Checkout source
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@@ -29,9 +28,6 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
versions=(buster bullseye bookworm trixie docker-build)
|
versions=(buster bullseye bookworm trixie docker-build)
|
||||||
|
|
||||||
# Clear previous checksum file if exists
|
|
||||||
rm -f sha256sums.txt
|
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
for version in "${versions[@]}"; do
|
||||||
echo "[INFO] Building Debian $version rootfs..."
|
echo "[INFO] Building Debian $version rootfs..."
|
||||||
docker build --build-arg VERSION=$version -t fithwum/debian-$version-base .
|
docker build --build-arg VERSION=$version -t fithwum/debian-$version-base .
|
||||||
@@ -40,20 +36,18 @@ jobs:
|
|||||||
-v "$(pwd)":/output \
|
-v "$(pwd)":/output \
|
||||||
fithwum/debian-$version-base \
|
fithwum/debian-$version-base \
|
||||||
bash base-image-script/debian-${version}_pt1.sh
|
bash base-image-script/debian-${version}_pt1.sh
|
||||||
|
done
|
||||||
|
|
||||||
ARCHIVE_PATH="./${version}/rootfs-${version}.tar.bz2"
|
- name: Calculate SHA256 checksums
|
||||||
|
run: |
|
||||||
# Check if archive exists
|
rm -f sha256sums.txt
|
||||||
if [[ -f "$ARCHIVE_PATH" ]]; then
|
for tarball in */rootfs-*.tar.bz2; do
|
||||||
echo "[INFO] Archive found at $ARCHIVE_PATH"
|
if [[ -f "$tarball" ]]; then
|
||||||
|
checksum=$(sha256sum "$tarball" | awk '{print $1}')
|
||||||
# Calculate and log SHA256 checksum
|
echo "$checksum $tarball" >> sha256sums.txt
|
||||||
CHECKSUM=$(sha256sum "$ARCHIVE_PATH" | awk '{print $1}')
|
echo "[INFO] SHA256 for $tarball: $checksum"
|
||||||
echo "[INFO] SHA256 for $ARCHIVE_PATH: $CHECKSUM"
|
|
||||||
echo "$CHECKSUM $ARCHIVE_PATH" >> sha256sums.txt
|
|
||||||
else
|
else
|
||||||
echo "[ERROR] Archive not found at $ARCHIVE_PATH"
|
echo "[WARN] File not found: $tarball"
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -68,54 +62,11 @@ jobs:
|
|||||||
name: sha256sums
|
name: sha256sums
|
||||||
path: sha256sums.txt
|
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:
|
push-archives-to-repo:
|
||||||
needs: build-rootfs-archives
|
needs: build-rootfs-archives
|
||||||
runs-on: docker-build
|
runs-on: docker-build
|
||||||
outputs:
|
outputs:
|
||||||
archives_changed: ${{ steps.commit_archives.outputs.archives_changed }}
|
archives_changed: ${{ steps.commit_archives.outputs.archives_changed }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout source
|
- name: Checkout source
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@@ -161,7 +112,6 @@ jobs:
|
|||||||
needs: push-archives-to-repo
|
needs: push-archives-to-repo
|
||||||
if: needs.push-archives-to-repo.outputs.archives_changed == 'true'
|
if: needs.push-archives-to-repo.outputs.archives_changed == 'true'
|
||||||
runs-on: docker-build
|
runs-on: docker-build
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout source
|
- name: Checkout source
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@@ -187,7 +137,6 @@ jobs:
|
|||||||
generate-changelogs:
|
generate-changelogs:
|
||||||
needs: build-and-push-docker-images
|
needs: build-and-push-docker-images
|
||||||
runs-on: docker-build
|
runs-on: docker-build
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout source
|
- name: Checkout source
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@@ -236,7 +185,6 @@ jobs:
|
|||||||
generate-build-info:
|
generate-build-info:
|
||||||
needs: generate-changelogs
|
needs: generate-changelogs
|
||||||
runs-on: docker-build
|
runs-on: docker-build
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout source
|
- name: Checkout source
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
|||||||
@@ -14,10 +14,7 @@ else
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
VERSION_NAME="${ROOTFS_DIR#debian-}"
|
TARBALL="/output/${ROOTFS_DIR}.tar.bz2"
|
||||||
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)..."
|
echo "[INFO] Unmounting system directories (ignore errors)..."
|
||||||
for dir in sys proc dev/pts dev; do
|
for dir in sys proc dev/pts dev; do
|
||||||
@@ -25,75 +22,15 @@ for dir in sys proc dev/pts dev; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
echo "[INFO] Removing chroot script..."
|
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:"
|
echo "[INFO] Rootfs size:"
|
||||||
du -sh "$ROOTFS_DIR"
|
du -sh "$ROOTFS_DIR"
|
||||||
|
|
||||||
echo "[INFO] Creating compressed base image..."
|
echo "[INFO] Creating compressed base image..."
|
||||||
mkdir -p "$(dirname "$TARBALL_PATH")"
|
tar -cjf "$TARBALL" -C "$ROOTFS_DIR" .
|
||||||
tar -cjf "$TARBALL_PATH" -C "$ROOTFS_DIR" .
|
|
||||||
|
|
||||||
echo "[INFO] Image archive size:"
|
echo "[INFO] Image archive size:"
|
||||||
du -sh "$TARBALL_PATH"
|
du -sh "$TARBALL"
|
||||||
|
|
||||||
echo "[INFO] Calculating SHA256 checksum..."
|
echo "[INFO] Tarball ready for CI to upload: $TARBALL"
|
||||||
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