Move gitweb build into its own path-filtered workflow
Only triggers on pushes to main when gitweb-related files change
(Dockerfile.gitweb, conf/*, the workflow itself). Removes the
build-gitweb job from the main CI workflow.
Assisted-by: GLM-5.1 via pi
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 1426158..5e13731 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -83,38 +83,3 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
STEPS_META_OUTPUTS_VERSION: ${{ steps.meta.outputs.version }}
run: gh release create "${STEPS_META_OUTPUTS_VERSION}" --generate-notes
-
- build-gitweb:
- name: Build gitweb
- needs: test
- if: github.ref == 'refs/heads/main' && github.event_name == 'push'
- runs-on: ubuntu-latest
- permissions:
- packages: write # push container image to GHCR.
- steps:
- - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- with:
- persist-credentials: false
- - uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- - uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
- with:
- registry: ghcr.io
- username: ${{ github.actor }}
- password: ${{ secrets.GITHUB_TOKEN }}
- - id: short-sha
- run: echo "sha=${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT"
- - uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
- id: meta
- with:
- images: ghcr.io/${{ github.repository }}-gitweb
- tags: |
- type=raw,value={{date 'YYYYMMDD'}}-${{ steps.short-sha.outputs.sha }}
- - uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
- with:
- context: .
- file: Dockerfile.gitweb
- push: true
- tags: ${{ steps.meta.outputs.tags }}
- labels: ${{ steps.meta.outputs.labels }}
- cache-from: type=gha
- cache-to: type=gha,mode=max
diff --git a/.github/workflows/gitweb.yml b/.github/workflows/gitweb.yml
new file mode 100644
index 0000000..d2889c3
--- /dev/null
+++ b/.github/workflows/gitweb.yml
@@ -0,0 +1,50 @@
+name: Gitweb
+
+on:
+ push:
+ branches: [main]
+ paths:
+ - Dockerfile.gitweb
+ - conf/gitweb.conf
+ - conf/lighttpd.conf
+ - .github/workflows/gitweb.yml
+
+permissions: {}
+
+concurrency:
+ group: ${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ build:
+ name: Build gitweb
+ runs-on: ubuntu-latest
+ permissions:
+ packages: write # push container image to GHCR.
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ with:
+ persist-credentials: false
+ - uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
+ - uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
+ with:
+ registry: ghcr.io
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
+ - id: short-sha
+ run: echo "sha=${GITHUB_SHA::7}" >> "$GITHUB_OUTPUT"
+ - uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
+ id: meta
+ with:
+ images: ghcr.io/${{ github.repository }}-gitweb
+ tags: |
+ type=raw,value={{date 'YYYYMMDD'}}-${{ steps.short-sha.outputs.sha }}
+ - uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
+ with:
+ context: .
+ file: Dockerfile.gitweb
+ push: true
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max