Skip to content

chore(deps): update dependency eslint to v9 #12287

chore(deps): update dependency eslint to v9

chore(deps): update dependency eslint to v9 #12287

Workflow file for this run

name: test
on:
push:
branches:
- 'master'
- '*.*.*'
- 'renovate/**'
tags:
- '*.*.*'
pull_request:
branches:
- 'master'
merge_group:
jobs:
unit-tests:
name: unit
runs-on: ubuntu-22.04
strategy:
matrix:
node-version:
- 18.x
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
- name: Install dependencies
run: pnpm install
- name: Run unit test
run: pnpm test:ci
- name: Upload test coverage info
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
e2e-tests:
name: end-to-end
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
node-version:
- 18.x
test-name:
- 'e2e/app.e2e-spec.ts'
- 'e2e/assign-and-release-gameserver.e2e-spec.ts'
- 'e2e/cancel-player-substitute.e2e-spec.ts'
- 'e2e/configuration.e2e-spec.ts'
- 'e2e/game-server-diagnostics.e2e-spec.ts'
- 'e2e/game-server-heartbeat.e2e-spec.ts'
- 'e2e/launch-game.e2e-spec.ts'
- 'e2e/manage-player-bans.e2e-spec.ts'
- 'e2e/player-action-logs.e2e-spec.ts'
- 'e2e/player-disconnects-and-gets-substituted.e2e-spec.ts'
- 'e2e/player-does-not-join-and-gets-substituted.e2e-spec.ts'
- 'e2e/player-substitutes-another-player.e2e-spec.ts'
- 'e2e/player-substitutes-himself.e2e-spec.ts'
- 'e2e/reassign-game-server.e2e-spec.ts'
- 'e2e/update-player-skill.e2e-spec.ts'
- 'e2e/websocket.e2e-spec.ts'
services:
mongo:
image: mongo:4.0
ports:
- 27017:27017
redis:
image: redis:7-alpine
ports:
- 6379:6379
gameserver1:
image: ghcr.io/tf2pickup-org/tf2-gameserver:latest
ports:
- 27015:27015/tcp
- 27015:27015/udp
- 27020:27020/udp
env:
SERVER_HOSTNAME: 'test game server 1'
PORT: 27015
CLIENT_PORT: 27016
STEAM_PORT: 27017
STV_PORT: 27020
RCON_PASSWORD: '123456'
TF2PICKUPORG_API_ADDRESS: 'host.docker.internal:3000'
TF2PICKUPORG_SECRET: 'xxxxxx'
options: --tty --add-host host.docker.internal:host-gateway
gameserver2:
image: ghcr.io/tf2pickup-org/tf2-gameserver:latest
ports:
- 27025:27025/tcp
- 27025:27025/udp
- 27030:27030/udp
env:
SERVER_HOSTNAME: 'test game server 2'
PORT: 27025
CLIENT_PORT: 27026
STEAM_PORT: 27027
STV_PORT: 27030
RCON_PASSWORD: '123456'
TF2PICKUPORG_API_ADDRESS: 'host.docker.internal:3000'
TF2PICKUPORG_SECRET: 'xxxxxx'
options: --tty --add-host host.docker.internal:host-gateway
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
- name: Install dependencies
run: pnpm install
- name: Setup mongodb-tools
run: |
wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2204-x86_64-100.6.1.deb
sudo apt install ./mongodb-database-tools-*-100.6.1.deb
mongorestore --version
- name: Restore database dump for e2e tests
run: mongorestore mongodb://localhost:27017 --quiet e2e/dump/
- name: Run e2e tests
env:
WEBSITE_NAME: 'tf2pickup.pl e2e testing'
API_URL: 'http://localhost:3000'
CLIENT_URL: 'http://localhost:4200'
BOT_NAME: 'tf2pickup.pl'
MONGODB_URI: 'mongodb://localhost:27017/tf2pickuppl_e2e_tests'
REDIS_URL: 'redis://localhost:6379'
STEAM_API_KEY: 'FAKE_API_KEY'
KEY_STORE_PASSPHRASE: 'a_password'
SUPER_USER: '76561199195756652'
QUEUE_CONFIG: '6v6'
LOG_RELAY_ADDRESS: 'host.docker.internal'
LOG_RELAY_PORT: '9871'
GAME_SERVER_SECRET: 'xxxxxx'
LOGS_TF_API_KEY: 'FAKE_LOGS_TF_API_KEY'
run: pnpm test:e2e ${{ matrix.test-name }}
- name: Upload test coverage info
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
- name: Show gameserver logs
if: failure()
run: |
docker logs "${{ job.services.gameserver1.id }}"
docker logs "${{ job.services.gameserver2.id }}"
# Start the app with a clean database and verify it doesn't crash
fresh-start:
name: fresh-start
runs-on: ubuntu-22.04
strategy:
matrix:
node-version:
- 18.x
services:
mongo:
image: mongo:4.0
ports:
- 27017:27017
redis:
image: redis:7-alpine
ports:
- 6379:6379
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
- name: Install dependencies
run: pnpm install
- name: Run fresh instance
env:
WEBSITE_NAME: 'tf2pickup.org fresh'
API_URL: 'http://localhost:3000'
CLIENT_URL: 'http://localhost:4200'
BOT_NAME: 'tf2pickup.pl'
MONGODB_URI: 'mongodb://localhost:27017/tf2pickuporg_fresh'
REDIS_URL: 'redis://localhost:6379'
STEAM_API_KEY: 'FAKE_API_KEY'
KEY_STORE_PASSPHRASE: 'a_password'
SUPER_USER: '76561199195756652'
QUEUE_CONFIG: '6v6'
LOG_RELAY_ADDRESS: 'host.docker.internal'
LOG_RELAY_PORT: '9871'
GAME_SERVER_SECRET: 'xxxxxx'
LOGS_TF_API_KEY: 'FAKE_LOGS_TF_API_KEY'
run: timeout 3m pnpm dev || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi
build:
name: build
runs-on: ubuntu-22.04
strategy:
matrix:
node-version:
- 18.x
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: pnpm
- name: Install dependencies
run: pnpm install
- name: Build
run: pnpm build