@tawk.to/nestjs-google-pubsub-microservice
Version:
NestJS Google Cloud Pub/Sub Microservice Transport
86 lines (81 loc) • 2.19 kB
YAML
version: 2
aliases:
- &restore-cache
restore_cache:
key: dependency-cache-{{ checksum "package.json" }}
- &install-deps
run:
name: Install dependencies
command: yarn install --frozen-lockfile
- &build-packages
run:
name: Build
command: yarn build
jobs:
build:
working_directory: ~/nestjs-google-pubsub-microservice
docker:
- image: circleci/node:12
steps:
- checkout
- run:
name: Update NPM version
command: 'sudo npm install -g npm@latest'
- *restore-cache
- *install-deps
- save_cache:
key: dependency-cache-{{ checksum "package.json" }}
paths:
- ./node_modules
- *build-packages
- run:
name: Unit tests
command: yarn test
integration_tests:
working_directory: ~/nestjs-google-pubsub-microservice
machine: true
environment:
PUBSUB_EMULATOR_HOST: localhost:8681
steps:
- checkout
- run:
name: Prepare nvm
command: |
echo 'export NVM_DIR="/opt/circleci/.nvm"' >> $BASH_ENV
echo ' [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> $BASH_ENV
- run:
name: Upgrade Node.js
command: |
nvm install v12
node -v
nvm alias default v12
- run:
name: Install Yarn
command: npm install yarn -g
- run:
name: Install Docker Compose
command: |
curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose
chmod +x ~/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose
- *restore-cache
- *install-deps
- run:
name: Prepare
command: |
docker-compose up -d
sleep 10
- run:
name: List containers
command: docker ps
- run:
name: e2e tests
command: yarn test:e2e
workflows:
version: 2
build-and-test:
jobs:
- build
- integration_tests:
requires:
- build