From e9cb44e5e54e7d0522dff5eaf38b1cf8586eb5d9 Mon Sep 17 00:00:00 2001 From: Thong Kuah Date: Tue, 8 Jan 2019 17:32:17 +1300 Subject: [PATCH] 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. --- .../create_project_with_auto_devops_spec.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 } -- GitLab