88 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Automatisch UI Tests
 | |
| on:
 | |
|   push:
 | |
|   schedule:
 | |
|     - cron: '0 12 * * *'
 | |
|   workflow_dispatch:
 | |
| 
 | |
| env:
 | |
|   ENCRYPTION_KEY: sample_encryption_key
 | |
|   WEBHOOK_SECRET_KEY: sample_webhook_secret_key
 | |
|   APP_SECRET_KEY: sample_app_secret_key
 | |
|   POSTGRES_HOST: localhost
 | |
|   POSTGRES_DATABASE: automatisch
 | |
|   POSTGRES_PORT: 5432
 | |
|   POSTGRES_USERNAME: automatisch_user
 | |
|   POSTGRES_PASSWORD: automatisch_password
 | |
|   REDIS_HOST: localhost
 | |
|   APP_ENV: production
 | |
|   LICENSE_KEY: ${{ secrets.E2E_LICENSE_KEY }}
 | |
| 
 | |
| jobs:
 | |
|   test:
 | |
|     timeout-minutes: 60
 | |
|     runs-on: ubuntu-latest
 | |
|     services:
 | |
|       postgres:
 | |
|         image: postgres:14.5-alpine
 | |
|         env:
 | |
|           POSTGRES_DB: automatisch
 | |
|           POSTGRES_USER: automatisch_user
 | |
|           POSTGRES_PASSWORD: automatisch_password
 | |
|         options: >-
 | |
|           --health-cmd "pg_isready -U automatisch_user -d automatisch"
 | |
|           --health-interval 10s
 | |
|           --health-timeout 5s
 | |
|           --health-retries 5
 | |
|         ports:
 | |
|           - 5432:5432
 | |
|       redis:
 | |
|         image: redis:7.0.4-alpine
 | |
|         options: >-
 | |
|           --health-cmd "redis-cli ping"
 | |
|           --health-interval 10s
 | |
|           --health-timeout 5s
 | |
|           --health-retries 5
 | |
|         ports:
 | |
|           - 6379:6379
 | |
| 
 | |
|     steps:
 | |
|       - uses: actions/checkout@v3
 | |
|       - uses: actions/setup-node@v3
 | |
|         with:
 | |
|           node-version: 18
 | |
|       - name: Install dependencies
 | |
|         run: yarn && yarn lerna bootstrap
 | |
|       - name: Install Playwright Browsers
 | |
|         run: yarn playwright install --with-deps
 | |
|       - name: Build Automatisch
 | |
|         run: yarn lerna run --scope=@*/{web,backend,cli} build
 | |
|         env:
 | |
|           # Keep this until we clean up warnings in build processes
 | |
|           CI: false
 | |
|       - name: Migrate database
 | |
|         working-directory: ./packages/backend
 | |
|         run: yarn db:migrate --migrations-directory ./dist/src/db/migrations
 | |
|       - name: Seed user
 | |
|         working-directory: ./packages/backend
 | |
|         run: yarn db:seed:user &
 | |
|       - name: Run Automatisch
 | |
|         run: yarn start &
 | |
|         working-directory: ./packages/backend
 | |
|       - name: Run Automatisch worker
 | |
|         run: node dist/src/worker.js &
 | |
|         working-directory: ./packages/backend
 | |
|       - name: Run Playwright tests
 | |
|         working-directory: ./packages/e2e-tests
 | |
|         env:
 | |
|           LOGIN_EMAIL: ${{ secrets.LOGIN_EMAIL }}
 | |
|           LOGIN_PASSWORD: ${{ secrets.LOGIN_PASSWORD }}
 | |
|           BASE_URL: ${{ vars.E2E_BASE_URL }}
 | |
|         run: yarn test
 | |
|       - uses: actions/upload-artifact@v3
 | |
|         if: always()
 | |
|         with:
 | |
|           name: playwright-report
 | |
|           path: ./packages/e2e-tests/test-results/**/*
 | |
|           retention-days: 30
 | 
