summaryrefslogtreecommitdiff
path: root/qa
diff options
context:
space:
mode:
authorThong Kuah <tkuah@gitlab.com>2019-01-08 17:32:17 +1300
committerThong Kuah <tkuah@gitlab.com>2019-01-09 11:38:47 +1300
commite9cb44e5e54e7d0522dff5eaf38b1cf8586eb5d9 (patch)
tree188222457ff99d12d465ebd1a002a7bcf410c8c8 /qa
parent1d2ef4c6557846eb531f4d0e80cf43dea99b037b (diff)
downloadgitlab-ce-e9cb44e5e54e7d0522dff5eaf38b1cf8586eb5d9.tar.gz
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.
Diffstat (limited to 'qa')
-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 }