diff --git a/.gitea/workflows/base-build.yml b/.gitea/workflows/base-build.yml index 5b14cd3..7b5f5c8 100644 --- a/.gitea/workflows/base-build.yml +++ b/.gitea/workflows/base-build.yml @@ -1,133 +1,3 @@ -# name: Build, Upload RootFS, and Push Docker Images - -# on: -# push: -# branches: -# - main -# schedule: -# - cron: '0 12 * * 0' # Sundays at noon UTC - -# env: -# REPO_URL: ${{ secrets.REPO_URL2 }} -# GIT_USERNAME: ${{ secrets.GIT_USERNAME }} -# GIT_EMAIL: ${{ secrets.GIT_EMAIL }} -# DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} -# DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - -# jobs: -# 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 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 - -# steps: -# - name: Checkout source -# uses: actions/checkout@v3 - -# - name: Clone upload repo -# run: git clone "${{ env.REPO_URL }}" upload-repo - -# - name: Clean old archives in upload-repo -# run: rm -rf upload-repo/*/*.tar.bz2 - -# - name: Copy new archives to upload-repo -# run: | -# found=$(find . -name '*.tar.bz2') -# if [ -z "$found" ]; then -# echo "[WARNING] No .tar.bz2 archive found!" -# exit 1 -# fi - -# for filepath in $found; do -# version_dir=$(dirname "$filepath") -# mkdir -p upload-repo/"$version_dir" -# cp "$filepath" upload-repo/"$version_dir"/ -# done - -# - name: Generate and append changelogs -# run: | -# cd upload-repo -# for version in buster bullseye bookworm docker-build; do -# changelog="$version/CHANGES.md" -# mkdir -p "$(dirname "$changelog")" -# touch "$changelog" -# echo "[INFO] Updating changelog for $version" - -# echo -e "\n## $(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "$changelog" -# git log -n 5 --pretty=format:"- %s" >> "$changelog" -# done - -# - name: Commit and push archives if changed -# run: | -# cd upload-repo -# git config --global user.name "${{ env.GIT_USERNAME }}" -# git config --global user.email "${{ env.GIT_EMAIL }}" - -# if git status --porcelain | grep .; then -# git add . -# git commit -m "Update base images and changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" -# git push -# else -# echo "[INFO] No changes to commit." -# fi - -# build-and-push-docker-images: -# needs: push-archives-to-repo -# runs-on: docker-build - -# steps: -# - name: Checkout source -# uses: actions/checkout@v3 - -# - name: Set up Docker Buildx -# uses: docker/setup-buildx-action@v3 - -# - name: Log in to Gitea Registry -# run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login gitea.fithwum.tech -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin - -# - name: Build and push Docker images -# run: | -# IMAGE_REGISTRY=gitea.fithwum.tech -# IMAGE_ORG=fithwum -# IMAGE_REPO=debian-base - -# for TAG in buster bullseye bookworm docker-build; do -# FULL_IMAGE="${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}:${TAG}" -# echo "[INFO] Building and pushing $FULL_IMAGE" -# docker buildx build --platform linux/amd64 --push -t "$FULL_IMAGE" "./$TAG" -# done - - - - - - - name: Build, Upload RootFS, and Push Docker Images on: @@ -237,4 +107,43 @@ jobs: FULL_IMAGE="${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}:${TAG}" echo "[INFO] Building and pushing $FULL_IMAGE" docker buildx build --platform linux/amd64 --push -t "$FULL_IMAGE" "./$TAG" - done \ No newline at end of file + done + + generate-changelogs: + needs: build-and-push-docker-images + runs-on: docker-build + + steps: + - name: Checkout source + uses: actions/checkout@v3 + + - name: Clone upload repo + run: git clone "${{ env.REPO_URL }}" upload-repo + + - name: Generate and append changelogs + run: | + cd upload-repo + for version in buster bullseye bookworm docker-build; do + changelog="$version/CHANGES.md" + mkdir -p "$(dirname "$changelog")" + touch "$changelog" + + echo "[INFO] Updating $changelog" + + echo -e "\n## $(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "$changelog" + git log -n 5 --pretty=format:"- %s" >> "$changelog" + done + + - name: Commit and push changelogs if changed + run: | + cd upload-repo + git config --global user.name "${{ env.GIT_USERNAME }}" + git config --global user.email "${{ env.GIT_EMAIL }}" + + if git status --porcelain | grep .; then + git add */CHANGES.md + git commit -m "Update changelogs on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" + git push + else + echo "[INFO] No changelog changes to commit." + fi \ No newline at end of file