fix docker build
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
# Prüft täglich um 20:00 Uhr (MESZ) auf Updates und baut ein neues Docker Image
|
# Prüft täglich um 20:00 Uhr (MESZ) auf Updates und baut ein neues Docker Image
|
||||||
# Quelle: https://github.com/steveseguin/vdo.ninja
|
# Quelle: https://github.com/steveseguin/vdo.ninja
|
||||||
|
|
||||||
name: 🐳 Daily Docker Build
|
name: Daily Docker Build
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
@@ -16,16 +16,16 @@ env:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-and-build:
|
check-and-build:
|
||||||
name: 🔍 Update-Check & Build
|
name: Update-Check & Build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: 📥 Checkout Repository
|
- name: Checkout Repository
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: 🔍 Auf VDO.Ninja Updates prüfen
|
- name: Auf VDO.Ninja Updates prüfen
|
||||||
id: check
|
id: check
|
||||||
run: |
|
run: |
|
||||||
# Neuesten Versions-Tag vom Upstream ermitteln (z.B. v29.0)
|
# Neuesten Versions-Tag vom Upstream ermitteln (z.B. v29.0)
|
||||||
@@ -49,20 +49,20 @@ jobs:
|
|||||||
-H "Accept: application/vnd.docker.distribution.manifest.v2+json" 2>/dev/null || echo "000")
|
-H "Accept: application/vnd.docker.distribution.manifest.v2+json" 2>/dev/null || echo "000")
|
||||||
|
|
||||||
if [ "$HTTP_CODE" = "200" ] && [ "${{ github.event_name }}" != "workflow_dispatch" ]; then
|
if [ "$HTTP_CODE" = "200" ] && [ "${{ github.event_name }}" != "workflow_dispatch" ]; then
|
||||||
echo "✅ Image mit Version ${UPSTREAM_TAG} existiert bereits. Build wird übersprungen."
|
echo "Image mit Version ${UPSTREAM_TAG} existiert bereits. Build wird übersprungen."
|
||||||
echo "should_build=false" >> "$GITHUB_OUTPUT"
|
echo "should_build=false" >> "$GITHUB_OUTPUT"
|
||||||
else
|
else
|
||||||
echo "🆕 Neue Version ${UPSTREAM_TAG} erkannt. Image wird gebaut."
|
echo "Neue Version ${UPSTREAM_TAG} erkannt. Image wird gebaut."
|
||||||
echo "should_build=true" >> "$GITHUB_OUTPUT"
|
echo "should_build=true" >> "$GITHUB_OUTPUT"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: 📦 VDO.Ninja Quellcode klonen
|
- name: VDO.Ninja Quellcode klonen
|
||||||
if: steps.check.outputs.should_build == 'true'
|
if: steps.check.outputs.should_build == 'true'
|
||||||
run: |
|
run: |
|
||||||
git clone --depth 1 ${{ env.UPSTREAM_REPO }} vdo-ninja-source
|
git clone --depth 1 ${{ env.UPSTREAM_REPO }} vdo-ninja-source
|
||||||
echo "📋 VDO.Ninja Commit: $(cd vdo-ninja-source && git rev-parse --short HEAD)"
|
echo "VDO.Ninja Commit: $(cd vdo-ninja-source && git rev-parse --short HEAD)"
|
||||||
|
|
||||||
- name: 🔐 Login zur Container Registry
|
- name: Login zur Container Registry
|
||||||
if: steps.check.outputs.should_build == 'true'
|
if: steps.check.outputs.should_build == 'true'
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
with:
|
with:
|
||||||
@@ -70,20 +70,41 @@ jobs:
|
|||||||
username: ${{ secrets.REGISTRY_USER }}
|
username: ${{ secrets.REGISTRY_USER }}
|
||||||
password: ${{ secrets.REGISTRY_TOKEN }}
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
|
|
||||||
- name: 🛠️ Docker Buildx einrichten
|
- name: Debug - Docker & Registry Info
|
||||||
|
if: steps.check.outputs.should_build == 'true'
|
||||||
|
run: |
|
||||||
|
echo "=== Docker Version ==="
|
||||||
|
docker version
|
||||||
|
echo ""
|
||||||
|
echo "=== Docker Info ==="
|
||||||
|
docker info --format '{{.ServerVersion}} / Driver: {{.Driver}}'
|
||||||
|
echo ""
|
||||||
|
echo "=== Buildx Version ==="
|
||||||
|
docker buildx version 2>/dev/null || echo "Buildx nicht verfügbar"
|
||||||
|
echo ""
|
||||||
|
echo "=== Image Tags ==="
|
||||||
|
echo "Latest: ${{ steps.check.outputs.registry }}/${{ secrets.REGISTRY_USER }}/${{ env.IMAGE_NAME }}:latest"
|
||||||
|
echo "Version: ${{ steps.check.outputs.registry }}/${{ secrets.REGISTRY_USER }}/${{ env.IMAGE_NAME }}:${{ steps.check.outputs.upstream_tag }}"
|
||||||
|
echo ""
|
||||||
|
echo "=== Registry API Test ==="
|
||||||
|
curl -sv -u "${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_TOKEN }}" \
|
||||||
|
"${{ vars.REGISTRY_URL }}/v2/${{ secrets.REGISTRY_USER }}/${{ env.IMAGE_NAME }}/tags/list" 2>&1 || true
|
||||||
|
|
||||||
|
- name: Docker Buildx einrichten
|
||||||
if: steps.check.outputs.should_build == 'true'
|
if: steps.check.outputs.should_build == 'true'
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
- name: 🏗️ Docker Image bauen und pushen
|
- name: Docker Image bauen und pushen
|
||||||
if: steps.check.outputs.should_build == 'true'
|
if: steps.check.outputs.should_build == 'true'
|
||||||
uses: docker/build-push-action@v6
|
uses: docker/build-push-action@v6
|
||||||
with:
|
with:
|
||||||
context: .
|
context: .
|
||||||
push: true
|
push: true
|
||||||
provenance: false
|
provenance: false
|
||||||
|
sbom: false
|
||||||
tags: |
|
tags: |
|
||||||
${{ steps.check.outputs.registry }}/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:latest
|
${{ steps.check.outputs.registry }}/${{ secrets.REGISTRY_USER }}/${{ env.IMAGE_NAME }}:latest
|
||||||
${{ steps.check.outputs.registry }}/${{ github.repository_owner }}/${{ env.IMAGE_NAME }}:${{ steps.check.outputs.upstream_tag }}
|
${{ steps.check.outputs.registry }}/${{ secrets.REGISTRY_USER }}/${{ env.IMAGE_NAME }}:${{ steps.check.outputs.upstream_tag }}
|
||||||
labels: |
|
labels: |
|
||||||
org.opencontainers.image.title=VDO.Ninja
|
org.opencontainers.image.title=VDO.Ninja
|
||||||
org.opencontainers.image.description=Self-hosted VDO.Ninja - Free browser-based peer-to-peer video streaming
|
org.opencontainers.image.description=Self-hosted VDO.Ninja - Free browser-based peer-to-peer video streaming
|
||||||
@@ -92,11 +113,11 @@ jobs:
|
|||||||
org.opencontainers.image.upstream=https://github.com/steveseguin/vdo.ninja
|
org.opencontainers.image.upstream=https://github.com/steveseguin/vdo.ninja
|
||||||
org.opencontainers.image.licenses=AGPL-3.0
|
org.opencontainers.image.licenses=AGPL-3.0
|
||||||
|
|
||||||
- name: 📊 Build-Zusammenfassung
|
- name: Build-Zusammenfassung
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
if [ "${{ steps.check.outputs.should_build }}" = "true" ]; then
|
if [ "${{ steps.check.outputs.should_build }}" = "true" ]; then
|
||||||
echo "### 🐳 Docker Build Zusammenfassung" >> $GITHUB_STEP_SUMMARY
|
echo "### Docker Build Zusammenfassung" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "" >> $GITHUB_STEP_SUMMARY
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "| Eigenschaft | Wert |" >> $GITHUB_STEP_SUMMARY
|
echo "| Eigenschaft | Wert |" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "|---|---|" >> $GITHUB_STEP_SUMMARY
|
echo "|---|---|" >> $GITHUB_STEP_SUMMARY
|
||||||
@@ -104,7 +125,7 @@ jobs:
|
|||||||
echo "| **VDO.Ninja Version** | \`${{ steps.check.outputs.upstream_tag }}\` |" >> $GITHUB_STEP_SUMMARY
|
echo "| **VDO.Ninja Version** | \`${{ steps.check.outputs.upstream_tag }}\` |" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "| **Tags** | \`latest\`, \`${{ steps.check.outputs.upstream_tag }}\` |" >> $GITHUB_STEP_SUMMARY
|
echo "| **Tags** | \`latest\`, \`${{ steps.check.outputs.upstream_tag }}\` |" >> $GITHUB_STEP_SUMMARY
|
||||||
else
|
else
|
||||||
echo "### ✅ Kein Update erforderlich" >> $GITHUB_STEP_SUMMARY
|
echo "### Kein Update erforderlich" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "" >> $GITHUB_STEP_SUMMARY
|
echo "" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "VDO.Ninja Version \`${{ steps.check.outputs.upstream_tag }}\` ist bereits als Image vorhanden." >> $GITHUB_STEP_SUMMARY
|
echo "VDO.Ninja Version \`${{ steps.check.outputs.upstream_tag }}\` ist bereits als Image vorhanden." >> $GITHUB_STEP_SUMMARY
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user