diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0dda0bdb6be4434c91801cb6665364fb7fd63d6a..d48e1cd25fbee50777491e5eeecd0c3b95ea166f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,32 +1,200 @@
-workflow:
- rules:
- - if: $CI_MERGE_REQUEST_ID
- when: never
- - when: always
-
stages:
- - triggers
+ - build
+ - test
+ - check
+ - deploy
+
+
+# Theodolite Benchmarks
+
+.benchmarks:
+ image: openjdk:11-jdk
+ tags:
+ - exec-docker
+ variables:
+ GRADLE_OPTS: "-Dorg.gradle.daemon=false"
+ cache:
+ paths:
+ - .gradle
+ before_script:
+ - cd benchmarks
+ - export GRADLE_USER_HOME=`pwd`/.gradle
+
+build-benchmarks:
+ stage: build
+ extends: .benchmarks
+ script: ./gradlew --build-cache assemble
+ artifacts:
+ paths:
+ - "benchmarks/build/libs/*.jar"
+ - "benchmarks/*/build/distributions/*.tar"
+ expire_in: 1 day
+
+test-benchmarks:
+ stage: test
+ extends: .benchmarks
+ needs:
+ - build-benchmarks
+ script: ./gradlew test --continue
+ artifacts:
+ reports:
+ junit:
+ - "benchmarks/**/build/test-results/test/TEST-*.xml"
+
+checkstyle-benchmarks:
+ stage: check
+ extends: .benchmarks
+ needs:
+ - build-benchmarks
+ - test-benchmarks
+ script: ./gradlew checkstyle --continue
+ artifacts:
+ paths:
+ - "benchmarks/*/build/reports/checkstyle/main.html"
+ when: on_failure
+ expire_in: 1 day
+
+pmd-benchmarks:
+ stage: check
+ extends: .benchmarks
+ needs:
+ - build-benchmarks
+ - test-benchmarks
+ script: ./gradlew pmd --continue
+ artifacts:
+ paths:
+ - "benchmarks/*/build/reports/pmd/*.html"
+ when: on_failure
+ expire_in: 1 day
+
+spotbugs-benchmarks:
+ stage: check
+ extends: .benchmarks
+ needs:
+ - build-benchmarks
+ - test-benchmarks
+ script: ./gradlew spotbugs --continue
+ artifacts:
+ paths:
+ - "benchmarks/*/build/reports/spotbugs/*.html"
+ when: on_failure
+ expire_in: 1 day
-benchmarks:
- stage: triggers
- trigger:
- include: benchmarks/.gitlab-ci.yml
- strategy: depend
+.deploy-benchmarks:
+ stage: deploy
+ extends: .benchmarks
+ needs:
+ - build-benchmarks
+ - checkstyle-benchmarks
+ - pmd-benchmarks
+ - spotbugs-benchmarks
+ tags:
+ - exec-dind
+ # see https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
+ # for image usage and settings for building with TLS and docker in docker
+ image: docker:19.03.1
+ services:
+ - docker:19.03.1-dind
+ variables:
+ DOCKER_TLS_CERTDIR: "/certs"
+ script:
+ - DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
+ - docker build --pull -t $IMAGE_NAME ./$JAVA_PROJECT_NAME
+ - "[ ! $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME $CR_HOST/$CR_ORG/$IMAGE_NAME:${DOCKER_TAG_NAME}latest"
+ - "[ ! $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME $CR_HOST/$CR_ORG/$IMAGE_NAME:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
+ - "[ $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME $CR_HOST/$CR_ORG/$IMAGE_NAME:$CI_COMMIT_TAG"
+ - echo $CR_PW | docker login $CR_HOST -u $CR_USER --password-stdin
+ - docker push $CR_HOST/$CR_ORG/$IMAGE_NAME
+ - docker logout
rules:
- - if: "$CI_COMMIT_TAG"
+ - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
+ when: always
- changes:
- - benchmarks/*
- - when: manual
+ - $JAVA_PROJECT_NAME/**/*
+ - benchmarks/application-kafkastreams-commons/**/*
+ - benchmarks/workload-generator-commons/**/*
+ if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
+ when: always
+ - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
+ when: manual
allow_failure: true
-execution:
- stage: triggers
- trigger:
- include: execution/.gitlab-ci.yml
- strategy: depend
+deploy-uc1-kstreams-app:
+ extends: .deploy-benchmarks
+ variables:
+ IMAGE_NAME: "theodolite-uc1-kstreams-app"
+ JAVA_PROJECT_NAME: "uc1-application"
+
+deploy-uc2-kstreams-app:
+ extends: .deploy-benchmarks
+ variables:
+ IMAGE_NAME: "theodolite-uc2-kstreams-app"
+ JAVA_PROJECT_NAME: "uc2-application"
+
+deploy-uc3-kstreams-app:
+ extends: .deploy-benchmarks
+ variables:
+ IMAGE_NAME: "theodolite-uc3-kstreams-app"
+ JAVA_PROJECT_NAME: "uc3-application"
+
+deploy-uc4-kstreams-app:
+ extends: .deploy-benchmarks
+ variables:
+ IMAGE_NAME: "theodolite-uc4-kstreams-app"
+ JAVA_PROJECT_NAME: "uc4-application"
+
+deploy-uc1-load-generator:
+ extends: .deploy-benchmarks
+ variables:
+ IMAGE_NAME: "theodolite-uc1-workload-generator"
+ JAVA_PROJECT_NAME: "uc1-workload-generator"
+
+deploy-uc2-load-generator:
+ extends: .deploy-benchmarks
+ variables:
+ IMAGE_NAME: "theodolite-uc2-workload-generator"
+ JAVA_PROJECT_NAME: "uc2-workload-generator"
+
+deploy-uc3-load-generator:
+ extends: .deploy-benchmarks
+ variables:
+ IMAGE_NAME: "theodolite-uc3-workload-generator"
+ JAVA_PROJECT_NAME: "uc3-workload-generator"
+
+deploy-uc4-load-generator:
+ extends: .deploy-benchmarks
+ variables:
+ IMAGE_NAME: "theodolite-uc4-workload-generator"
+ JAVA_PROJECT_NAME: "uc4-workload-generator"
+
+
+# Theodolite Framework
+
+deploy-theodolite:
+ stage: deploy
+ tags:
+ - exec-dind
+ image: docker:19.03.1
+ services:
+ - docker:19.03.1-dind
+ variables:
+ DOCKER_TLS_CERTDIR: "/certs"
+ script:
+ - DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
+ - docker build --pull -t theodolite ./execution
+ - "[ ! $CI_COMMIT_TAG ] && docker tag theodolite $CR_HOST/$CR_ORG/theodolite:${DOCKER_TAG_NAME}latest"
+ - "[ ! $CI_COMMIT_TAG ] && docker tag theodolite $CR_HOST/$CR_ORG/theodolite:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
+ - "[ $CI_COMMIT_TAG ] && docker tag theodolite $CR_HOST/$CR_ORG/theodolite:$CI_COMMIT_TAG"
+ - echo $CR_PW | docker login $CR_HOST -u $CR_USER --password-stdin
+ - docker push $CR_HOST/$CR_ORG/theodolite
+ - docker logout
rules:
- - if: "$CI_COMMIT_TAG"
+ - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW && $CI_COMMIT_TAG"
+ when: always
- changes:
- - execution/*
- - when: manual
+ - execution/**/*
+ if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
+ when: always
+ - if: "$CR_HOST && $CR_ORG && $CR_USER && $CR_PW"
+ when: manual
allow_failure: true
diff --git a/benchmarks/.gitlab-ci.yml b/benchmarks/.gitlab-ci.yml
deleted file mode 100644
index 1a4d354701459d4730dab398e0210ab9189d7ad3..0000000000000000000000000000000000000000
--- a/benchmarks/.gitlab-ci.yml
+++ /dev/null
@@ -1,414 +0,0 @@
-image: openjdk:11-jdk
-
-# Disable the Gradle daemon for Continuous Integration servers as correctness
-# is usually a priority over speed in CI environments. Using a fresh
-# runtime for each build is more reliable since the runtime is completely
-# isolated from any previous builds.
-variables:
- GRADLE_OPTS: "-Dorg.gradle.daemon=false"
-
-cache:
- paths:
- - .gradle
-
-before_script:
- - cd benchmarks
- - export GRADLE_USER_HOME=`pwd`/.gradle
-
-stages:
- - build
- - test
- - check
- - deploy
-
-build:
- stage: build
- tags:
- - exec-docker
- script: ./gradlew --build-cache assemble
- artifacts:
- paths:
- - "benchmarks/build/libs/*.jar"
- - "benchmarks/*/build/distributions/*.tar"
- expire_in: 1 day
-
-test:
- stage: test
- tags:
- - exec-docker
- script: ./gradlew test --continue
- artifacts:
- reports:
- junit:
- - "benchmarks/**/build/test-results/test/TEST-*.xml"
-
-checkstyle:
- stage: check
- tags:
- - exec-docker
- script: ./gradlew checkstyle --continue
- artifacts:
- paths:
- - "benchmarks/*/build/reports/checkstyle/main.html"
- when: on_failure
- expire_in: 1 day
-
-pmd:
- stage: check
- tags:
- - exec-docker
- script: ./gradlew pmd --continue
- artifacts:
- paths:
- - "benchmarks/*/build/reports/pmd/*.html"
- when: on_failure
- expire_in: 1 day
-
-spotbugs:
- stage: check
- tags:
- - exec-docker
- script: ./gradlew spotbugs --continue
- artifacts:
- paths:
- - "benchmarks/*/build/reports/spotbugs/*.html"
- when: on_failure
- expire_in: 1 day
-
-
-.deploy:
- stage: deploy
- tags:
- - exec-dind
- # see https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
- # for image usage and settings for building with TLS and docker in docker
- image: docker:19.03.1
- services:
- - docker:19.03.1-dind
- variables:
- DOCKER_TLS_CERTDIR: "/certs"
- script:
- - DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
- - docker build --pull -t $IMAGE_NAME ./$JAVA_PROJECT_NAME
- - "[ ! $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME $DOCKERHUB_ORG/$IMAGE_NAME:${DOCKER_TAG_NAME}latest"
- - "[ ! $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME $DOCKERHUB_ORG/$IMAGE_NAME:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
- - "[ $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME $DOCKERHUB_ORG/$IMAGE_NAME:$CI_COMMIT_TAG"
- - echo $DOCKERHUB_PW | docker login -u $DOCKERHUB_ID --password-stdin
- - docker push $DOCKERHUB_ORG/$IMAGE_NAME
- - docker logout
- rules:
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- # - $JAVA_PROJECT_NAME/**/* # hope this can be simplified soon, see #51
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-uc1-kstreams-app:
- extends: .deploy
- variables:
- IMAGE_NAME: "theodolite-uc1-kstreams-app"
- JAVA_PROJECT_NAME: "uc1-application"
- rules: # hope this can be simplified soon, see #51
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc1-application/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-uc2-kstreams-app:
- extends: .deploy
- variables:
- IMAGE_NAME: "theodolite-uc2-kstreams-app"
- JAVA_PROJECT_NAME: "uc2-application"
- rules: # hope this can be simplified soon, see #51
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc2-application/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-uc3-kstreams-app:
- extends: .deploy
- variables:
- IMAGE_NAME: "theodolite-uc3-kstreams-app"
- JAVA_PROJECT_NAME: "uc3-application"
- rules: # hope this can be simplified soon, see #51
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc3-application/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-uc4-kstreams-app:
- extends: .deploy
- variables:
- IMAGE_NAME: "theodolite-uc4-kstreams-app"
- JAVA_PROJECT_NAME: "uc4-application"
- rules: # hope this can be simplified soon, see #51
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc4-application/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-uc1-workload-generator:
- extends: .deploy
- variables:
- IMAGE_NAME: "theodolite-uc1-workload-generator"
- JAVA_PROJECT_NAME: "uc1-workload-generator"
- rules: # hope this can be simplified soon, see #51
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc1-workload-generator/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-uc2-workload-generator:
- extends: .deploy
- variables:
- IMAGE_NAME: "theodolite-uc2-workload-generator"
- JAVA_PROJECT_NAME: "uc2-workload-generator"
- rules: # hope this can be simplified soon, see #51
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc2-workload-generator/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-uc3-workload-generator:
- extends: .deploy
- variables:
- IMAGE_NAME: "theodolite-uc3-workload-generator"
- JAVA_PROJECT_NAME: "uc3-workload-generator"
- rules: # hope this can be simplified soon, see #51
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc3-workload-generator/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-uc4-workload-generator:
- extends: .deploy
- variables:
- IMAGE_NAME: "theodolite-uc4-workload-generator"
- JAVA_PROJECT_NAME: "uc4-workload-generator"
- rules: # hope this can be simplified soon, see #51
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc4-workload-generator/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-.deploy-ghcr:
- stage: deploy
- tags:
- - exec-dind
- # see https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
- # for image usage and settings for building with TLS and docker in docker
- image: docker:19.03.1
- services:
- - docker:19.03.1-dind
- variables:
- DOCKER_TLS_CERTDIR: "/certs"
- script:
- - DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
- - docker build --pull -t $IMAGE_NAME ./$JAVA_PROJECT_NAME
- - "[ ! $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME ghcr.io/$GITHUB_CR_ORG/$IMAGE_NAME:${DOCKER_TAG_NAME}latest"
- - "[ ! $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME ghcr.io/$GITHUB_CR_ORG/$IMAGE_NAME:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
- - "[ $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME ghcr.io/$GITHUB_CR_ORG/$IMAGE_NAME:$CI_COMMIT_TAG"
- - echo $GITHUB_CR_TOKEN | docker login ghcr.io -u $GITHUB_CR_USER --password-stdin
- - docker push ghcr.io/$GITHUB_CR_ORG/$IMAGE_NAME
- - docker logout
- rules:
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- # - $JAVA_PROJECT_NAME/**/* # hope this can be simplified soon, see #51
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-ghcr-uc1-kstreams-app:
- extends: .deploy-ghcr
- variables:
- IMAGE_NAME: "theodolite-uc1-kstreams-app"
- JAVA_PROJECT_NAME: "uc1-application"
- rules: # hope this can be simplified soon, see #51
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc1-application/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-ghcr-uc2-kstreams-app:
- extends: .deploy-ghcr
- variables:
- IMAGE_NAME: "theodolite-uc2-kstreams-app"
- JAVA_PROJECT_NAME: "uc2-application"
- rules: # hope this can be simplified soon, see #51
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc2-application/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-ghcr-uc3-kstreams-app:
- extends: .deploy-ghcr
- variables:
- IMAGE_NAME: "theodolite-uc3-kstreams-app"
- JAVA_PROJECT_NAME: "uc3-application"
- rules: # hope this can be simplified soon, see #51
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc3-application/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-ghcr-uc4-kstreams-app:
- extends: .deploy-ghcr
- variables:
- IMAGE_NAME: "theodolite-uc4-kstreams-app"
- JAVA_PROJECT_NAME: "uc4-application"
- rules: # hope this can be simplified soon, see #51
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc4-application/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-ghcr-uc1-workload-generator:
- extends: .deploy-ghcr
- variables:
- IMAGE_NAME: "theodolite-uc1-workload-generator"
- JAVA_PROJECT_NAME: "uc1-workload-generator"
- rules: # hope this can be simplified soon, see #51
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc1-workload-generator/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-ghcr-uc2-workload-generator:
- extends: .deploy-ghcr
- variables:
- IMAGE_NAME: "theodolite-uc2-workload-generator"
- JAVA_PROJECT_NAME: "uc2-workload-generator"
- rules: # hope this can be simplified soon, see #51
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc2-workload-generator/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-ghcr-uc3-workload-generator:
- extends: .deploy-ghcr
- variables:
- IMAGE_NAME: "theodolite-uc3-workload-generator"
- JAVA_PROJECT_NAME: "uc3-workload-generator"
- rules: # hope this can be simplified soon, see #51
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc3-workload-generator/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
-deploy-ghcr-uc4-workload-generator:
- extends: .deploy-ghcr
- variables:
- IMAGE_NAME: "theodolite-uc4-workload-generator"
- JAVA_PROJECT_NAME: "uc4-workload-generator"
- rules: # hope this can be simplified soon, see #51
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME && $CI_COMMIT_TAG"
- when: always
- - changes:
- - benchmarks/uc4-workload-generator/**/*
- - benchmarks/application-kafkastreams-commons/**/*
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: always
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $IMAGE_NAME && $JAVA_PROJECT_NAME"
- when: manual
- allow_failure: true
-
diff --git a/execution/.gitlab-ci.yml b/execution/.gitlab-ci.yml
deleted file mode 100644
index 5577de7a083708a6bb9b83571f458e2c1fbfb340..0000000000000000000000000000000000000000
--- a/execution/.gitlab-ci.yml
+++ /dev/null
@@ -1,61 +0,0 @@
-stages:
- - deploy
-
-deploy:
- stage: deploy
- tags:
- - exec-dind
- image: docker:19.03.1
- services:
- - docker:19.03.1-dind
- variables:
- DOCKER_TLS_CERTDIR: "/certs"
- script:
- - DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
- - docker build --pull -t theodolite ./execution
- - "[ ! $CI_COMMIT_TAG ] && docker tag theodolite $DOCKERHUB_ORG/theodolite:${DOCKER_TAG_NAME}latest"
- - "[ ! $CI_COMMIT_TAG ] && docker tag theodolite $DOCKERHUB_ORG/theodolite:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
- - "[ $CI_COMMIT_TAG ] && docker tag theodolite $DOCKERHUB_ORG/theodolite:$CI_COMMIT_TAG"
- - echo $DOCKERHUB_PW | docker login -u $DOCKERHUB_ID --password-stdin
- - docker push $DOCKERHUB_ORG/theodolite
- - docker logout
- rules:
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $CI_COMMIT_TAG"
- when: always
- - changes:
- - execution/**/*
- if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW"
- when: always
- - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW"
- when: manual
- allow_failure: true
-
-deploy-ghcr:
- stage: deploy
- tags:
- - exec-dind
- image: docker:19.03.1
- services:
- - docker:19.03.1-dind
- variables:
- DOCKER_TLS_CERTDIR: "/certs"
- script:
- - DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
- - docker build --pull -t theodolite ./execution
- - "[ ! $CI_COMMIT_TAG ] && docker tag theodolite ghcr.io/$GITHUB_CR_ORG/theodolite:${DOCKER_TAG_NAME}latest"
- - "[ ! $CI_COMMIT_TAG ] && docker tag theodolite ghcr.io/$GITHUB_CR_ORG/theodolite:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
- - "[ $CI_COMMIT_TAG ] && docker tag theodolite ghcr.io/$GITHUB_CR_ORG/theodolite:$CI_COMMIT_TAG"
- - echo $GITHUB_CR_TOKEN | docker login ghcr.io -u $GITHUB_CR_USER --password-stdin
- - docker push ghcr.io/$GITHUB_CR_ORG/theodolite
- - docker logout
- rules:
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN && $CI_COMMIT_TAG"
- when: always
- - changes:
- - execution/**/*
- if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN"
- when: always
- - if: "$GITHUB_CR_ORG && $GITHUB_CR_USER && $GITHUB_CR_TOKEN"
- when: manual
- allow_failure: true
-
\ No newline at end of file