-
Notifications
You must be signed in to change notification settings - Fork 566
70 lines (61 loc) · 1.8 KB
/
integration_tests.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
name: integration_tests
on:
push:
branches:
- main
pull_request:
paths:
- app/**
- config/**
- gulp/**
- gulpfile.babel.js
- package.json
- server/**
- test/**
- worker/**
- yarn.lock
jobs:
integration_tests:
runs-on: ubuntu-latest
container: node:18-slim
services:
redis:
image: redis:6
db:
image: postgres:13
env:
POSTGRES_USER: duelyst
POSTGRES_PASSWORD: duelyst
POSTGRES_DB: duelyst
steps:
- name: install bcrypt dependencies and git
run: apt-get update && apt-get -y install python3 make gcc g++ git
- name: check out code
uses: actions/checkout@v3
# Caching node_modules saves 50s on builds which don't modify dependencies.
# Compared to yarn caching, it saves an additional 27 seconds.
- name: cache node_modules
uses: actions/cache@v3
with:
path: /home/runner/work/duelyst/duelyst/node_modules
key: node-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
node-modules-
- name: redirect git ssh to https
run: |
git config --global url."https://github.com/".insteadOf [email protected]:
git config --global url."https://".insteadOf git://
- name: install node dependencies
run: yarn install --dev
- name: run database migrations
run: yarn migrate:latest
env:
NODE_ENV: development
POSTGRES_CONNECTION: "pg://duelyst:duelyst@db/duelyst"
- name: run integration tests
run: yarn test:integration:misc
env:
REDIS_HOST: redis
POSTGRES_CONNECTION: "pg://duelyst:duelyst@db/duelyst"
# TODO: Create a Firebase Realtime Database for CI.
FIREBASE_URL: "https://test-url.firebaseio.com/"