Changes required for the Rails single codebase migration
The Rails single codebase migration is on its way (https://gitlab.com/gitlab-org/gitlab-ee/issues/13304).
Critical changes
Following are the changes in this project that I identified, but I could be wrong and I'm certainly missing some:
.gitlab-ci.yml
lib/gitlab/qa/release.rb
lib/gitlab/qa/component/staging.rb
Note that if we keep pushing the GitLab and QA images with the gitlab-{ce,ee}
names (and we should!), I think we're mostly fine here.
Non-critical changes
- In
README.md
&docs/
: replacegitlab-ce
withgitlab-foss
andgitlab-ee
withgitlab
?
gitlab-ce
ocurrences:
Full list of .gitlab-ci.yml: - $RELEASE =~ /gitlab-ce/
README.md: Located at [`gitlab-org/gitlab-ce@qa/qa/`][qa-framework].
README.md: Located at [`gitlab-org/gitlab-ce@qa/qa/specs/features/`][instance-level-scenarios].
README.md:[qa-framework]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/
README.md:[instance-level-scenarios]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/specs/features/
README.md:[CE](https://gitlab.com/gitlab-org/gitlab-ce/tree/master/qa) and
docs/how_it_works.md:1. A new `gitlab-ce` container is started with `Component::Gitlab.perform`
docs/how_it_works.md: container (from [`gitlab-org/gitlab-ce@qa/Dockerfile`][gitlab-dockerfile])
docs/how_it_works.md: [`ENTRYPOINT` defined at `gitlab-org/gitlab-ce@qa/Dockerfile`][gitlab-dockerfile]),
docs/how_it_works.md:[gitlab-dockerfile]: https://gitlab.com/gitlab-org/gitlab-ce/blob/60f51cd20af5db8759c31c32a9c45db5b5be2199/qa/Dockerfile
docs/how_it_works.md:[instance]: https://gitlab.com/gitlab-org/gitlab-ce/blob/60f51cd20af5db8759c31c32a9c45db5b5be2199/qa/qa/scenario/test/instance.rb
docs/how_it_works.md:[runner]: https://gitlab.com/gitlab-org/gitlab-ce/blob/60f51cd20af5db8759c31c32a9c45db5b5be2199/qa/qa/specs/runner.rb
docs/run_qa_against_gdk.md: $ docker build -t gitlab/gitlab-ce-qa:your-custom-tag .
docs/run_qa_against_gdk.md: $ exe/gitlab-qa Test::Instance::Any gitlab/gitlab-ce:your-custom-tag http://192.168.0.12:3000 -- qa/specs/features/browser_ui/1_manage/login/log_in_spec.rb
docs/waits.md:Ideally the [GitLab QA Framework](https://gitlab.com/gitlab-org/gitlab-ce/tree/master/qa) should implement its own explicit waiting to avoid hard sleeps but currently that is [not the case](https://gitlab.com/gitlab-org/gitlab-qa/issues/280).
docs/waits.md:**[qa/qa/page/base.rb](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/page/base.rb#L16)**
docs/what_tests_can_be_run.md:framework documentation](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/README.md#running-tests-with-a-feature-flag-enabled) for details.
docs/what_tests_can_be_run.md:[`gitlab-org/gitlab-ce@qa/qa/scenario/test/instance.rb`][test-instance] in the
docs/what_tests_can_be_run.md:- `gitlab/gitlab-ce:nightly` for `CE`
docs/what_tests_can_be_run.md:# Update from gitlab/gitlab-ce:latest to gitlab/gitlab-ce:nightly
docs/what_tests_can_be_run.md:# Update from gitlab/gitlab-ce:latest to gitlab/gitlab-ce:my-custom-tag
docs/what_tests_can_be_run.md:$ gitlab-qa Test::Omnibus::Update gitlab/gitlab-ce:my-custom-tag
docs/what_tests_can_be_run.md:# Ugrade from gitlab/gitlab-ce:nightly to gitlab/gitlab-ee:nightly
docs/what_tests_can_be_run.md:# Ugrade from gitlab/gitlab-ce:my-custom-tag to gitlab/gitlab-ee:my-custom-tag
docs/what_tests_can_be_run.md:$ gitlab-qa Test::Omnibus::Upgrade gitlab/gitlab-ce:my-custom-tag
docs/what_tests_can_be_run.md:[`gitlab-org/gitlab-ce@qa/qa/scenario/test/integration/ldap_no_tls.rb`][test-integration-ldap-no-tls]
docs/what_tests_can_be_run.md:[test-integration-ldap-no-tls]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/scenario/test/integration/ldap_no_tls.rb
docs/what_tests_can_be_run.md:[`gitlab-org/gitlab-ce@qa/qa/scenario/test/integration/ldap_tls.rb`][test-integration-ldap-tls]
docs/what_tests_can_be_run.md:[test-integration-ldap-tls]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/scenario/test/integration/ldap_tls.rb
docs/what_tests_can_be_run.md:[test-integration-ldap-tls-certs]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/tls_certificates/gitlab
docs/what_tests_can_be_run.md:`Test::Integration::GroupSAML` scenario (located under [`gitlab-org/gitlab-ce@qa/qa/ee/scenario/test/integration/group_saml.rb`][test-integration-group-saml] in the GitLab EE project).
docs/what_tests_can_be_run.md:`Test::Integration::InstanceSAML` scenario (located under [`gitlab-org/gitlab-ce@qa/qa/scenario/test/integration/instance_saml.rb`][test-integration-instance-saml] in the GitLab CE project).
docs/what_tests_can_be_run.md:[test-integration-instance-saml]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/scenario/test/integration/instance_saml.rb
docs/what_tests_can_be_run.md:`Test::Integration::OAuth` scenario (located under [`gitlab-org/gitlab-ce@qa/qa/scenario/test/integration/oauth.rb`](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/scenario/test/integration/oauth.rb) in the GitLab CE project).
docs/what_tests_can_be_run.md:[`gitlab-org/gitlab-ce@qa/qa/scenario/test/integration/mattermost.rb`][test-integration-mattermost]
docs/what_tests_can_be_run.md:[test-integration-mattermost]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/scenario/test/integration/mattermost.rb
docs/what_tests_can_be_run.md:[`gitlab-org/gitlab-ce@qa/qa/scenario/test/instance.rb`][test-instance] in the
docs/what_tests_can_be_run.md:$ gitlab-qa Test::Instance::Any registry.gitlab.com:5000/gitlab/gitlab-ce-qa:v11.1.0-rc12 https://your.instance.gitlab
docs/what_tests_can_be_run.md:[`gitlab-org/gitlab-ce@qa/qa/scenario/test/instance.rb`][test-instance] in the
docs/what_tests_can_be_run.md:[`gitlab-org/gitlab-ce@qa/qa/scenario/test/smoke.rb`][smoke-instance] in the
docs/what_tests_can_be_run.md:[test-instance]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/scenario/test/instance/all.rb
docs/what_tests_can_be_run.md:[smoke-instance]: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/qa/scenario/test/instance/smoke.rb
lib/gitlab/qa/release.rb: # The previous stable is always gitlab/gitlab-ce:latest or
spec/gitlab/qa/component/gitlab_spec.rb: let(:full_ce_address) { 'registry.gitlab.com/foo/gitlab/gitlab-ce' }
spec/gitlab/qa/component/gitlab_spec.rb: expect(subject.release.to_s).to eq 'gitlab/gitlab-ce:nightly'
spec/gitlab/qa/component/gitlab_spec.rb: expect(subject.release.to_s).to eq 'gitlab/gitlab-ce:nightly'
spec/gitlab/qa/component/gitlab_spec.rb: it { expect(subject.hostname).to match(/\Agitlab-ce-(\w+){8}\.\z/) }
spec/gitlab/qa/component/gitlab_spec.rb: expect(subject.hostname).to match(/\Agitlab-ce-(\w+){8}\.local\z/)
spec/gitlab/qa/component/gitlab_spec.rb: .to match(%r{http://gitlab-ce-(\w+){8}\.local\z})
spec/gitlab/qa/component/specs_spec.rb: specs.release = double('release', edition: :ce, project_name: 'gitlab-ce', qa_image: 'gitlab-ce-qa', qa_tag: 'latest')
spec/gitlab/qa/component/specs_spec.rb: .with('/tmp/gitlab-qa/gitlab-qa-run-2018-07-11-10-00-00-abc123/gitlab-ce-qa-def456', '/home/qa/tmp')
spec/gitlab/qa/component/specs_spec.rb: specs.release = Gitlab::QA::Release.new('gitlab/gitlab-ce:foobar')
spec/gitlab/qa/component/specs_spec.rb: .with('gitlab/gitlab-ce-qa', 'foobar', suite)
spec/gitlab/qa/component/specs_spec.rb: specs.release = Gitlab::QA::Release.new('gitlab/gitlab-ce-qa:foobar')
spec/gitlab/qa/component/specs_spec.rb: .with('gitlab/gitlab-ce-qa', 'foobar', suite)
spec/gitlab/qa/docker/engine_spec.rb: subject.pull('gitlab/gitlab-ce', 'nightly')
spec/gitlab/qa/docker/engine_spec.rb: .with(eq('docker pull gitlab/gitlab-ce:nightly'))
spec/gitlab/qa/docker/engine_spec.rb: subject.run('gitlab/gitlab-ce', 'nightly', 'cmd')
spec/gitlab/qa/docker/engine_spec.rb: .with(eq('docker run gitlab/gitlab-ce:nightly cmd'))
spec/gitlab/qa/release_spec.rb: let(:full_ce_address) { 'registry.gitlab.com:5000/foo/gitlab/gitlab-ce' }
spec/gitlab/qa/release_spec.rb: let(:ce_image) { 'gitlab/gitlab-ce' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.to_s).to eq 'gitlab/gitlab-ce:nightly' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.to_s).to eq 'gitlab/gitlab-ce:nightly' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.to_s).to eq "gitlab/gitlab-ce:#{specific_ce_tag}" }
spec/gitlab/qa/release_spec.rb: it { expect(subject.to_s).to eq "gitlab/gitlab-ce:#{specific_ce_tag}" }
spec/gitlab/qa/release_spec.rb: it { expect(subject.image).to eq 'gitlab/gitlab-ce' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.image).to eq 'gitlab/gitlab-ce' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.image).to eq 'gitlab/gitlab-ce' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.image).to eq 'gitlab/gitlab-ce' }
spec/gitlab/qa/release_spec.rb: let(:ce_image) { 'registry.gitlab.com/cef/gitlab/gitlab-ce:latest' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.image).to eq 'gitlab/gitlab-ce' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.image).to eq 'gitlab/gitlab-ce' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.qa_image).to eq 'gitlab/gitlab-ce-qa' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.project_name).to eq 'gitlab-ce' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.project_name).to eq 'gitlab-ce' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.project_name).to eq 'gitlab-ce' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.project_name).to eq 'gitlab-ce' }
spec/gitlab/qa/release_spec.rb: subject { described_class.new('gitlab/gitlab-ce-qa:11.1.8') }
spec/gitlab/qa/scenario/test/instance/deployment_base_spec.rb: let(:release) { Gitlab::QA::Release.new('gitlab/gitlab-ce:release') }
spec/gitlab/qa/scenario/test/instance/deployment_base_spec.rb: expect(release.release).to eq('gitlab/gitlab-ce:release')
gitlab-ee
ocurrences:
Full list of .gitlab-ci.yml: - $RELEASE =~ /gitlab-ee/
README.md:[EE](https://gitlab.com/gitlab-org/gitlab-ee/tree/master/qa)
docs/run_qa_against_gdk.md:d28cc97870b4 gitlab/gitlab-ee:nightly "/assets/wrapper" 1 second ago Up Less than a second (health: starting) 22/tcp, 443/tcp, 0.0.0.0:32775->80/tcp gitlab-secondary
docs/run_qa_against_gdk.md:41f86bb951c5 gitlab/gitlab-ee:nightly "/assets/wrapper" 2 minutes ago Up 2 minutes (healthy) 22/tcp, 443/tcp, 0.0.0.0:32774->80/tcp gitlab-primary
docs/what_tests_can_be_run.md:- `gitlab/gitlab-ee:nightly` for `EE`
docs/what_tests_can_be_run.md:# Update from gitlab/gitlab-ee:latest to gitlab/gitlab-ee:nightly
docs/what_tests_can_be_run.md:# Ugrade from gitlab/gitlab-ce:nightly to gitlab/gitlab-ee:nightly
docs/what_tests_can_be_run.md:# Ugrade from gitlab/gitlab-ce:my-custom-tag to gitlab/gitlab-ee:my-custom-tag
docs/what_tests_can_be_run.md:[`gitlab-org/gitlab-ee@qa/qa/ee/scenario/test/geo.rb`][test-geo] in the GitLab
docs/what_tests_can_be_run.md:[test-geo]: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/qa/qa/ee/scenario/test/geo.rb
docs/what_tests_can_be_run.md:[test-integration-group-saml]: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/qa/qa/ee/scenario/test/integration/group_saml.rb
lib/gitlab/qa/component/staging.rb: "dev.gitlab.org:5005/gitlab/omnibus-gitlab/gitlab-ee:#{version}"
lib/gitlab/qa/release.rb: # gitlab/gitlab-ee:latest
lib/gitlab/qa/scenario/test/integration/geo.rb: # https://gitlab.com/gitlab-org/gitlab-ee/issues/3999
spec/gitlab/qa/component/gitlab_spec.rb: expect(subject.name).to match(/\Agitlab-ee-(\w+){8}\z/)
spec/gitlab/qa/release_spec.rb: let(:full_ee_address) { 'registry.gitlab.com:5000/foo/gitlab/gitlab-ee' }
spec/gitlab/qa/release_spec.rb: let(:full_dev_address) { 'dev.gitlab.org:5005/gitlab/omnibus-gitlab/gitlab-ee:latest' }
spec/gitlab/qa/release_spec.rb: let(:ee_image) { 'gitlab/gitlab-ee' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.to_s).to eq 'gitlab/gitlab-ee:nightly' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.image).to eq 'gitlab/gitlab-ee' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.image).to eq 'gitlab/gitlab-ee' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.image).to eq 'gitlab/gitlab-ee' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.to_ee.to_s).to eq 'gitlab/gitlab-ee:nightly' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.to_ee.to_s).to eq "gitlab/gitlab-ee:#{specific_ce_tag}" }
spec/gitlab/qa/release_spec.rb: it { expect(subject.to_ee.to_s).to eq 'gitlab/gitlab-ee:abcdcef' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.to_ee.to_s).to eq 'gitlab/gitlab-ee:abcdeef' }
spec/gitlab/qa/release_spec.rb: let(:ee_image) { 'registry.gitlab.com/cef/gitlab/gitlab-ee:latest' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.image).to eq 'gitlab/gitlab-ee' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.qa_image).to eq 'gitlab/gitlab-ee-qa' }
spec/gitlab/qa/release_spec.rb: it { expect(subject.project_name).to eq 'gitlab-ee' }