name: build-image on: push: branches: [ main ] workflow_dispatch: jobs: docker: runs-on: [docker, linux, x86_64] # Brug et image der allerede har docker-cli container: image: docker:27-cli steps: - name: Install git + certs run: apk add --no-cache git ca-certificates - name: Set base URL (brug altid offentlig adresse) run: echo "BASE_URL=https://git.ckvist.dk" >> $GITHUB_ENV # ✅ PUBLIC repo - name: Checkout (public) if: ${{ !secrets.CI_CLONE_TOKEN }} run: | git clone "${BASE_URL}/${GITHUB_REPOSITORY}.git" . git rev-parse --short HEAD # 🔒 PRIVATE repo - name: Checkout (private) if: ${{ secrets.CI_CLONE_TOKEN }} run: | git clone "https://${{ secrets.CI_CLONE_TOKEN }}@${BASE_URL#https://}/${GITHUB_REPOSITORY}.git" . git rev-parse --short HEAD - name: Docker info run: docker version - name: Build image (amd64) run: | docker build -t jottacloud:latest . # (Valgfrit) Push til dit registry - name: Login & push 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}"