Yield generated for 578d9f19-dab7-4e56-83a0-aa380bfce5bf
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

103 lines
2.6 KiB

version: 2.1
workflows:
tp:
jobs:
- hello
- yarninstall
- lint:
requires:
- yarn
- unittest:
requires:
- yarn
- e2e
- dockerbuild:
requires:
- lint
- test
- e2e
filters:
branches:
only: main
- dockerpush:
requires:
- dockerbuild
jobs:
hello:
docker:
- image: circleci/node:12
steps:
- checkout
- run: echo "hello world"
yarninstall:
docker:
- image: circleci/node:12
steps:
- checkout
- restore_cache:
key: yarn-packages-{{ checksum "yarn.lock" }}
- run: yarn global add node-gyp && yarn install
- save_cache:
key: yarn-packages-{{ checksum "yarn.lock" }}
paths:
- ./node_modules
lint:
docker:
- image: circleci/node:12
steps:
- checkout
- restore_cache:
key: yarn-packages-{{ checksum "yarn.lock" }}
- run: yarn lint && yarn format:check
unittest:
docker:
- image: circleci/node:12
steps:
- checkout
- restore_cache:
key: yarn-packages-{{ checksum "yarn.lock" }}
- run: yarn test:ci
e2e:
docker:
- image: circleci/node:12 # the primary container, where your job's commands are run
environment:
DATABASE_URL: postgres://psqluser:psqlpassword@localhost:5432/psdb
JWT_SECRET: hello
API_PORT: 3000
API_HOST: localhost
API_PROTOCOL: http
- image: circleci/postgres:9.6.2-alpine
environment:
POSTGRES_USER: psqluser
POSTGRES_PASSWORD: psqlpassword
POSTGRES_DB: psdb
steps:
- checkout
- restore_cache:
key: yarn-packages-{{ checksum "yarn.lock" }}
- run: yarn test:e2e
dockerbuild:
docker:
- image: circleci/buildpack-deps:stretch
environment:
IMAGE_NAME: giannidocker
steps:
- checkout
- setup_remote_docker
- run: docker build -t $IMAGE_NAME:latest .
dockerpush:
environment:
IMAGE_NAME: gianni-building-on-ci
docker:
- image: circleci/buildpack-deps:stretch
environment:
DOCKERHUB_USERNAME: giannigiux
DOCKERHUB_PASS: testtpdocker
steps:
- setup_remote_docker
- run:
name: Publish Docker Image to Docker Hub
command: | echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
docker push $IMAGE_NAME:latest