Find out why remote_development_shared_contexts.rb is flaky based on ENV var order
MR: Pending
Description
Example failure (occurred when running scripts/remote_development/run-smoke-test-suite.sh locally):
1) RemoteDevelopment::Workspaces::Reconcile::Main Integration when update_type is partial when new unprovisioned workspace exists in database" returns proper workspace_rails_info entry
Failure/Error:
expect(unprovisioned_workspace_rails_info.fetch(:config_to_apply))
.to eq(expected_unprovisioned_workspace_rails_info.fetch(:config_to_apply))
expected: "---\nkind: ConfigMap\napiVersion: v1\nmetadata:\n name: workspace-583-2175-kgrppn-workspace-invento...zIHNldC4KZWNobyAidXNlcm5hbWU9ZG9lcy1ub3QtbWF0dGVyIgplY2hvICJwYXNzd29yZD0ke3Bhc3N3b3JkfSIKZXhpdCAw\n"
got: "---\nkind: ConfigMap\napiVersion: v1\nmetadata:\n name: workspace-583-2175-kgrppn-workspace-invento...zIHNldC4KZWNobyAidXNlcm5hbWU9ZG9lcy1ub3QtbWF0dGVyIgplY2hvICJwYXNzd29yZD0ke3Bhc3N3b3JkfSIKZXhpdCAw\n"
(compared using ==)
Diff:
@@ -315,14 +315,14 @@
workspaces.gitlab.com/id: '359'
workspaces.gitlab.com/max-resources-per-workspace-sha256: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
data:
- GIT_CONFIG_COUNT: Mw==
- GIT_CONFIG_KEY_0: Y3JlZGVudGlhbC5oZWxwZXI=
GIT_CONFIG_VALUE_0: Ly53b3Jrc3BhY2UtZGF0YS92YXJpYWJsZXMvZmlsZS9nbF9naXRfY3JlZGVudGlhbF9zdG9yZS5zaA==
GIT_CONFIG_KEY_1: dXNlci5uYW1l
GIT_CONFIG_VALUE_1: U2lkbmV5IEpvbmVzNjIw
GIT_CONFIG_KEY_2: dXNlci5lbWFpbA==
GIT_CONFIG_VALUE_2: dXNlcjYyMEBleGFtcGxlLm9yZw==
GL_GIT_CREDENTIAL_STORE_FILE_PATH: Ly53b3Jrc3BhY2UtZGF0YS92YXJpYWJsZXMvZmlsZS9nbF9naXRfY3JlZGVudGlhbF9zdG9yZS5zaA==
+ GIT_CONFIG_COUNT: Mw==
+ GIT_CONFIG_KEY_0: Y3JlZGVudGlhbC5oZWxwZXI=
GL_TOKEN_FILE_PATH: Ly53b3Jrc3BhY2UtZGF0YS92YXJpYWJsZXMvZmlsZS9nbF90b2tlbg==
GL_WORKSPACE_DOMAIN_TEMPLATE: JHtQT1JUfS13b3Jrc3BhY2UtNTgzLTIxNzUta2dycHBuLndvcmtzcGFjZXMubG9jYWxkZXYubWU=
GL_EDITOR_EXTENSIONS_GALLERY_SERVICE_URL: aHR0cHM6Ly9vcGVuLXZzeC5vcmcvdnNjb2RlL2dhbGxlcnk=
# ./ee/spec/lib/remote_development/workspaces/reconcile/main_integration_spec.rb:552:in `block (4 levels) in <main>'
# ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'
# ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'
# ./spec/spec_helper.rb:417:in `block (2 levels) in <top (required)>'
# ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'
# ./lib/gitlab/application_context.rb:70:in `with_raw_context'
# ./spec/spec_helper.rb:413:in `block (2 levels) in <top (required)>'
# ./spec/spec_helper.rb:260:in `block (2 levels) in <top (required)>'
# ./gems/gitlab-rspec/lib/gitlab/rspec/configurations/time_travel.rb:15:in `block (3 levels) in configure!'
# ./gems/gitlab-rspec/lib/gitlab/rspec/configurations/time_travel.rb:15:in `block (2 levels) in configure!'
# ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <main>'
# ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <main>'
# ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
# ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <main>'
Finished in 3 minutes 12.4 seconds (files took 15.12 seconds to load)
504 examples, 1 failure
Failed examples:
rspec ./ee/spec/lib/remote_development/workspaces/reconcile/main_integration_spec.rb:540 # RemoteDevelopment::Workspaces::Reconcile::Main Integration when update_type is partial when new unprovisioned workspace exists in database" returns proper workspace_rails_info entry
Acceptance Criteria
TODO: Fill out (required)
-
[Describe what must be achieved to complete this issue.] -
[Describe another requirement needed to complete this issue.] -
[Add additional acceptance criteria as needed.]
Technical Requirements
TODO: Fill out or delete [If applicable, please list out any technical requirements for this feature/enhancement.]
Design Requirements
TODO: Fill out or delete [If applicable, please provide a link to the design specifications for this feature/enhancement.]
Impact Assessment
TODO: Fill out or delete [Please describe the impact this feature/enhancement will have on the user experience and/or the product as a whole.]
User Story
TODO: Fill out or delete [Provide a user story to illustrate the use case for this feature/enhancement. Include examples to help communicate the intended functionality.]
Edited by Chad Woolley