From 67f99d3fb6877c6b403dbb4d903f8b1b04229828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 17:06:32 +0200 Subject: [PATCH 01/16] ci: add get version job --- .circleci/config.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index b6b75ff77..affbedf4e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,10 +6,14 @@ orbs: workflows: version: 2 +defaults: &defaults + working_directory: /tmp/ci + test-build: jobs: - test-server - lint + - get-version # - build-viewer: # # built the npm package @@ -35,6 +39,7 @@ workflows: branches: only: - main + - gergo/CIRewrite requires: - lint - test-server @@ -98,6 +103,33 @@ jobs: - checkout - run: node --version + get-version: + docker: *docker-image + <<: *defaults + steps: + - checkout + - run: pwd + - run: mkdir -p workspace + - run: + name: set version + command: SPECKLE_VERSION = ./.circleci/get_version.sh + # - run: + # name: set var + # command: echo "export BAZ=baz.`date +%Y%m%d.%H%M`" >> $BASH_ENV + # - run: echo "$BAZ" + # - run: echo "export FOO=foo.`date +%Y%m%d.%H%M%S`" >>workspace/new-env-vars + # - run: echo "export BOB=$BAZ" >> workspace/new-env-vars + # - run: cat workspace/new-env-vars >> $BASH_ENV + # - run: echo ${FOO:-NULL} + # - run: echo ${BAZ:-NULL} + # - run: echo ${BOB:-NULL} + - run: echo $SPECKLE_VERSION + # - persist_to_workspace: + # root: workspace + # paths: + # - new-env-vars + + test-server: docker: - image: cimg/node:lts From d85ec928b4b004cd48365d4caf39cc384f721d27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 17:52:11 +0200 Subject: [PATCH 02/16] fix workspace folder --- .circleci/config.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index affbedf4e..1c01e65c5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,9 +6,6 @@ orbs: workflows: version: 2 -defaults: &defaults - working_directory: /tmp/ci - test-build: jobs: - test-server @@ -105,7 +102,7 @@ jobs: get-version: docker: *docker-image - <<: *defaults + working_directory: /tmp/ci steps: - checkout - run: pwd From a7eb50d82d64b73703a1ef0941bd57c3a866fb24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 18:02:37 +0200 Subject: [PATCH 03/16] version dependecies --- .circleci/config.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1c01e65c5..682a5d23c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -40,18 +40,21 @@ workflows: requires: - lint - test-server + - get-version - docker-build-and-publish-frontend: context: *docker-hub-context filters: *filters-build requires: - lint + - get-version - docker-build-and-publish-webhooks: context: *docker-hub-context filters: *filters-build requires: - lint + - get-version - test-server - docker-build-and-publish-file-imports: @@ -59,6 +62,7 @@ workflows: filters: *filters-build requires: - lint + - get-version - test-server - docker-build-and-publish-previews: @@ -66,6 +70,7 @@ workflows: filters: *filters-build requires: - lint + - get-version - test-server - docker-build-and-publish-test-container: @@ -73,6 +78,7 @@ workflows: filters: *filters-build requires: - lint + - get-version - test-server - publish-helm-chart: @@ -80,6 +86,7 @@ workflows: requires: - lint - test-server + - get-version - docker-build-and-publish-server - docker-build-and-publish-frontend - docker-build-and-publish-webhooks @@ -109,7 +116,7 @@ jobs: - run: mkdir -p workspace - run: name: set version - command: SPECKLE_VERSION = ./.circleci/get_version.sh + command: SPECKLE_VERSION=./.circleci/get_version.sh # - run: # name: set var # command: echo "export BAZ=baz.`date +%Y%m%d.%H%M`" >> $BASH_ENV From 1197473ca3a138636c3530420a5b2a7317b358d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 18:05:49 +0200 Subject: [PATCH 04/16] persist envvars to workspace --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 682a5d23c..0c54afc56 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -116,22 +116,22 @@ jobs: - run: mkdir -p workspace - run: name: set version - command: SPECKLE_VERSION=./.circleci/get_version.sh + command: echo "export SPECKLE_VERSION=./.circleci/get_version.sh" >> workspace/env-vars # - run: # name: set var # command: echo "export BAZ=baz.`date +%Y%m%d.%H%M`" >> $BASH_ENV # - run: echo "$BAZ" # - run: echo "export FOO=foo.`date +%Y%m%d.%H%M%S`" >>workspace/new-env-vars # - run: echo "export BOB=$BAZ" >> workspace/new-env-vars - # - run: cat workspace/new-env-vars >> $BASH_ENV + - run: cat workspace/env-vars >> $BASH_ENV # - run: echo ${FOO:-NULL} # - run: echo ${BAZ:-NULL} # - run: echo ${BOB:-NULL} - run: echo $SPECKLE_VERSION - # - persist_to_workspace: - # root: workspace - # paths: - # - new-env-vars + - persist_to_workspace: + root: workspace + paths: + - env-vars test-server: From 8607df5aae44052efb95fba2daa06d84010ec84a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 18:12:36 +0200 Subject: [PATCH 05/16] set speckle version --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0c54afc56..9452746f7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -116,7 +116,7 @@ jobs: - run: mkdir -p workspace - run: name: set version - command: echo "export SPECKLE_VERSION=./.circleci/get_version.sh" >> workspace/env-vars + command: SPECKLE_VERSION=$(./.circleci/get_version.sh) # - run: # name: set var # command: echo "export BAZ=baz.`date +%Y%m%d.%H%M`" >> $BASH_ENV From 56649c9e185619f55f7f311570111d69a1ffc74a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 18:13:37 +0200 Subject: [PATCH 06/16] disable file based env var --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9452746f7..1406eefb5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -123,7 +123,7 @@ jobs: # - run: echo "$BAZ" # - run: echo "export FOO=foo.`date +%Y%m%d.%H%M%S`" >>workspace/new-env-vars # - run: echo "export BOB=$BAZ" >> workspace/new-env-vars - - run: cat workspace/env-vars >> $BASH_ENV + # - run: cat workspace/env-vars >> $BASH_ENV # - run: echo ${FOO:-NULL} # - run: echo ${BAZ:-NULL} # - run: echo ${BOB:-NULL} From 2e99af84264f2d889734f47b33951a7f176b8091 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 18:15:57 +0200 Subject: [PATCH 07/16] echo --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1406eefb5..85606981d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -116,7 +116,7 @@ jobs: - run: mkdir -p workspace - run: name: set version - command: SPECKLE_VERSION=$(./.circleci/get_version.sh) + command: echo ./.circleci/get_version.sh # - run: # name: set var # command: echo "export BAZ=baz.`date +%Y%m%d.%H%M`" >> $BASH_ENV From dbef70b81c6219d837d808909ca6f2f7db516e8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 18:17:24 +0200 Subject: [PATCH 08/16] command --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 85606981d..d2a9ee32d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -116,7 +116,7 @@ jobs: - run: mkdir -p workspace - run: name: set version - command: echo ./.circleci/get_version.sh + command: echo $(./.circleci/get_version.sh) # - run: # name: set var # command: echo "export BAZ=baz.`date +%Y%m%d.%H%M`" >> $BASH_ENV From 401120d9c60bb946b1a370eb0a344c07a27c14cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 18:31:33 +0200 Subject: [PATCH 09/16] echo speckle version --- .circleci/config.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d2a9ee32d..da9d5d06b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -116,7 +116,10 @@ jobs: - run: mkdir -p workspace - run: name: set version - command: echo $(./.circleci/get_version.sh) + command: | + echo $(./.circleci/get_version.sh) + SPECKLE_VERSION=$(./.circleci/get_version.sh) + echo $SPECKLE_VERSION # - run: # name: set var # command: echo "export BAZ=baz.`date +%Y%m%d.%H%M`" >> $BASH_ENV From 4f86482c0881f92b8996c4b7af524e70330a070b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 18:51:17 +0200 Subject: [PATCH 10/16] save to workspace --- .circleci/config.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index da9d5d06b..4186822a3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -117,9 +117,8 @@ jobs: - run: name: set version command: | - echo $(./.circleci/get_version.sh) SPECKLE_VERSION=$(./.circleci/get_version.sh) - echo $SPECKLE_VERSION + echo "export SPECKLE_VERSION=$SPECKLE_VERSION" >> workspace/env-vars # - run: # name: set var # command: echo "export BAZ=baz.`date +%Y%m%d.%H%M`" >> $BASH_ENV From 8de51b8b2b86e071cb4fda4366970bdf3db4e7ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 18:52:30 +0200 Subject: [PATCH 11/16] add to bash_env --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4186822a3..f0bf6e5cc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -125,7 +125,7 @@ jobs: # - run: echo "$BAZ" # - run: echo "export FOO=foo.`date +%Y%m%d.%H%M%S`" >>workspace/new-env-vars # - run: echo "export BOB=$BAZ" >> workspace/new-env-vars - # - run: cat workspace/env-vars >> $BASH_ENV + - run: cat workspace/env-vars >> $BASH_ENV # - run: echo ${FOO:-NULL} # - run: echo ${BAZ:-NULL} # - run: echo ${BOB:-NULL} From 10e984099fa20265a70828ad8bc5f1a1209d6478 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 18:55:35 +0200 Subject: [PATCH 12/16] cleanup --- .circleci/config.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f0bf6e5cc..ac8c60b10 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -117,18 +117,8 @@ jobs: - run: name: set version command: | - SPECKLE_VERSION=$(./.circleci/get_version.sh) - echo "export SPECKLE_VERSION=$SPECKLE_VERSION" >> workspace/env-vars - # - run: - # name: set var - # command: echo "export BAZ=baz.`date +%Y%m%d.%H%M`" >> $BASH_ENV - # - run: echo "$BAZ" - # - run: echo "export FOO=foo.`date +%Y%m%d.%H%M%S`" >>workspace/new-env-vars - # - run: echo "export BOB=$BAZ" >> workspace/new-env-vars + echo "export SPECKLE_VERSION=$(./.circleci/get_version.sh)" >> workspace/env-vars - run: cat workspace/env-vars >> $BASH_ENV - # - run: echo ${FOO:-NULL} - # - run: echo ${BAZ:-NULL} - # - run: echo ${BOB:-NULL} - run: echo $SPECKLE_VERSION - persist_to_workspace: root: workspace From ffc60911bfb70c5f8f6eb5671cfec07f95e6923c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 21:26:38 +0200 Subject: [PATCH 13/16] add workspace envvar persistence --- .circleci/build.sh | 5 +++-- .circleci/config.yml | 11 +++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.circleci/build.sh b/.circleci/build.sh index 46c0904a9..de1722e35 100755 --- a/.circleci/build.sh +++ b/.circleci/build.sh @@ -8,7 +8,9 @@ FOLDER="${FOLDER:-packages}" DOCKER_IMAGE_TAG=speckle/speckle-$SPECKLE_SERVER_PACKAGE -IMAGE_VERSION_TAG=$(./.circleci/get_version.sh) +# IMAGE_VERSION_TAG=$(./.circleci/get_version.sh) +IMAGE_VERSION_TAG="${IMAGE_VERSION_TAG:-0}" +echo $IMAGE_VERSION_TAG docker build --build-arg SPECKLE_SERVER_VERSION=$IMAGE_VERSION_TAG -t $DOCKER_IMAGE_TAG:latest . -f $FOLDER/$SPECKLE_SERVER_PACKAGE/Dockerfile @@ -19,5 +21,4 @@ if [[ "$IMAGE_VERSION_TAG" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then fi echo "$DOCKER_REG_PASS" | docker login -u "$DOCKER_REG_USER" --password-stdin $DOCKER_REG_URL -docker image ls docker push -a $DOCKER_IMAGE_TAG diff --git a/.circleci/config.yml b/.circleci/config.yml index ac8c60b10..82882917e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -109,7 +109,7 @@ jobs: get-version: docker: *docker-image - working_directory: /tmp/ci + working_directory: &work-dir /tmp/ci steps: - checkout - run: pwd @@ -117,15 +117,14 @@ jobs: - run: name: set version command: | - echo "export SPECKLE_VERSION=$(./.circleci/get_version.sh)" >> workspace/env-vars + echo "export IMAGE_VERSION_TAG=$(circleci/get_version.sh)" >> workspace/env-vars - run: cat workspace/env-vars >> $BASH_ENV - - run: echo $SPECKLE_VERSION + - run: echo $IMAGE_VERSION_TAG - persist_to_workspace: root: workspace paths: - env-vars - test-server: docker: - image: cimg/node:lts @@ -179,8 +178,12 @@ jobs: docker-build-and-publish: &docker-job docker: *docker-image + working_directory: *work-dir steps: - checkout + - attach_workspace: + at: /tmp/ci/workspace + - run: cat workspace/env-vars >> $BASH_ENV - setup_remote_docker: docker_layer_caching: true - run: From f3a3a9065008b9cf6f04713ae3279ebca71097b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 21:28:35 +0200 Subject: [PATCH 14/16] dot dot --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 82882917e..9319b929d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -117,7 +117,7 @@ jobs: - run: name: set version command: | - echo "export IMAGE_VERSION_TAG=$(circleci/get_version.sh)" >> workspace/env-vars + echo "export IMAGE_VERSION_TAG=$(.circleci/get_version.sh)" >> workspace/env-vars - run: cat workspace/env-vars >> $BASH_ENV - run: echo $IMAGE_VERSION_TAG - persist_to_workspace: From 5b83ac42e8a8d15f8444f78553daed4f9e39df12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 21:33:25 +0200 Subject: [PATCH 15/16] add image version to helm chart build --- .circleci/config.yml | 4 ++++ .circleci/publish_helm_chart.sh | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9319b929d..7928b7d5e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -231,8 +231,12 @@ jobs: publish-helm-chart: docker: *docker-image + working_directory: *work-dir steps: - checkout + - attach_workspace: + at: /tmp/ci/workspace + - run: cat workspace/env-vars >> $BASH_ENV - add_ssh_keys: fingerprints: - '18:74:c4:b9:dc:66:b2:66:1d:81:56:0d:0a:87:9b:b1' diff --git a/.circleci/publish_helm_chart.sh b/.circleci/publish_helm_chart.sh index 84eeb3557..ba5bf95b4 100755 --- a/.circleci/publish_helm_chart.sh +++ b/.circleci/publish_helm_chart.sh @@ -2,7 +2,7 @@ set -e -RELEASE_VERSION=$(./.circleci/get_version.sh) +RELEASE_VERSION=${IMAGE_VERSION_TAG} echo "Releasing Helm Chart version $RELEASE_VERSION" From cb18fa792ed92dc1833cd110a7cb96262e60df16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= Date: Mon, 4 Apr 2022 21:54:06 +0200 Subject: [PATCH 16/16] remove special branch from ci --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7928b7d5e..e095626b8 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -36,7 +36,6 @@ workflows: branches: only: - main - - gergo/CIRewrite requires: - lint - test-server