diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d8329a8ccb421239c56847621ed1cafca4be86c8..3713751cf63938aaba9b168669b971abab823a3f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,6 +2,10 @@ default: tags: - shell +variables: + IMAGE: "${DOCKER_ORG}/${DOCKER_REPO}" + BUILD_TAG: "build" + workflow: rules: - if: $CI_PIPELINE_SOURCE == "push" @@ -19,16 +23,8 @@ build_conda: build_docker: stage: build - before_script: - - export IMAGE="${DOCKER_ORG}/${DOCKER_REPO}" - - export BUILD_TAG="build" - - echo "IMAGE=$IMAGE" >> build.env - - echo "BUILD_TAG=$BUILD_TAG" >> build.env script: - docker build -t ${IMAGE}:${BUILD_TAG} . - artifacts: - reports: - dotenv: build.env test_conda: stage: test @@ -43,18 +39,27 @@ test_docker: stage: test needs: - job: build_docker - artifacts: true script: - docker run --rm ${IMAGE}:${BUILD_TAG} tests/test.sh +publish_get_version: + stage: publish + rules: + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + script: + - export VERSION=$(grep 'version <-' ascii_alignment_pileup.R | cut -f2 -d'"') + - echo "VERSION=$VERSION" >> publish.env + artifacts: + reports: + dotenv: publish.env + publish_docker: stage: publish rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH needs: - - job: build_docker - artifacts: true - job: test_docker + - job: publish_get_version before_script: - export VERSION=$(grep 'version <-' ascii_alignment_pileup.R | cut -f2 -d'"') script: @@ -63,3 +68,22 @@ publish_docker: - docker tag ${IMAGE}:${BUILD_TAG} ${IMAGE}:latest - docker push ${IMAGE}:${VERSION} - docker push ${IMAGE}:latest + +publish_release: + stage: publish + tags: + - docker + rules: + - if: $CI_COMMIT_TAG + when: never + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH + needs: + - job: publish_get_version + image: registry.gitlab.com/gitlab-org/release-cli:latest + script: + - echo "running release_job for $TAG" + release: + tag_name: "$VERSION" + description: "Release created using the release-cli." + ref: "$CI_COMMIT_SHA" + allow_failure: true