From 97199a72116d610416f7e1adf581230c8944b162 Mon Sep 17 00:00:00 2001 From: Etiam Ayedze <48016079+etiamayedze@users.noreply.github.com> Date: Tue, 1 Dec 2020 14:42:08 +0100 Subject: [PATCH] Add .circleci/config.yml --- .circleci/config.yml | 178 ++----------------------------------------- 1 file changed, 5 insertions(+), 173 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dd8f9d1..dbfd56f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,175 +1,7 @@ -version: 2 -jobs: - build: - docker: - - image: circleci/node:dubnium-browsers - working_directory: ~/repo - steps: - - checkout - - restore_cache: - keys: - - dependencies-{{ checksum "package.json" }}-{{ .Environment.CACHE_VERSION }} - # fallback to using the latest cache if no exact match is found - - dependencies- - - run: yarn global add node-gyp && yarn install - - save_cache: - paths: - - node_modules - key: dependencies-{{ checksum "package.json" }}-{{ .Environment.CACHE_VERSION }} - lint: - docker: - - image: circleci/node:dubnium-browsers - working_directory: ~/repo - steps: - - checkout - - restore_cache: - key: dependencies-{{ checksum "package.json" }}-{{ .Environment.CACHE_VERSION }} - - run: yarn lint - - run: yarn format:check - server-doc-build: - docker: - - image: circleci/node:dubnium-browsers - working_directory: ~/repo - steps: - - checkout - - restore_cache: - key: dependencies-{{ checksum "package.json" }}-{{ .Environment.CACHE_VERSION }} - - run: yarn doc:build - - run: - name: Copy deployment artifacts to workspace - command: | - cp doc-server/ /tmp/server-doc -r - - store_artifacts: - path: /tmp/server-doc - - persist_to_workspace: - root: /tmp - paths: - - server-doc - server-doc-deploy: - docker: - - image: circleci/node:dubnium-browsers - working_directory: ~/deploy-doc-server - steps: - - attach_workspace: - at: /tmp - - run: - name: Deploy app - command: echo todo && false - back-test-unit: - docker: - - image: circleci/node:dubnium-browsers - working_directory: ~/repo - steps: - - checkout - - restore_cache: - key: dependencies-{{ checksum "package.json" }}-{{ .Environment.CACHE_VERSION }} - - run: - command: yarn test:ci - environment: - DATABASE_URL: postgres://psqluer:psqlpassword@localhost:5432/psqluer - JWT_SECRET: aaaa - API_PORT: 3000 - API_HOST: localhost - API_PROTOCOL: http - - run: yarn add codecov && yarn codecov - back-test-e2e: - docker: - - image: circleci/node:dubnium-browsers - - image: circleci/postgres:9.6.5 - environment: - POSTGRES_DB: psqluer - POSTGRES_USER: psqluer - POSTGRES_PASSWORD: psqlpassword - working_directory: ~/repo - steps: - - checkout - - restore_cache: - key: dependencies-{{ checksum "package.json" }}-{{ .Environment.CACHE_VERSION }} - - run: - command: yarn test:e2e - environment: - DATABASE_URL: postgres://psqluer:psqlpassword@localhost:5432/psqluer - JWT_SECRET: aaaa - API_PORT: 3000 - API_HOST: localhost - API_PROTOCOL: http - - docker-build-and-push: - working_directory: /dockerapp - docker: - - image: docker:17.05.0-ce-git - steps: - - checkout - - setup_remote_docker - - run: - name: Build application Docker image - command: | - docker build --cache-from=app -t app . - - deploy: - name: Publish application to docker hub - command: | - docker login -e $DOCKER_HUB_EMAIL -u $DOCKER_HUB_USER_ID -p $DOCKER_HUB_PWD - docker tag app $DOCKER_HUB_USER_ID/my-awesome-ci-expr:$CIRCLE_BUILD_NUM - docker tag app $DOCKER_HUB_USER_ID/my-awesome-ci-expr:latest - docker push $DOCKER_HUB_USER_ID/my-awesome-ci-expr:$CIRCLE_BUILD_NUM - docker push $DOCKER_HUB_USER_ID/my-awesome-ci-expr:latest - - back-deploy-heroku: - docker: - - image: buildpack-deps:trusty - steps: - - checkout - - run: - name: Heroku Deploy - command: echo todo && false - - run: - name: Smoke Test - command: echo todo && false - +version: 2.1 +orbs: + node: circleci/node@3.0.0 workflows: - version: 2 - build-test-and-lint: + node-tests: jobs: - - build - - back-test-unit: - requires: - - build - - back-test-e2e: - requires: - - build - - lint: - requires: - - build - - docker-build-and-push: - requires: - - build - - lint - - back-test-e2e - - back-test-unit - filters: - branches: - only: main - - back-deploy-heroku: - requires: - - build - - lint - - back-test-e2e - - back-test-unit - filters: - branches: - only: main - - server-doc-build: - requires: - - build - - lint - - back-test-e2e - - back-test-unit - filters: - branches: - only: main - - server-doc-deploy: - requires: - - server-doc-build - filters: - branches: - only: main + - node/test