fix: make make programFspConfigId nullable in relations AB#32262 #2184
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
# See: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions | |
name: 'Test: E2E (Portal)' | |
on: | |
workflow_dispatch: | |
pull_request: | |
paths: | |
- '.github/workflows/test_e2e_portal.yml' | |
- 'e2e/**' | |
- '!e2e/portalicious/**' | |
- 'services/.env.example' | |
- 'services/**' | |
- '!services/**.test.ts' | |
- '!services/**.spec.ts' | |
- 'interfaces/Portal/**' | |
- '!interfaces/Portal/**.test.ts' | |
- '!interfaces/Portal/**.spec.ts' | |
- '!**.md' | |
env: | |
e2eTestsPath: './e2e' | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Set up Node.js version | |
uses: actions/setup-node@v4 | |
with: | |
node-version-file: '${{ env.e2eTestsPath }}/.node-version' | |
cache: 'npm' | |
cache-dependency-path: '${{ env.e2eTestsPath }}/package-lock.json' | |
- name: Install E2E-Tests code-dependencies | |
working-directory: ${{ env.e2eTestsPath }} | |
run: | | |
npm ci --omit=optional --no-fund --no-audit | |
- name: Lint E2E-Tests code | |
working-directory: ${{ env.e2eTestsPath }} | |
run: 'npm run lint' | |
- name: Set ENV-variables for test-environment | |
run: | | |
cp services/.env.example services/.env | |
- name: Run Services with Docker | |
working-directory: ./services | |
run: | | |
docker --log-level 'warn' compose -f docker-compose.yml up -d --quiet-pull --wait --wait-timeout 300 | |
- name: Start Portal | |
working-directory: ./interfaces/Portal | |
env: | |
NG_URL_121_SERVICE_API: http://localhost:3000/api | |
run: | | |
npm install | |
npm run start:debug-production > portal-server-logs.txt 2>&1 & | |
- name: Install 121-Service dependencies | |
# This step is necessary because the tests run functions in this folder | |
working-directory: ./services/121-service | |
run: | | |
npm install | |
- name: Install E2E-Tests runtime-dependencies | |
working-directory: ${{ env.e2eTestsPath }} | |
run: | | |
npx playwright install chromium --with-deps --no-shell | |
- name: Wait for Portal | |
run: | | |
timeout 90s sh -c 'until curl http://localhost:8088 -I; do echo "Waiting for the Portal to be running..."; sleep 1; done' | |
- name: Run E2E-Tests with Playwright | |
working-directory: ${{ env.e2eTestsPath }} | |
env: | |
BASE_URL: http://localhost:8088 | |
run: | | |
npm test | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: test-result-artifacts | |
path: | | |
${{ env.e2eTestsPath }}/test-results/ | |
./interfaces/Portal/portal-server-logs.txt | |
retention-days: 30 | |
- name: Docker logs | |
if: always() | |
uses: jwalton/gh-docker-logs@v2 |