Browse Source

Merge branch 'circleci-project-setup' into main

pull/1/merge
Dutoit Louis 6 years ago
parent
commit
f9f44b607b
  1. 90
      .circleci/config.yml
  2. 11
      Dockerfile
  3. 4
      package.json

90
.circleci/config.yml

@ -1,11 +1,95 @@
version: 2.1 version: 2.1
jobs: jobs:
build:
docker:
build:
docker: &shared_docker
- image: cimg/node:14.10.1 # the primary container, where your job's commands are run - image: cimg/node:14.10.1 # the primary container, where your job's commands are run
auth: auth:
username: mydockerhub-user username: mydockerhub-user
password: $DOCKERHUB_PASSWORD # context / project UI env-var reference password: $DOCKERHUB_PASSWORD # context / project UI env-var reference
steps: steps:
- checkout # check out the code in the project directory - checkout # check out the code in the project directory
- run: echo "hello world" # run the `echo` command
- run: yarn global add node-gyp && yarn install
- restore_cache :
keys :
- npm-v1-dependencies-{{ checksum "yarn.lock" }}
- save_cache:
paths:
- ./node_modules
key: npm-v1-dependencies-{{ checksum "yarn.lock" }}
lint:
docker: *shared_docker
steps:
- checkout # check out the code in the project director
- restore_cache :
keys :
- npm-v1-dependencies-{{ checksum "yarn.lock" }}
- run: yarn lint && yarn format:check
test:
docker: *shared_docker
steps:
- checkout # check out the code in the project director
- restore_cache :
keys :
- npm-v1-dependencies-{{ checksum "yarn.lock" }}
- run: yarn test:ci
e2etest:
docker:
- image: cimg/node:12.18.4
environment:
DATABASE_URL: postgres://psqluser:password@localhost:5432/psdb
JWT_SECRET: some string
API_HOST: localhost
API_PROTOCOL: http
API_PORT: 3000
- image: circleci/postgres:9.6.2-alpine
environment:
POSTGRES_USER: psqluser
POSTGRES_DB: psdb
POSTGRES_PASSWORD: password
steps:
- checkout
- restore_cache:
keys:
- npm-v1-dependencies-{{ checksum "yarn.lock" }}
- run: yarn test:e2e
documentation:
docker: *shared_docker
steps:
- checkout # check out the code in the project director
- restore_cache :
keys :
- npm-v1-dependencies-{{ checksum "yarn.lock" }}
- run: yarn doc:build
- store_artifacts:
path: doc-server
destination: doc-server
workflows:
version: 2
build_test:
jobs :
- build
- lint:
requires:
- build
- test:
requires:
- build
- e2etest:
requires:
- build
- documentation:
requires:
- build
- test
- lint
- e2etest

11
Dockerfile

@ -0,0 +1,11 @@
FROM node:12.18.4
COPY /src .
COPY package.json .
COPY yarn.lock .
RUN yarn global add node-gyp && yarn install
RUN yarn start

4
package.json

@ -20,8 +20,8 @@
"test:cov": "jest --coverage", "test:cov": "jest --coverage",
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
"test:e2e": "jest --config ./test/jest-e2e.json", "test:e2e": "jest --config ./test/jest-e2e.json",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\" \"./**/*.{yaml,yml}\"",
"format:check": "prettier --list-different \"src/**/*.ts\" \"test/**/*.ts\" \"./**/*.{yaml,yml}\"",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
"format:check": "prettier --list-different \"src/**/*.ts\" \"test/**/*.ts\"",
"generate": "hygen" "generate": "hygen"
}, },
"dependencies": { "dependencies": {

Loading…
Cancel
Save