-
Girija SAINT-ANGE authoredGirija SAINT-ANGE authored
GitLab CI template for Cypress
This project implements a generic GitLab CI template for running Cypress functional tests.
Usage
In order to include this template in your project, add the following to your gitlab-ci.yml
:
include:
- project: 'to-be-continuous/cypress'
ref: '3.1.1'
file: '/templates/gitlab-ci-cypress.yml'
# Pipeline steps
stages:
- acceptance # required by Cypress template
# TODO: add all other required stages
cypress
job
This job starts Cypress (functional) tests.
It uses the following variable:
Name | description | default value |
---|---|---|
CYPRESS_IMAGE |
The Docker image used to run Cypress (use included images only). | cypress/included:12.0.2 |
CYPRESS_PROJECT_DIR |
The Cypress project directory (containing cypress.config.js or cypress.config.ts ) |
. |
CYPRESS_EXTRA_ARGS |
Cypress extra run options (to select a different browser, configuration or spec files for e.g.) | none |
REVIEW_ENABLED |
Set to true to enable Cypress tests on review environments (dynamic environments instantiated on development branches) |
none (disabled) |
In addition to a textual report in the console, this job produces the following reports, kept for one day:
Report | Format | Usage |
---|---|---|
$CYPRESS_PROJECT_DIR/reports/cypress-*.xunit.xml |
xUnit test report(s) | GitLab integration |
baseUrl
auto evaluation
Cypress By default, the Cypress template tries to auto-evaluate the baseUrl setting
(i.e. the variable pointing at server under test) by looking either for a $environment_url
variable or for an
environment_url.txt
file.
Therefore if an upstream job in the pipeline deployed your code to a server and propagated the deployed server url,
either through a dotenv variable $environment_url
or through a basic environment_url.txt
file, then the Cypress test will automatically be run on this server.
If you're not using a smart deployment job, you may still explicitly declare the CYPRESS_BASE_URL
variable (but that
will be unfortunately hardcoded to a single server).