Skip to content

E2E: Playwright Manual run #4

E2E: Playwright Manual run

E2E: Playwright Manual run #4

name: "E2E: Playwright Manual run"
on:
workflow_dispatch:
sha:
required: true
type: string
permissions:
contents: read
checks: write
statuses: write
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@1e31de5234b9f8995739874a8ce0492dc87873e2 # infered from @v4
with:
token: ${{ github.token }}
ref: ${{ inputs.sha }}
- name: Set up JDK
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # infered from @v4
with:
java-version: '21'
distribution: 'zulu'
cache: 'gradle'
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install NPM dependencies
working-directory: ./e2e-playwright
run: npm install
- name: Cache Playwright browser binaries
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf
id: playwright-cache
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ hashFiles('**/package-lock.json') }}
- name: Install Playwright browsers
working-directory: ./e2e-playwright
run: npx playwright install
- name: Build with Gradle
id: build_app
run: |
./gradlew build \
-x :e2e-tests:check \
-x :e2e-tests:build \
-x test \
-Pbuild-docker-images=true \
-Pinclude-frontend=true \
-Pversion=latest
- name: Run docker-compose
run: docker compose -f ./documentation/compose/e2e-tests.yaml up -d
- name: Run tests with ENV=prod
working-directory: ./e2e-playwright
run: ENV=prod npm run test
- name: Upload report
if: failure()
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # infered from @v4
with:
name: playwright-results
path: ./e2e-playwright/test-results/
retention-days: 7