kind: pipeline type: docker name: ci environment: DOCKER_BUILDKIT: 1 steps: - name: test-and-jar image: gradle:8.10.2-jdk21 # No host volumes; keep cache in the container layer only commands: - gradle --version - gradle --no-daemon clean test bootJar - name: build-image image: plugins/docker settings: registry: rubble.se:5000 repo: rubble.se:5000/hemhub/api dockerfile: Dockerfile username: from_secret: docker_username password: from_secret: docker_password tags: - ${DRONE_BRANCH/\//-}-${DRONE_COMMIT_SHA:0:7} - latest buildkit: true labels: org.opencontainers.image.source: ${DRONE_GIT_HTTP_URL} org.opencontainers.image.revision: ${DRONE_COMMIT_SHA} org.opencontainers.image.created: ${DRONE_BUILD_FINISHED} org.opencontainers.image.version: ${DRONE_TAG:-${DRONE_COMMIT_SHA:0:7}} - name: publish-tag image: plugins/docker settings: registry: rubble.se:5000 repo: rubble.se:5000/hemhub/api dockerfile: Dockerfile username: from_secret: docker_username password: from_secret: docker_password tags: - ${DRONE_TAG} buildkit: true labels: org.opencontainers.image.source: ${DRONE_GIT_HTTP_URL} org.opencontainers.image.revision: ${DRONE_COMMIT_SHA} org.opencontainers.image.created: ${DRONE_BUILD_FINISHED} org.opencontainers.image.version: ${DRONE_TAG} trigger: event: - push - pull_request - tag