ci: Run Web IDE integration tests on GitLab CI

Issue: Set up CI job to run integration tests (#465 - closed)

What does this MR do and why?

This merge request adds integration testing capabilities to the GitLab Web IDE project on the CI pipeline. It creates a new Docker image specifically for running integration tests, which will only be rebuilt when its Dockerfile changes. The changes include:

  1. A new CI job to build the integration test Docker image.
  2. Configuration for running integration tests in two modes: one using the production image and another using a development image.
  3. A new Dockerfile that sets up Playwright (a browser automation tool) with necessary dependencies like mkcert for HTTPS testing.
  4. Updates to the Playwright configuration to better handle CI environments, including enabling HTML reports and trace collection.

The integration tests will run automatically on merge requests and the main branch, with special handling when the test Dockerfile itself changes. This provides a more robust way to test the Web IDE's functionality in realistic scenarios.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

This MR does not introduce user-facing changes in the app. It only modifies the CI pipeline.

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

  • The integration test container image is built correctly.
  • The integration-tests job passes.
  • Check the trace file generated by playwright to ensure that the test worked as expected.
Edited by Enrique Alcántara

Merge request reports

Loading