Skip to content

chore: introduces @tabulous/types and @tabulous/game-utils (#168) #557

chore: introduces @tabulous/types and @tabulous/game-utils (#168)

chore: introduces @tabulous/types and @tabulous/game-utils (#168) #557

Workflow file for this run

name: CI
on:
workflow_dispatch: {}
push:
branches:
- main
pull_request:
branches:
- main
jobs:
lint-and-format:
name: Lint and format code
runs-on: ubuntu-latest
steps:
- name: Check code out
uses: actions/checkout@v3
- name: Intall Pnpm
uses: pnpm/action-setup@v2
- name: Set Node.js up
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --ignore-scripts
- name: Run linter
run: pnpm lint
- name: Run type checker
run: pnpm typecheck
cli_tests:
name: CLI tests
runs-on: ubuntu-latest
needs: [lint-and-format]
steps:
- name: Check code out
uses: actions/checkout@v3
- name: Intall Pnpm
uses: pnpm/action-setup@v2
- name: Set Node.js up
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --ignore-scripts
- name: Run CLI test
run: pnpm test:cli
env:
TZ: CET
- name: Send coverage to Codacy
if: always()
continue-on-error: true
uses: codacy/codacy-coverage-reporter-action@master
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: apps/cli/coverage/clover.xml
server_tests:
name: Server tests
runs-on: ubuntu-latest
needs: [lint-and-format]
steps:
- name: Check code out
uses: actions/checkout@v3
- name: Intall Pnpm
uses: pnpm/action-setup@v2
- name: Set Node.js up
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
- name: Start Redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
- name: Install dependencies
run: pnpm install --ignore-scripts
- name: Run migrations
run: pnpm migrate
- name: Run server test
run: pnpm test:server
env:
TZ: CET
- name: Send coverage to Codacy
if: always()
continue-on-error: true
uses: codacy/codacy-coverage-reporter-action@master
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: apps/server/coverage/clover.xml
web_tests:
name: Web unit tests
runs-on: ubuntu-latest
needs: [lint-and-format]
steps:
- name: Check code out
uses: actions/checkout@v3
- name: Intall Pnpm
uses: pnpm/action-setup@v2
- name: Set Node.js up
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --ignore-scripts
- name: Run UI unit tests
run: pnpm test:web
env:
TZ: CET
WEB_USE_GITHUB_PROVIDER: true
WEB_USE_GOOGLE_PROVIDER: true
WEB_GRAPHQL_URL: http://localhost:3001/graphql
WEB_GAME_ASSETS_URL: http://localhost:3001/games
WEB_AUTH_URL: http://localhost:3001/auth
- name: Send coverage to Codacy
if: always()
continue-on-error: true
uses: codacy/codacy-coverage-reporter-action@master
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: apps/web/coverage/clover.xml
integration_tests:
name: Web integration tests
runs-on: ubuntu-latest
needs: [lint-and-format]
steps:
- name: Check code out
uses: actions/checkout@v3
- name: Intall Pnpm
uses: pnpm/action-setup@v2
with:
version: 7
- name: Set Node.js up
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
- name: Start Redis
uses: supercharge/redis-github-action@1.4.0
with:
redis-version: 6
- name: Install dependencies
run: pnpm install --ignore-scripts
- name: Run migrations
run: pnpm migrate
- name: Install Playwright
run: pnpm playwright install chromium
- name: Run UI integration tests
run: pnpm test:integration
env:
TZ: CET
WEB_GAME_ASSETS_URL: http://localhost:3001/games
WEB_GRAPHQL_URL: http://localhost:3001/graphql
WEB_AUTH_URL: http://localhost:3001/auth
WEB_USE_GITHUB_PROVIDER: true
WEB_USE_GOOGLE_PROVIDER: true
- name: Send coverage to Codacy
if: always()
continue-on-error: true
uses: codacy/codacy-coverage-reporter-action@master
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: apps/web/coverage/clover-integration.xml
games_tests:
name: Games tests
runs-on: ubuntu-latest
needs: [lint-and-format]
steps:
- name: Check code out
uses: actions/checkout@v3
- name: Intall Pnpm
uses: pnpm/action-setup@v2
- name: Set Node.js up
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --ignore-scripts
- name: Run Game test
run: pnpm test:games
env:
TZ: CET
- name: Send coverage to Codacy
if: always()
continue-on-error: true
uses: codacy/codacy-coverage-reporter-action@master
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
coverage-reports: apps/cli/coverage/clover.xml