From 7af950f71d6b213bcaf75d7f036e3b36d084f32c Mon Sep 17 00:00:00 2001 From: Jueun Park <s5616012@mailbox.tu-dresden.de> Date: Mon, 14 Mar 2022 14:42:00 +0900 Subject: [PATCH] add .gitlab-ci.yml --- .gitlab-ci.yml | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..77933420 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,86 @@ +variables: + GIT_SUBMODULE_STRATEGY: recursive + +stages: + - build + - test + - ragdoc + - publish + +build: + image: openjdk:11 + stage: build + before_script: + - apt-get update && apt-get -y install graphviz + script: + - "./gradlew assemble" + artifacts: + paths: + - "src/gen/java" + - "src/gen/jastadd" + +test: + image: openjdk:11 + stage: test + needs: + - build + before_script: + - apt-get update && apt-get -y install graphviz + script: + - "./gradlew test generateGrammarDiagrams" + artifacts: + reports: + junit: "*/build/test-results/test/TEST-*.xml" + paths: + - "src/gen/resources" + +ragdoc_build: + image: + name: "git-st.inf.tu-dresden.de:4567/jastadd/ragdoc-builder" + entrypoint: [""] + stage: ragdoc + needs: + - build + script: + - JAVA_FILES="$(find src/main -name '*.java') $(find src/gen -name '*.java')" + - /ragdoc-builder/start-builder.sh -excludeGenerated -d data/ $JAVA_FILES + artifacts: + paths: + - "data/" + +ragdoc_view: + image: + name: "git-st.inf.tu-dresden.de:4567/jastadd/ragdoc-view:relations" + entrypoint: [""] + stage: ragdoc + needs: + - ragdoc_build + script: + - DATA_DIR=$(pwd -P)/data + - mkdir -p pages/docs/ragdoc + - OUTPUT_DIR=$(pwd -P)/pages/docs/ragdoc + - cd /ragdoc-view/src/ && rm -rf data && ln -s $DATA_DIR + - /ragdoc-view/build-view.sh --output-path=$OUTPUT_DIR + only: + - dev + - main + artifacts: + paths: + - "pages/docs/ragdoc" + +pages: + image: python:3.10.0-bullseye + stage: publish + needs: + - ragdoc_view + - test + before_script: + - pip install -r pages/requirements.txt + script: + - cp -r src/gen/resources/diagrams/ pages/docs/diagrams + - cd pages && mkdocs build + artifacts: + paths: + - public/ + only: + - main -- GitLab