Skip to content

Chore: Run webtests in isolation #739

Chore: Run webtests in isolation

Chore: Run webtests in isolation #739

name: Run integration tests
on:
pull_request:
push:
branches: [main]
jobs:
build:
# Due to the cgroups 1 issue on the openconext container, we do not
# use the new ubuntu platform yet. As they started using cgroups v2
runs-on: ubuntu-latest
timeout-minutes: 30
env:
DOCKER_COMPOSE: docker compose -f docker-compose.yml -f docker-compose-ci.yml
DOCKER_COMPOSE_PHP: docker compose -f docker-compose.yml -f docker-compose-ci.yml exec -T spdashboard
DOCKER_COMPOSE_CYPRESS: docker compose -f docker-compose.yml -f docker-compose-ci.yml exec -T cypress
steps:
- name: Check out the repo
uses: actions/checkout@v4
with:
path: spdashboard
- name: Checkout openconext-devconf
uses: actions/checkout@v4
with:
path: OpenConext-devconf
repository: OpenConext/OpenConext-devconf
- name: Start the docker images for testing
working-directory: spdashboard
run: ${DOCKER_COMPOSE} up -d
- name: Bootstrap the openconext environment
working-directory: spdashboard
run: bash ../OpenConext-devconf/core/scripts/init.sh
- name: Instantiate the env file
run: cp spdashboard/.env.dist spdashboard/.env
- name: Import the certificate on the Cypress docker machine
working-directory: spdashboard
run: ${DOCKER_COMPOSE_CYPRESS} sh /e2e/docker/conf/cypress_import_cert.sh
- name: Run composer
working-directory: spdashboard
run: |
${DOCKER_COMPOSE_PHP} /usr/bin/composer install -n --prefer-dist -o --ignore-platform-reqs
- name: Run yarn
working-directory: spdashboard
run: |
${DOCKER_COMPOSE_PHP} yarn install
- name: Create front end dependencies (yarn encore production)
working-directory: spdashboard
run: |
${DOCKER_COMPOSE_PHP} yarn run encore production
- name: Get the database up and running
working-directory: spdashboard
run: |
${DOCKER_COMPOSE_PHP} bin/console doctrine:schema:create
env:
APP_ENV: test
- name: Run Copy Paste Detector
working-directory: spdashboard
run: |
${DOCKER_COMPOSE_PHP} sh -c 'composer jscpd'
continue-on-error: true
- name: Run CI tests
working-directory: spdashboard
run: |
${DOCKER_COMPOSE_PHP} sh -c 'composer check'
- name: Run JS tests
working-directory: spdashboard
run: |
${DOCKER_COMPOSE_PHP} sh -c 'composer jest'
- name: Run Cypress tests
working-directory: spdashboard
run: |
${DOCKER_COMPOSE_CYPRESS} cypress run --browser chrome -C ./ci/qa/cypress.config.ts
continue-on-error: true