From d974e632870dec1a657d03d899b4c346d254ddfa Mon Sep 17 00:00:00 2001 From: fithwum Date: Thu, 10 Jul 2025 14:55:58 -0700 Subject: [PATCH] this is a test --- .gitea/workflows/base-build.yml | 47 ++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/base-build.yml b/.gitea/workflows/base-build.yml index 931b88c..5d4ef4e 100644 --- a/.gitea/workflows/base-build.yml +++ b/.gitea/workflows/base-build.yml @@ -25,8 +25,10 @@ jobs: outputs: should_build_alpine: ${{ steps.check.outputs.should_build_alpine }} should_build_debian: ${{ steps.check.outputs.should_build_debian }} + should_build_basic: ${{ steps.check.outputs.should_build_basic }} alpine_digest: ${{ steps.get_digest.outputs.alpine_digest }} debian_digest: ${{ steps.get_digest.outputs.debian_digest }} + basic_digest: ${{ steps.get_digest.outputs.basic_digest }} steps: - name: Checkout code @@ -44,8 +46,10 @@ jobs: run: | alpine_digest=$(docker inspect --format='{{index .RepoDigests 0}}' alpine:latest || echo "unknown") debian_digest=$(docker inspect --format='{{index .RepoDigests 0}}' gitea.fithwum.tech/${{ secrets.GIT_USERNAME }}/debian-base:bookworm || echo "unknown") + basic_digest=$(docker inspect --format='{{index .RepoDigests 0}}' gitea.fithwum.tech/${{ secrets.GIT_USERNAME }}/debian-base:bookworm || echo "unknown") echo "alpine_digest=$alpine_digest" >> $GITHUB_OUTPUT echo "debian_digest=$debian_digest" >> $GITHUB_OUTPUT + echo "basic_digest=$basic_digest" >> $GITHUB_OUTPUT - name: Compare digests and detect changes id: check @@ -84,6 +88,7 @@ jobs: check_variant "alpine" "${{ steps.get_digest.outputs.alpine_digest }}" check_variant "debian" "${{ steps.get_digest.outputs.debian_digest }}" + check_variant "basic" "${{ steps.get_digest.outputs.basic_digest }}" build-alpine: needs: check-for-changes @@ -131,7 +136,21 @@ jobs: echo "[INFO] Building $IMAGE" docker buildx build --platform linux/amd64 --push -t "$IMAGE" --metadata-file "$METAFILE" ./debian - - name: Build and Push Basic Image (depends on debian) + build-basic: + needs: check-for-changes + if: needs.check-for-changes.outputs.should_build_basic == 'true' + runs-on: doc-docker-build + outputs: + built: 'true' + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Login to Docker registry + run: | + echo "${{ secrets.GIT_TOKEN }}" | docker login gitea.fithwum.tech -u "${{ secrets.GIT_USERNAME }}" --password-stdin + + - name: Build and Push Basic Image run: | IMAGE="${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_ORG }}/${{ env.IMAGE_REPO_TS }}:basic" METAFILE2="${{ env.CACHE_DIR }}/metadata-basic.json" @@ -143,7 +162,8 @@ jobs: needs: check-for-changes if: | needs.check-for-changes.outputs.should_build_alpine == 'true' || - needs.check-for-changes.outputs.should_build_debian == 'true' + needs.check-for-changes.outputs.should_build_debian == 'true' || + needs.check-for-changes.outputs.should_build_basic == 'true' runs-on: doc-docker-build steps: - name: Checkout source @@ -160,6 +180,9 @@ jobs: if [[ "${{ needs.check-for-changes.outputs.should_build_debian }}" == "true" ]]; then versions+=("debian") fi + if [[ "${{ needs.check-for-changes.outputs.should_build_basic }}" == "true" ]]; then + versions+=("basic") + fi for version in "${versions[@]}"; do echo "[INFO] Updating changelog for $version" @@ -219,8 +242,9 @@ jobs: IMAGE_REGISTRY: ${{ env.IMAGE_REGISTRY }} IMAGE_ORG: ${{ env.IMAGE_ORG }} IMAGE_REPO_TS: ${{ env.IMAGE_REPO_TS }} - ALPINE_DIGEST: ${{ needs.check-for-changes.outputs.alpine_digest }} - DEBIAN_DIGEST: ${{ needs.check-for-changes.outputs.debian_digest }} + ALPINE_DIGEST: ${{ needs.check-for-changes.outputs.alpine_digest || 'unknown' }} + DEBIAN_DIGEST: ${{ needs.check-for-changes.outputs.debian_digest || 'unknown' }} + BASIC_DIGEST: ${{ needs.check-for-changes.outputs.basic_digest || 'unknown' }} run: | human_size() { local b=$1 @@ -236,8 +260,15 @@ jobs: } versions=() - [[ "${{ needs.check-for-changes.outputs.should_build_alpine }}" == "true" ]] && versions+=("alpine") - [[ "${{ needs.check-for-changes.outputs.should_build_debian }}" == "true" ]] && versions+=("debian") + if [[ "${{ needs.check-for-changes.outputs.should_build_alpine }}" == "true" ]]; then + versions+=("alpine") + fi + if [[ "${{ needs.check-for-changes.outputs.should_build_debian }}" == "true" ]]; then + versions+=("debian") + fi + if [[ "${{ needs.check-for-changes.outputs.should_build_basic }}" == "true" ]]; then + versions+=("basic") + fi for version in "${versions[@]}"; do echo "[INFO] Generating build-info.json for $version" @@ -254,6 +285,8 @@ jobs: base_digest="$ALPINE_DIGEST" elif [ "$version" = "debian" ]; then base_digest="$DEBIAN_DIGEST" + elif [ "$version" = "basic" ]; then + base_digest="$BASIC_DIGEST" fi jq -n \ @@ -286,7 +319,7 @@ jobs: git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" git push - for version in alpine debian; do + for version in alpine debian basic; do TAG="build-$version" git tag -d "$TAG" 2>/dev/null || true git tag "$TAG"