From 05cf8d5681d2b25aeb54ec3a05c18b62e98b9291 Mon Sep 17 00:00:00 2001 From: rschoene <rene.schoene@tu-dresden.de> Date: Mon, 21 Feb 2022 16:59:47 +0100 Subject: [PATCH] Update build process to dev/master split - run build+test on every branch - publish with pipeline-iid only in dev - publish normally only in master - make pages only in master --- .gitlab-ci.yml | 31 ++++++++++++++----- ...ast2uml.java-publishing-conventions.gradle | 8 +++++ 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f212e14..66ee503 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,20 +12,35 @@ build: before_script: - ls -lah * script: - - ./gradlew assemble + - "./gradlew assemble" test: image: openjdk:11 stage: test + needs: + - build script: - - ./gradlew test + - "./gradlew test" artifacts: reports: - junit: relast2uml.tests/build/test-results/test/TEST-*.xml + junit: "*/build/test-results/test/TEST-*.xml" -publish: +publish_dev: image: openjdk:11 stage: publish + needs: + - test + script: + - "./gradlew setDevVersionForCI" + - "./gradlew publish" + only: + - dev + +publish_master: + image: openjdk:11 + stage: publish + needs: + - test script: - "./gradlew publish" only: @@ -34,11 +49,13 @@ publish: pages: image: python:3.7-alpine stage: publish + needs: + - test script: - - pip install -U sphinx sphinx-rtd-theme recommonmark sphinxemoji sphinx-markdown-tables - - sphinx-build -b html pages/ public + - "pip install -U sphinx sphinx-rtd-theme recommonmark sphinxemoji sphinx-markdown-tables" + - "sphinx-build -b html pages/ public" artifacts: paths: - public only: - - master + - master diff --git a/buildSrc/src/main/groovy/relast2uml.java-publishing-conventions.gradle b/buildSrc/src/main/groovy/relast2uml.java-publishing-conventions.gradle index 0a5d763..e3130c9 100644 --- a/buildSrc/src/main/groovy/relast2uml.java-publishing-conventions.gradle +++ b/buildSrc/src/main/groovy/relast2uml.java-publishing-conventions.gradle @@ -46,6 +46,14 @@ task newVersion() { } } +task setDevVersionForCI() { + doFirst { + def props = new Properties() + props['version'] = version + "-$System.env.CI_PIPELINE_IID" + props.store(file(versionFile).newWriter(), null) + } +} + //679 publishing { publications { -- GitLab