diff --git a/.gitea/workflows/docker.yml b/.gitea/workflows/docker.yml index 311e2eb..f846d9e 100644 --- a/.gitea/workflows/docker.yml +++ b/.gitea/workflows/docker.yml @@ -9,7 +9,7 @@ jobs: docker: runs-on: [docker, linux, x86_64] - # Brug et image der allerede har docker-cli + # Kør i container med docker-cli (runneren monterer docker.sock automatisk) container: image: docker:27-cli @@ -17,17 +17,17 @@ jobs: - name: Install git + certs run: apk add --no-cache git ca-certificates - - name: Set base URL (brug altid offentlig adresse) + - name: Sæt BASE_URL (offentlig adresse) run: echo "BASE_URL=https://git.ckvist.dk" >> $GITHUB_ENV - # ✅ PUBLIC repo + # PUBLIC repo (ingen token nødvendig) - name: Checkout (public) if: ${{ !secrets.CI_CLONE_TOKEN }} run: | git clone "${BASE_URL}/${GITHUB_REPOSITORY}.git" . git rev-parse --short HEAD - # 🔒 PRIVATE repo + # PRIVATE repo (brug PAT/token i secret CI_CLONE_TOKEN) - name: Checkout (private) if: ${{ secrets.CI_CLONE_TOKEN }} run: | @@ -41,15 +41,51 @@ jobs: run: | docker build -t jottacloud:latest . - # (Valgfrit) Push til dit registry - - name: Login & push + - name: Forbered tags til Gitea Registry + id: meta + run: | + # Registry host (krævet som secret) + REG="${{ secrets.REGISTRY }}" + if [ -z "$REG" ]; then + echo "Missing secret REGISTRY (fx git.ckvist.dk)"; exit 1 + fi + + # Billednavn: brug secret IMAGE_NAME hvis sat, ellers owner/repo + if [ -n "${{ secrets.IMAGE_NAME }}" ]; then + IMG="${{ secrets.IMAGE_NAME }}" + else + IMG="$GITHUB_REPOSITORY" + fi + + # Normalisér til lowercase (docker kræver lowercase repo-navne) + IMG_LC="$(printf '%s' "$IMG" | tr '[:upper:]' '[:lower:]')" + + TAG_SHORT="$(git rev-parse --short HEAD)" + + echo "REG=$REG" >> $GITHUB_OUTPUT + echo "IMG=$IMG_LC" >> $GITHUB_OUTPUT + echo "TAG_SHORT=$TAG_SHORT" >> $GITHUB_OUTPUT + echo "FULL_LATEST=$REG/$IMG_LC:latest" >> $GITHUB_OUTPUT + echo "FULL_SHA=$REG/$IMG_LC:$TAG_SHORT" >> $GITHUB_OUTPUT + + - name: Login & push til Gitea Registry if: ${{ secrets.REGISTRY && secrets.REGISTRY_USER && secrets.REGISTRY_PASSWORD }} run: | - REG="${{ secrets.REGISTRY }}" - IMG="${{ secrets.IMAGE_NAME || 'jottacloud' }}" - TAG_SHORT="$(git rev-parse --short HEAD)" - docker login "$REG" -u "${{ secrets.REGISTRY_USER }}" -p "${{ secrets.REGISTRY_PASSWORD }}" - docker tag jottacloud:latest "$REG/$IMG:latest" - docker tag jottacloud:latest "$REG/$IMG:${TAG_SHORT}" - docker push "$REG/$IMG:latest" - docker push "$REG/$IMG:${TAG_SHORT}" + docker login "${{ steps.meta.outputs.REG }}" \ + -u "${{ secrets.REGISTRY_USER }}" \ + -p "${{ secrets.REGISTRY_PASSWORD }}" + + docker tag jottacloud:latest "${{ steps.meta.outputs.FULL_LATEST }}" + docker tag jottacloud:latest "${{ steps.meta.outputs.FULL_SHA }}" + + docker push "${{ steps.meta.outputs.FULL_LATEST }}" + docker push "${{ steps.meta.outputs.FULL_SHA }}" + + - name: Vis push-resultat + if: ${{ success() && secrets.REGISTRY }} + run: | + echo "Pushed:" + echo " ${{ steps.meta.outputs.FULL_LATEST }}" + echo " ${{ steps.meta.outputs.FULL_SHA }}" + echo + echo "Tjek i Gitea GUI: Repository → Packages → Container Registry"