Skip to content

Bump word-wrap from 1.2.3 to 1.2.4 in /e2e-tests #92

Bump word-wrap from 1.2.3 to 1.2.4 in /e2e-tests

Bump word-wrap from 1.2.3 to 1.2.4 in /e2e-tests #92

Workflow file for this run

name: e2e-tests
on:
push:
workflow_dispatch:
env:
DOCKER_BUILDKIT: 1
jobs:
start-test-stop:
timeout-minutes: 10
# See https://github.com/microsoft/playwright/issues/15764
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
#
# Cache settings
- name: cache the pnpm store
uses: actions/cache@v3
with:
path: .pnpm-store
key: ${{ runner.os }}-dotpnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
- name: cache user deps
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-dotnpm-${{ hashFiles('**/package-lock.json') }}
- name: cache workspace deps
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-node_modules-${{ hashFiles('package-lock.json') }}
- name: cache service deps - bff
uses: actions/cache@v3
with:
path: bff/node_modules
key: ${{ runner.os }}-bff-node_modules-${{ hashFiles('bff/package-lock.json') }}
- name: cache service deps - e2e-tests
uses: actions/cache@v3
with:
path: e2e-tests/node_modules
key: ${{ runner.os }}-e2e-tests-node_modules-${{ hashFiles('e2e-tests/package-lock.json') }}
- name: cache service deps - frontend
uses: actions/cache@v3
with:
path: frontend/node_modules
key: ${{ runner.os }}-frontend-node_modules-${{ hashFiles('frontend/package-lock.json') }}
#
# Envirinment settings
- name: Export UIDs as environment variables
run: |
echo "GID=$(id -g)" >> $GITHUB_ENV
echo "UID=$(id -u)" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build the docker image - default
timeout-minutes: 4
uses: docker/build-push-action@v3
with:
build-args: |
GID=${{ env.GID }}
UID=${{ env.UID }}
cache-from: |
type=gha
cache-to: |
type=gha,mode=max
context: Dockerfile.d/node-webapp.development
target: default
- name: Build the docker image - e2e-tests
timeout-minutes: 4
uses: docker/build-push-action@v3
with:
build-args: |
GID=${{ env.GID }}
UID=${{ env.UID }}
cache-from: |
type=gha
cache-to: |
type=gha,mode=max
context: Dockerfile.d/node-webapp.development
target: e2e-tests
#
# Prepare services
- name: Pull containers
timeout-minutes: 4
run: |
docker compose pull --include-deps bff e2e-tests frontend
- name: Build containers
timeout-minutes: 8
run: |
docker compose build bff e2e-tests frontend
- name: Start services
timeout-minutes: 8
run: |
docker compose up --wait bff e2e-tests frontend
- name: Show logs - bff
run: |
docker compose logs bff
- name: Show logs - e2e-tests
run: |
docker compose logs e2e-tests
- name: Show logs - frontend
run: |
docker compose logs frontend
#
# Test services
- name: It should successfully generate Web API clients in the frontend
timeout-minutes: 2
run: |
docker compose exec frontend npm run generate:clients
- name: It should be no change in the clients
timeout-minutes: 1
run: |
git diff --exit-code frontend/lib/generated
- name: Lint the service
timeout-minutes: 1
run: |
docker compose exec e2e-tests npm run lint
- name: List the tests
timeout-minutes: 1
run: |
docker compose exec e2e-tests npm run test -- --list
- name: Test the service
timeout-minutes: 4
run: |
docker compose exec e2e-tests npm run test -- --reporter=line
#
# Clean up
- name: Stop the service
timeout-minutes: 1
run: |
docker compose --profile=all down