Skip to content

Run Product Analytics onboarding test in MR pipeline

Ievgen Chernikov requested to merge add-onboarding-e2e-test into main

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  in cube/.env  to be http://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.

Edited by Ievgen Chernikov

Merge request reports