Run Product Analytics onboarding test in MR pipeline
What does this MR do and why?
This MR adds an end-to-end test for Product Analytics onboarding to CI pipeline. The test is helpful to ensure that onboarding works based on the changes introduced in new devkit MRs.
Screenshots or screen recordings
N/A. The result can be seen in this MR's pipelines.
How to set up and validate locally
It is possible to run the same test that runs in CI locally by following the steps below.
Notes:
- The best is probably to use separate clone of the devkit repo as the test requires empty clickhouse datastore. To remove clickhouse data on your devkit repo clone you can run
rm -rf clickhouse/data
from devkit root directory, however there might be some other changes on your local devkit, hence using separate repo clone is still preferable. - Assumption is that devkit setup and
docker login
for gitlab registry are done as per README. - When running on Apple Silicon(M1, M2, M3) enable this setting in Docker general settings ->
Use Rosetta for x86/amd64 emulation on Apple Silicon
Steps:
-
Replace
GITLAB_BASE_URI
incube/.env
to behttp://gdk.test:3000
-
Build custom GDK image
docker build --no-cache -t custom_gdk ./gdk/
-
Add
EE_LICENSE
env variable# Use path to you valid ultimate license file export EE_LICENSE=$(cat /Users/some-uset/Code/ultimate-100.gitlab-license)
-
Add
QA_ADMIN_ACCESS_TOKEN
env variable. (Use token that is seeded into gdk image here).export QA_ADMIN_ACCESS_TOKEN=<token>
-
Replace gdk.test image in docker-compose.e2e.yml to use local image
custom_gdk
-
Run the test with the following command from devkit root directory
docker-compose -f docker-compose.e2e.yml run gitlab-qa
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.