image: openjdk:11-jdk-slim stages: - build - test - jar - publish before_script: - echo "---------- Start CI ----------" - export GRADLE_USER_HOME=`pwd`/.gradle - chmod +x gradlew build: stage: build script: - echo "---------- build stage ----------" - ./gradlew --build-cache assemble artifacts: paths: - build/libs/*.jar expire_in: 1 week test: stage: test image: docker:latest services: - docker:dind dependencies: - build before_script: - echo "---------- BEFORE -------------" - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - echo "---------- TEST -------------" - apk update && apk add bash openjdk11 - export JAVA_HOME=/usr/lib/jvm/java-11-openjdk - docker build --pull -t "$CI_REGISTRY_IMAGE" . - docker run --privileged -dit --name provs_test -v /var/run/docker.sock:/var/run/docker.sock $CI_REGISTRY_IMAGE - docker inspect -f '{{.State.Running}}' provs_test - ./gradlew test -Dtestdockerwithoutsudo=true artifacts: when: on_failure paths: - build/reports/tests/test reports: junit: build/test-results/test/TEST-*.xml jar: stage: jar script: - echo "---------- jar ----------" - ./gradlew jar artifacts: paths: - build/libs/*.jar expire_in: 2 months publish: stage: publish script: - echo "---------- publish ----------" - ./gradlew publish after_script: - echo "---------- End CI ----------"