name: build-image on: push: branches: [ main ] workflow_dispatch: jobs: docker: runs-on: [docker, linux, x86_64] steps: - name: Debug env (optional) run: | echo "GITHUB_SERVER_URL=$GITHUB_SERVER_URL" echo "GITHUB_REPOSITORY=$GITHUB_REPOSITORY" # PUBLIC repo (ingen token) - name: Checkout (public) if: ${{ !secrets.CI_CLONE_TOKEN }} run: | git clone "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git" . git rev-parse --short HEAD # PRIVATE repo (brug PAT/token gemt som secret CI_CLONE_TOKEN) - name: Checkout (private) if: ${{ secrets.CI_CLONE_TOKEN }} run: | git clone "https://${{ secrets.CI_CLONE_TOKEN }}@${GITHUB_SERVER_URL#https://}/${GITHUB_REPOSITORY}.git" . git rev-parse --short HEAD - name: Build image (amd64) run: | docker build -t jottacloud:latest . # (Valgfrit) Push til registry hvis du har secrets sat - 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}"