From 6c2140827f8c57cddd956d6a2c7423b1e38f3f41 Mon Sep 17 00:00:00 2001
From: Andrew Kapuscinski <akapusci@nrao.edu>
Date: Fri, 8 Jan 2021 12:42:22 -0700
Subject: [PATCH] Commented out push and deploy CI stages to get build steps to
 ensure build steps are working properly

---
 .gitlab-ci.yml | 350 ++++++++++++++++++++-----------------------------
 1 file changed, 143 insertions(+), 207 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1560071b0..036feb2e3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,41 +1,24 @@
 stages:
-    - init
     - build-base
     - push-base
     - build-dev
-    - push-dev
-    - deploy-dev
-    - deploy-test
+    # - push-dev
+    # - deploy-dev
+    # - deploy-test
 
 image: docker:19.03.12
 
+workflow:
+  rules:
+    - if: $CI_MERGE_REQUEST_IID
+    - if: $CI_COMMIT_TAG
+    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+
 before_script:
     - echo "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME"
     - echo "$CI_COMMIT_REF_NAME"
-    - echo "$CI_COMMIT_REF_NAME"
 
-# Check if branch is associated with a MR
-# This helps solves the issue of duplicate pipelines when a branch that's associated with a PR is changed
-# It creates two pipelines. It checks if the branch has an open PR. If it does, it'll cancel the push-to-
-# branch pipeline to allow the Merge-Request-event pipeline to run.
-# Drawbacks: the cancelled push-to-PR pipeline is marked as a Failed pipeline
-# based on issue: https://gitlab.com/gitlab-org/gitlab/-/issues/201845
-# which should have a less hacky fix in a future Gitlab-CI release
-check-merge-request:
-    stage: init
-    before_script:
-        - apk add --no-cache curl
-    script: 
-        - 'export OPENED_MR_ON_BRANCH=$(curl --header "Private-Token: $GITLAB_TOKEN" "https://$CI_SERVER_HOST/api/v4/merge_requests?project_id=$CI_PROJECT_ID&source_branch=$CI_COMMIT_BRANCH&state=opened&scope=all")'
-        - |
-            if [ "${OPENED_MR_ON_BRANCH}" != "[]" ]; then \
-                echo "There is at least one MR opened on branch $CI_COMMIT_BRANCH. Stopping the push pipeline in favor of the merge request pipeline"; \
-                exit 1; \
-            fi
-    rules:
-        - if: $GITLAB_TOKEN && $CI_PIPELINE_SOURCE == 'push'
-
-# Build Base if changed
+# Build Base Image
 build base image:
     stage: build-base
     script:
@@ -45,44 +28,35 @@ build base image:
           changes:
             - Condaless.dockerfile.v2
 
+# Push Base Image Stage
+push base image:
+    stage: push-base
+    script:
+        - echo "$HARBOR_PASSWORD" | docker login -u "$HARBOR_USER" --password-stdin $HARBOR_URL 
+        - docker push marconi.aoc.nrao.edu/ops/base:workspaces
+    rules:
+        - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+          changes:
+            - Condaless.dockerfile.v2
+          when: always
+
 # Build Stages
 build dev workflow:
     stage: build-dev
     script:
-        - |
-            if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "" ]; then \
-                echo "Building PR branch: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"; \
-                docker build -t marconi.aoc.nrao.edu/workspaces/workflow:"$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" -f services/workflow/Dockerfile.dev . ; \
-                docker tag marconi.aoc.nrao.edu/workspaces/workflow:"$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" marconi.aoc.nrao.edu/workspaces/workflow:"$CI_COMMIT_SHORT_SHA" ; \
-                echo "WORKFLOW_BRANCH=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" >> build.env; \
-            elif [ "$CI_COMMIT_TAG" != "" ]; then \
-                echo "Building tag: ${CI_COMMIT_TAG}"; \
-                docker build -t marconi.aoc.nrao.edu/workspaces/workflow:"$CI_COMMIT_TAG" -f services/workflow/Dockerfile.dev . ; \
-                docker tag marconi.aoc.nrao.edu/workspaces/workflow:"$CI_COMMIT_TAG" marconi.aoc.nrao.edu/workspaces/workflow:"$CI_COMMIT_SHORT_SHA" ; \
-            else
-                echo "Building branch: ${CI_COMMIT_BRANCH}"; \
-                docker build -t marconi.aoc.nrao.edu/workspaces/workflow:"$CI_COMMIT_BRANCH" -f services/workflow/Dockerfile.dev . ; \
-                docker tag marconi.aoc.nrao.edu/workspaces/workflow:"$CI_COMMIT_BRANCH" marconi.aoc.nrao.edu/workspaces/workflow:"$CI_COMMIT_SHORT_SHA" ; \
-                if [ "$CI_COMMIT_BRANCH" != "main" ]; then \
-                    echo "WORKFLOW_BRANCH=$CI_COMMIT_BRANCH" >> build.env; \
-                fi
-            fi
-    artifacts:
-        reports:
-            dotenv: build.env
+        - echo "Building PR branch - ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"
+        - docker build -t marconi.aoc.nrao.edu/workspaces/workflow:"$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" -f services/workflow/Dockerfile.dev .
+        - docker tag marconi.aoc.nrao.edu/workspaces/workflow:"$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" marconi.aoc.nrao.edu/workspaces/workflow:"$CI_COMMIT_SHORT_SHA"
     rules:
         - if: $CI_COMMIT_MESSAGE =~ /\A(?i)Revert/
           when: always
         - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
           changes:
             - .gitlab-ci.yml
-          when: always
-        - if: $GITLAB_TOKEN && $CI_PIPELINE_SOURCE == 'push'
-        - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
-          changes:
             - services/workflow/**/*
             - apps/cli/**/*.{py,sh}
             - shared/**/*.{py,sh}
+          when: always
         - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_COMMIT_MESSAGE =~ /\A(?i)-ops/'
           changes:
             - Condaless.dockerfile.v2
@@ -90,123 +64,85 @@ build dev workflow:
 build dev capability:
     stage: build-dev
     script:
-        - |
-            if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "" ]; then \
-                echo "Building PR branch: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"; \
-                docker build -t marconi.aoc.nrao.edu/workspaces/capability:"$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" -f services/capability/Dockerfile.dev . ; \
-                docker tag marconi.aoc.nrao.edu/workspaces/capability:"$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" marconi.aoc.nrao.edu/workspaces/capability:"$CI_COMMIT_SHORT_SHA" ; \
-                echo "CAPABILITY_BRANCH=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" >> build.env; \
-            elif [ "$CI_COMMIT_TAG" != "" ]; then \
-                echo "Building tag: ${CI_COMMIT_TAG}"; \
-                docker build -t marconi.aoc.nrao.edu/workspaces/capability:"$CI_COMMIT_TAG" -f services/capability/Dockerfile.dev . ; \
-                docker tag marconi.aoc.nrao.edu/workspaces/capability:"$CI_COMMIT_TAG" marconi.aoc.nrao.edu/workspaces/capability:"$CI_COMMIT_SHORT_SHA" ; \
-            else
-                echo "Building branch: ${CI_COMMIT_BRANCH}"; \
-                docker build -t marconi.aoc.nrao.edu/workspaces/capability:"$CI_COMMIT_BRANCH" -f services/capability/Dockerfile.dev . ; \
-                docker tag marconi.aoc.nrao.edu/workspaces/capability:"$CI_COMMIT_BRANCH" marconi.aoc.nrao.edu/workspaces/capability:"$CI_COMMIT_SHORT_SHA" ; \
-                if [ "$CI_COMMIT_BRANCH" != "main" ]; then \
-                    echo "CAPABILITY_BRANCH=$CI_COMMIT_BRANCH" >> build.env; \
-                fi
-            fi
-    artifacts:
-        reports:
-            dotenv: build.env
+        - echo "Building PR branch - ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"
+        - docker build -t marconi.aoc.nrao.edu/workspaces/capability:"$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" -f services/capability/Dockerfile.dev .
+        - docker tag marconi.aoc.nrao.edu/workspaces/capability:"$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" marconi.aoc.nrao.edu/workspaces/capability:"$CI_COMMIT_SHORT_SHA"
     rules:
         - if: $CI_COMMIT_MESSAGE =~ /\A(?i)Revert/
           when: always
         - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
           changes:
             - .gitlab-ci.yml
-          when: always
-        - if: $GITLAB_TOKEN && $CI_PIPELINE_SOURCE == 'push'
-        - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
-          changes:
             - services/capability/**/*
             - apps/cli/**/*.{py,sh}
             - shared/**/*.{py,sh}
+          when: always
         - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_COMMIT_MESSAGE =~ /\A(?i)-ops/'
           changes:
             - Condaless.dockerfile.v2
 
 # Test Stages
 
-# Push Base Image Stage
-push base image:
-    stage: push-base
-    script:
-        - echo "$HARBOR_PASSWORD" | docker login -u "$HARBOR_USER" --password-stdin $HARBOR_URL 
-        - docker push marconi.aoc.nrao.edu/ops/base:workspaces
-    rules:
-        - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
-          changes:
-            - Condaless.dockerfile.v2
-          when: always
 # Push Stages
-push dev workflow:
-    stage: push-dev
-    script:
-        - echo "$HARBOR_PASSWORD" | docker login -u "$HARBOR_USER" --password-stdin $HARBOR_URL
-        - |
-            if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "" ]; then \
-                echo "Pushing PR branch image to registry: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"; \
-                docker push marconi.aoc.nrao.edu/workspaces/workflow:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME ; \
-                if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "main" ]; then \
-                    docker tag marconi.aoc.nrao.edu/workspaces/workflow:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME marconi.aoc.nrao.edu/workspaces/workflow:dev-branch ; \
-                    docker push marconi.aoc.nrao.edu/workspaces/workflow:dev-branch ; \
-                fi
-            elif [ "$CI_COMMIT_TAG" != "" ]; then \
-                echo "Pushing Tagged image to registry: ${CI_COMMIT_TAG}"; \
-                docker push marconi.aoc.nrao.edu/workspaces/workflow:$CI_COMMIT_TAG ; \
-            else
-                echo "Pushing branch image to registry: ${CI_COMMIT_BRANCH}"; \
-                docker push marconi.aoc.nrao.edu/workspaces/workflow:$CI_COMMIT_BRANCH ; \
-            fi
-        - docker push marconi.aoc.nrao.edu/workspaces/workflow:$CI_COMMIT_SHORT_SHA
-    rules:
-        - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
-          when: always
-        - if: ($CI_PIPELINE_SOURCE == "merge_request_event" || $CI_PIPELINE_SOURCE == 'push')
-          changes:
-            - .gitlab-ci.yml
-            - services/workflow/**/*
-            - apps/cli/**/*.{py,sh}
-            - shared/**/*.{py,sh}
-          when: manual
-        - if: $CI_COMMIT_MESSAGE =~ /\A(?i)Revert/
-          when: manual
+# push dev workflow:
+#     stage: push-dev
+#     script:
+#         - echo "$HARBOR_PASSWORD" | docker login -u "$HARBOR_USER" --password-stdin $HARBOR_URL
+#         - |
+#             if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "" ]; then \
+#                 echo "Pushing PR branch image to registry: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"; \
+#                 docker push marconi.aoc.nrao.edu/workspaces/workflow:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME ; \
+#                 if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "main" ]; then \
+#                     docker tag marconi.aoc.nrao.edu/workspaces/workflow:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME marconi.aoc.nrao.edu/workspaces/workflow:dev-branch ; \
+#                     docker push marconi.aoc.nrao.edu/workspaces/workflow:dev-branch ; \
+#                 fi
+#             elif [ "$CI_COMMIT_TAG" != "" ]; then \
+#                 echo "Pushing Tagged image to registry: ${CI_COMMIT_TAG}"; \
+#                 docker push marconi.aoc.nrao.edu/workspaces/workflow:$CI_COMMIT_TAG ; \
+#             fi
+#         - docker push marconi.aoc.nrao.edu/workspaces/workflow:$CI_COMMIT_SHORT_SHA
+#     rules:
+#         - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+#           when: always
+#         - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+#           changes:
+#             - .gitlab-ci.yml
+#             - services/workflow/**/*
+#             - apps/cli/**/*.{py,sh}
+#             - shared/**/*.{py,sh}
+#           when: manual
+#         - if: $CI_COMMIT_MESSAGE =~ /\A(?i)Revert/
+#           when: manual
 
-push dev capability:
-    stage: push-dev
-    script:
-        - echo "$HARBOR_PASSWORD" | docker login -u "$HARBOR_USER" --password-stdin $HARBOR_URL
-        - |
-            if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "" ]; then \
-                echo "Pushing PR branch image to registry: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"; \
-                docker push marconi.aoc.nrao.edu/workspaces/capability:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME ; \
-                if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "main" ]; then \
-                    docker tag marconi.aoc.nrao.edu/workspaces/capability:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME marconi.aoc.nrao.edu/workspaces/capability:dev-branch ; \
-                    docker push marconi.aoc.nrao.edu/workspaces/capability:dev-branch ; \
-                fi
-            elif [ "$CI_COMMIT_TAG" != "" ]; then \
-                echo "Pushing Tagged image to registry: ${CI_COMMIT_TAG}"; \
-                docker push marconi.aoc.nrao.edu/workspaces/capability:$CI_COMMIT_TAG ; \
-            else
-                echo "Pushing branch image to registry: ${CI_COMMIT_BRANCH}"; \
-                docker push marconi.aoc.nrao.edu/workspaces/capability:$CI_COMMIT_BRANCH ; \
-            fi
-        - docker push marconi.aoc.nrao.edu/workspaces/capability:$CI_COMMIT_SHORT_SHA
-    rules:
-        - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
-          when: always
-        - if: $CI_PIPELINE_SOURCE == "merge_request_event" || $CI_PIPELINE_SOURCE == 'push'
-          changes:
-            - .gitlab-ci.yml
-            - services/capability/**/*
-            - apps/cli/**/*.{py,sh}
-            - shared/**/*.{py,sh}
-          when: manual
-        - if: $CI_COMMIT_MESSAGE =~ /\A(?i)Revert/
-          when: manual
+# push dev capability:
+#     stage: push-dev
+#     script:
+#         - echo "$HARBOR_PASSWORD" | docker login -u "$HARBOR_USER" --password-stdin $HARBOR_URL
+#         - |
+#             if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "" ]; then \
+#                 echo "Pushing PR branch image to registry: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"; \
+#                 docker push marconi.aoc.nrao.edu/workspaces/capability:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME ; \
+#                 if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "main" ]; then \
+#                     docker tag marconi.aoc.nrao.edu/workspaces/capability:$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME marconi.aoc.nrao.edu/workspaces/capability:dev-branch ; \
+#                     docker push marconi.aoc.nrao.edu/workspaces/capability:dev-branch ; \
+#                 fi
+#             elif [ "$CI_COMMIT_TAG" != "" ]; then \
+#                 echo "Pushing Tagged image to registry: ${CI_COMMIT_TAG}"; \
+#                 docker push marconi.aoc.nrao.edu/workspaces/capability:$CI_COMMIT_TAG ; \
+#             fi
+#         - docker push marconi.aoc.nrao.edu/workspaces/capability:$CI_COMMIT_SHORT_SHA
+#     rules:
+#         - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+#           when: always
+#         - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+#           changes:
+#             - .gitlab-ci.yml
+#             - services/capability/**/*
+#             - apps/cli/**/*.{py,sh}
+#             - shared/**/*.{py,sh}
+#           when: manual
+#         - if: $CI_COMMIT_MESSAGE =~ /\A(?i)Revert/
+#           when: manual
 
 # Cleanup
 # clean runner:
@@ -218,60 +154,60 @@ push dev capability:
 ### Deploy Stages ###
 
 # Development 
-deploy dev:
-    stage: deploy-dev
-    script:
-        - |
-            if [ "$CI_COMMIT_BRANCH" != "" ]; then \
-                if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then \
-                    echo "Deploying merged branch: ${CI_COMMIT_BRANCH} to dev environment"; \
-                    SWARM_NODE_ENV="dev" TAG_TO_DEPLOY="development" docker stack deploy --compose-file docker-compose.dev.yml workspaces-dev ; \
-                else
-                    if [ "$CAPABILITY_BRANCH" != "" ]; then \
-                        echo "Updating Capability Service: ${CI_COMMIT_BRANCH} in dev environment"; \
-                        docker service update --image marconi.aoc.nrao.edu/workspaces/capability:"$CAPABILITY_BRANCH" workspaces-dev_capability
-                    fi
-                    if [ "$WORKFLOW_BRANCH" != "" ]; then \
-                        echo "Updating Workflow Service: ${CI_COMMIT_BRANCH} in dev environment"; \
-                        docker service update --image marconi.aoc.nrao.edu/workspaces/workflow:"$WORKFLOW_BRANCH" workspaces-dev_workflow
-                    fi
-                    if [ "$WORKFLOW_BRANCH" == "" && "$CAPABILITY_BRANCH" == "" ]; then \
-                        echo "Deploying branch: ${CI_COMMIT_BRANCH} to dev environment"; \
-                        SWARM_NODE_ENV="dev" TAG_TO_DEPLOY="${CI_COMMIT_BRANCH}" docker stack deploy --compose-file docker-compose.dev.yml workspaces-dev ; \
-                    fi
-                fi
-            fi
-            if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "" ]; then \
-                if [ "$CAPABILITY_BRANCH" != "" ]; then \
-                        echo "Updating Capability Service with PR Branch: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} in dev environment"; \
-                        docker service update --image marconi.aoc.nrao.edu/workspaces/capability:"$CAPABILITY_BRANCH" workspaces-dev_capability
-                    fi
-                    if [ "$WORKFLOW_BRANCH" != "" ]; then \
-                        echo "Updating Workflow Service with PR Branch: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} in dev environment"; \
-                        docker service update --image marconi.aoc.nrao.edu/workspaces/workflow:"$WORKFLOW_BRANCH" workspaces-dev_workflow
-                    fi
-                    if [ "$WORKFLOW_BRANCH" == "" && "$CAPABILITY_BRANCH" == "" ]; then \
-                        echo "Deploying branch: ${CI_COMMIT_BRANCH} to dev environment"; \
-                        SWARM_NODE_ENV="dev" TAG_TO_DEPLOY="${CI_COMMIT_BRANCH}" docker stack deploy --compose-file docker-compose.dev.yml workspaces-dev ; \
-                    fi
-                echo "Deploying PR branch: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} to dev environment"; \
-                SWARM_NODE_ENV="dev" TAG_TO_DEPLOY="dev-branch" docker stack deploy --compose-file docker-compose.dev.yml workspaces-dev ; \
-            fi
-    environment: development
-    rules:
-        - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
-          when: always
-        - if: '$CI_PIPELINE_SOURCE == "merge_request_event" || $CI_PIPELINE_SOURCE == "push"'
-          when: manual
+# deploy dev:
+#     stage: deploy-dev
+#     script:
+#         - |
+#             if [ "$CI_COMMIT_BRANCH" != "" ]; then \
+#                 if [ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]; then \
+#                     echo "Deploying merged branch: ${CI_COMMIT_BRANCH} to dev environment"; \
+#                     SWARM_NODE_ENV="dev" TAG_TO_DEPLOY="development" docker stack deploy --compose-file docker-compose.dev.yml workspaces-dev ; \
+#                 else
+#                     if [ "$CAPABILITY_BRANCH" != "" ]; then \
+#                         echo "Updating Capability Service: ${CI_COMMIT_BRANCH} in dev environment"; \
+#                         docker service update --image marconi.aoc.nrao.edu/workspaces/capability:"$CAPABILITY_BRANCH" workspaces-dev_capability
+#                     fi
+#                     if [ "$WORKFLOW_BRANCH" != "" ]; then \
+#                         echo "Updating Workflow Service: ${CI_COMMIT_BRANCH} in dev environment"; \
+#                         docker service update --image marconi.aoc.nrao.edu/workspaces/workflow:"$WORKFLOW_BRANCH" workspaces-dev_workflow
+#                     fi
+#                     if [ "$WORKFLOW_BRANCH" == "" && "$CAPABILITY_BRANCH" == "" ]; then \
+#                         echo "Deploying branch: ${CI_COMMIT_BRANCH} to dev environment"; \
+#                         SWARM_NODE_ENV="dev" TAG_TO_DEPLOY="${CI_COMMIT_BRANCH}" docker stack deploy --compose-file docker-compose.dev.yml workspaces-dev ; \
+#                     fi
+#                 fi
+#             fi
+#             if [ "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" != "" ]; then \
+#                 if [ "$CAPABILITY_BRANCH" != "" ]; then \
+#                         echo "Updating Capability Service with PR Branch: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} in dev environment"; \
+#                         docker service update --image marconi.aoc.nrao.edu/workspaces/capability:"$CAPABILITY_BRANCH" workspaces-dev_capability
+#                     fi
+#                     if [ "$WORKFLOW_BRANCH" != "" ]; then \
+#                         echo "Updating Workflow Service with PR Branch: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} in dev environment"; \
+#                         docker service update --image marconi.aoc.nrao.edu/workspaces/workflow:"$WORKFLOW_BRANCH" workspaces-dev_workflow
+#                     fi
+#                     if [ "$WORKFLOW_BRANCH" == "" && "$CAPABILITY_BRANCH" == "" ]; then \
+#                         echo "Deploying branch: ${CI_COMMIT_BRANCH} to dev environment"; \
+#                         SWARM_NODE_ENV="dev" TAG_TO_DEPLOY="${CI_COMMIT_BRANCH}" docker stack deploy --compose-file docker-compose.dev.yml workspaces-dev ; \
+#                     fi
+#                 echo "Deploying PR branch: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME} to dev environment"; \
+#                 SWARM_NODE_ENV="dev" TAG_TO_DEPLOY="dev-branch" docker stack deploy --compose-file docker-compose.dev.yml workspaces-dev ; \
+#             fi
+#     environment: development
+#     rules:
+#         - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
+#           when: always
+#         - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
+#           when: manual
 
 # Testing
-deploy test:
-    stage: deploy-test
-    script:
-        |
-            echo "branch: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"
-            echo "tag: ${CI_COMMIT_TAG}"
-            SWARM_NODE_ENV="test" TAG_TO_DEPLOY="${CI_COMMIT_TAG}" docker stack deploy --compose-file docker-compose.dev.yml workspaces-dev
-    rules:
-        - if: $CI_COMMIT_TAG
-          when: manual
\ No newline at end of file
+# deploy test:
+#     stage: deploy-test
+#     script:
+#         |
+#             echo "branch: ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}"
+#             echo "tag: ${CI_COMMIT_TAG}"
+#             SWARM_NODE_ENV="test" TAG_TO_DEPLOY="${CI_COMMIT_TAG}" docker stack deploy --compose-file docker-compose.dev.yml workspaces-dev
+#     rules:
+#         - if: $CI_COMMIT_TAG
+#           when: manual
\ No newline at end of file
-- 
GitLab