diff --git a/.gitea/workflows/pipeline.yml b/.gitea/workflows/pipeline.yml index 1738704..d25b32a 100644 --- a/.gitea/workflows/pipeline.yml +++ b/.gitea/workflows/pipeline.yml @@ -152,6 +152,22 @@ jobs: echo "[INFO] Building $IMAGE" docker buildx build --platform linux/amd64 --push -t "$IMAGE" --metadata-file "$METAFILE2" ./basic + generate-build-info: + needs: + - build-alpine + - build-debian + - build-basic + if: | + needs.build-alpine.outputs.built == 'true' || + needs.build-debian.outputs.built == 'true' || + needs.build-basic.outputs.built == 'true' + runs-on: vm-docker-build2 + steps: + - name: Checkout source + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Generate build-info.json only for updated variants env: IMAGE_REGISTRY: ${{ env.IMAGE_REGISTRY }} @@ -231,6 +247,34 @@ jobs: }' > "$infofile" done + - name: Commit and push build-info if changed + run: | + git config user.name "${{ secrets.GIT_USERNAME }}" + git config user.email "${{ secrets.GIT_EMAIL }}" + if git status --porcelain | grep .; then + git add */build-info.json + git commit -m "Update build-info on $(date -u +'%Y-%m-%dT%H:%M:%SZ')" + git push + + for version in alpine debian basic; do + TAG="build-$version" + git tag -d "$TAG" 2>/dev/null || true + git tag "$TAG" + git push origin "$TAG" --force + done + else + echo "[INFO] No build-info changes to commit." + fi + + - name: Show generated build-info + run: | + for version in alpine debian basic; do + echo "::group::$version build-info.json" + ls -l "$version/build-info.json" || echo "❌ missing" + cat "$version/build-info.json" || echo "❌ empty" + echo "::endgroup::" + done + generate-changelogs: needs: generate-build-info if: |