-
Notifications
You must be signed in to change notification settings - Fork 2
68 lines (60 loc) · 1.93 KB
/
ci.yml
File metadata and controls
68 lines (60 loc) · 1.93 KB
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
# The name of the workflow
name: build
# What conditions trigger the workflow
# Trigger the workflow on push or pull request,
# but only for the master branch
on:
push:
branches:
- master
pull_request:
branches:
- master
# The jobs that will be run, usually in parallel
jobs:
# A job to generate and publish code coverage
coverage:
# A more descriptive name of the job
name: Test coverage
# The OS on which the job will run
runs-on: ubuntu-latest
# Service containers to run with `coverage`
services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgres
# Provide username, password, and default DB for Postgres
env:
POSTGRES_DB: devdesk-test
POSTGRES_USER: devdesk-test
POSTGRES_PASSWORD: devdesk-test
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
# Maps tcp port 5432 on service container to the host
- 5432:5432
# The steps for the job, executed in sequence
steps:
# A GitHub action for checking out the current branch
- uses: actions/checkout@master
# A GitHub action to setup Node.js
- uses: actions/setup-node@master
with:
node-version: "12"
# Run the NPM ci command to install node_modules and run testing migrations on DB
- run: npm ci && npm run migrate:testing
env:
PG_USERNAME: devdesk-test
PG_PASSWORD: devdesk-test
# A GitHub action for running tests and publishing coverage
- run: npm run coverage
env:
# Environment variables. Secrets are set in GitHub repo Settings > Secrets
PG_USERNAME: devdesk-test
PG_PASSWORD: devdesk-test
NODE_ENV: testing