Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThong Kuah <tkuah@gitlab.com>2019-01-08 07:32:17 +0300
committerThong Kuah <tkuah@gitlab.com>2019-01-09 01:38:47 +0300
commite9cb44e5e54e7d0522dff5eaf38b1cf8586eb5d9 (patch)
tree188222457ff99d12d465ebd1a002a7bcf410c8c8
parent1d2ef4c6557846eb531f4d0e80cf43dea99b037b (diff)
Fix QA spec flaky for application secret variables
The QA spec for application secrets fails when run after the auto devops spec because no pipeline for it is triggered :( When the QA spec for application has passed, it has always been the first spec to run hence it is able to set the K8S_SECRET_ variable before the pipeline triggered by the initial commit has run. The correct fix would be manually trigger a pipeline after we have added the K8S_SECRET_* variable. However, because Helm does not update the Deployment, we need to push a code change to make Helm update the Deployment and the pods.
-rw-r--r--qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb b/qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb
index 5ee8df03d50..5147b17d7ab 100644
--- a/qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb
+++ b/qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb
@@ -98,6 +98,17 @@ module QA
resource.value = 'You can see this application secret'
end
+ # Our current Auto DevOps implementation won't update the production
+ # app if we only update a CI variable with no code change.
+ #
+ # Workaround: push new code and use the resultant pipeline.
+ Resource::Repository::ProjectPush.fabricate! do |push|
+ push.project = @project
+ push.commit_message = 'Force a Deployment change by pushing new code'
+ push.file_name = 'new_file.txt'
+ push.file_content = 'new file contents'
+ end
+
@project.visit!
Page::Project::Menu.act { click_ci_cd_pipelines }
Page::Project::Pipeline::Index.act { go_to_latest_pipeline }