all tests #9
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SPDX-FileCopyrightText: 2022 - 2023 Dusan Mijatovic (dv4all) | |
# SPDX-FileCopyrightText: 2022 - 2023 dv4all | |
# SPDX-FileCopyrightText: 2022 - 2024 Ewan Cahen (Netherlands eScience Center) <[email protected]> | |
# SPDX-FileCopyrightText: 2022 - 2024 Netherlands eScience Center | |
# | |
# SPDX-License-Identifier: Apache-2.0 | |
name: all tests | |
on: | |
workflow_dispatch: | |
jobs: | |
fe-tests: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "install node v20.10 and cash yarn" | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.10 | |
cache: 'yarn' | |
cache-dependency-path: frontend/yarn.lock | |
- name: "install dependencies" | |
working-directory: frontend | |
run: yarn install --frozen-lockfile | |
- name: "run unit test" | |
working-directory: frontend | |
run: yarn test:coverage | |
- name: "run build test" | |
working-directory: frontend | |
run: yarn build | |
api-tests: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "backend tests with docker compose" | |
working-directory: backend-tests | |
run: | | |
docker compose up \ | |
--exit-code-from postgrest-tests | |
scrapers-tests: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
- name: "Maven JUnit tests" | |
working-directory: scrapers | |
run: | | |
mvn test | |
e2e-chrome: | |
# wait fe test to finish first | |
needs: fe-tests | |
timeout-minutes: 30 | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20.10 | |
cache: 'npm' | |
cache-dependency-path: e2e/package-lock.json | |
- name: get playwright version | |
id: playwright-version | |
working-directory: e2e | |
run: echo "PLAYWRIGHT_VERSION=$(node -e "console.log(require('./package-lock.json').dependencies['@playwright/test'].version)")" >> $GITHUB_ENV | |
- name: cache playwright binaries | |
uses: actions/cache@v4 | |
id: playwright-cache | |
with: | |
path: | | |
~/.cache/ms-playwright | |
key: ${{ runner.os }}-playwright-${{ env.PLAYWRIGHT_VERSION }} | |
- name: install dependencies | |
working-directory: e2e | |
run: npm ci | |
- name: install browsers | |
working-directory: e2e | |
run: npx playwright install chromium chrome --with-deps | |
if: steps.playwright-cache.outputs.cache-hit != 'true' | |
- name: build rsd | |
working-directory: . | |
run: | | |
cp e2e/.env.e2e .env | |
docker compose build --parallel database backend auth frontend nginx | |
- name: start rsd | |
working-directory: . | |
run: | | |
docker compose up --detach database backend auth frontend nginx swagger | |
sleep 5 | |
- name: run e2e tests in chrome | |
working-directory: e2e | |
run: npm run e2e:chrome:action | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: playwright-report | |
path: e2e/playwright-report/ | |
retention-days: 30 | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: browser state and .env file | |
path: | | |
e2e/state/ | |
.env | |
retention-days: 30 | |