Changeset View
Changeset View
Standalone View
Standalone View
jobs/templates/includes/stage-cypress-tests.groovy.j2
Show First 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | script { | ||||
'Cypress runner {{ n }}': { | 'Cypress runner {{ n }}': { | ||||
sh ''' | sh ''' | ||||
# export cypress parallel build id (used internally by swh-web to setup cypress parallel tests) | # export cypress parallel build id (used internally by swh-web to setup cypress parallel tests) | ||||
export CYPRESS_PARALLEL_BUILD_ID={{ n }} | export CYPRESS_PARALLEL_BUILD_ID={{ n }} | ||||
# force use of manually created X11 server | # force use of manually created X11 server | ||||
export DISPLAY=:99 | export DISPLAY=:99 | ||||
# to avoid possible race conditions, each cypress runner will execute tests from | |||||
# a copy of the swh-web repository filesystem (without root hidden folders) | |||||
mkdir .swh-web{{ n }} | |||||
cp -r ./* .swh-web{{ n }} | |||||
cd .swh-web{{ n }} | |||||
# copy database file to the one that will be used by django for that test runner | # copy database file to the one that will be used by django for that test runner | ||||
cp swh-web-test.sqlite3 swh-web-test{{ n }}.sqlite3 | cp swh-web-test.sqlite3 swh-web-test{{ n }}.sqlite3 | ||||
# run django server on a dedicated port for that test runner and wait for it to be up | # run django server on a dedicated port for that test runner and wait for it to be up | ||||
python3 swh/web/manage.py runserver --nostatic --settings=swh.web.settings.tests 0.0.0.0:500{{ n }}& | python3 swh/web/manage.py runserver --nostatic --settings=swh.web.settings.tests 0.0.0.0:500{{ n }}& | ||||
wait-for-it -t 90 localhost:500{{ n }} | wait-for-it -t 90 localhost:500{{ n }} | ||||
# execute cypress tests | # execute cypress tests | ||||
yarn run cypress run --record --key swh-web --parallel --config baseUrl=http://localhost:500{{ n }} --ci-build-id $SORRY_CYPRESS_BUILD_ID | yarn run cypress run --record --key swh-web --parallel --config baseUrl=http://localhost:500{{ n }} --ci-build-id $SORRY_CYPRESS_BUILD_ID | ||||
# copy nyc coverage outputs to dedicated merge folders for later processing | # copy nyc coverage outputs to dedicated merge folders for later processing | ||||
cp cypress/coverage{{ n }}/coverage-final.json cypress/coverage_output/coverage-final{{ n }}.json | cp cypress/coverage{{ n }}/coverage-final.json ../cypress/coverage_output/coverage-final{{ n }}.json | ||||
cp .nyc_output{{ n }}/out.json .nyc_outputs/out{{ n }}.json | cp .nyc_output{{ n }}/out.json ../.nyc_outputs/out{{ n }}.json | ||||
''' | ''' | ||||
}, | }, | ||||
{% endfor %} | {% endfor %} | ||||
]) | ]) | ||||
} | } | ||||
} | } | ||||
} | } | ||||
} | } | ||||
▲ Show 20 Lines • Show All 54 Lines • Show Last 20 Lines |