From c960fa76db81b3faa3fc750eb99a38d41217072d Mon Sep 17 00:00:00 2001 From: "Juan Picado @jotadeveloper" Date: Sat, 4 May 2019 15:58:50 +0200 Subject: [PATCH] chore: restore circleci --- .circleci/config.yml | 168 ++++++++++++++++++++++++++++++++++++++++++ scripts/gh_publish.sh | 13 ++++ scripts/publish.sh | 5 +- 3 files changed, 182 insertions(+), 4 deletions(-) create mode 100644 .circleci/config.yml create mode 100755 scripts/gh_publish.sh diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000..f7172f9 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,168 @@ +version: 2 + +aliases: + - &defaults + working_directory: ~/ui-theme + - &node11_executor + docker: + - image: circleci/node:11.10.1 + - &node8_executor + docker: + - image: circleci/node:8 + - &node10_executor + docker: + - image: circleci/node:10 + - &default_executor + <<: *node10_executor + - &repo_key + repo-{{ .Branch }}-{{ .Revision }} + - &coverage_key + coverage-{{ .Branch }}-{{ .Revision }} + - &base_config_key + base-config-{{ .Branch }}-{{ .Revision }} + - &yarn_cache_key + yarn-sha-{{ checksum "yarn.lock" }} + - &restore_repo + restore_cache: + keys: + - *repo_key + - &ignore_non_dev_branches + filters: + tags: + only: /.*/ + branches: + ignore: + - /release\/.*/ + - &execute_on_release + filters: + tags: + only: /(v)?[0-9]+(\.[0-9]+)*/ + branches: + ignore: + - /.*/ + +jobs: + prepare: + <<: *defaults + <<: *default_executor + steps: + - *restore_repo + - checkout + - restore_cache: + key: *base_config_key + - run: + name: 'Base environment setup' + command: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc + - save_cache: + key: *base_config_key + paths: + - ~/.npmrc + - ~/.gitconfig + - restore_cache: + key: *yarn_cache_key + - run: + name: Install Js dependencies + command: yarn install --no-progress --registry https://registry.verdaccio.org --no-lockfile + - run: + name: Build project + command: yarn run build + - save_cache: + key: *yarn_cache_key + paths: + - ~/.yarn + - ~/.cache/yarn + - node_modules + - save_cache: + key: *repo_key + paths: + - ~/local-storage + + test_node11: + <<: *defaults + <<: *node11_executor + steps: + - *restore_repo + - run: + name: Test with Node 11 + command: yarn run test + + test_node8: + <<: *defaults + <<: *node8_executor + steps: + - *restore_repo + - run: + name: Test with Node 8 + command: yarn test + + test_node10: + <<: *defaults + <<: *node10_executor + steps: + - *restore_repo + - run: + name: Test with Node 10 + command: yarn run test + - save_cache: + key: *coverage_key + paths: + - coverage + + coverage: + <<: *defaults + <<: *default_executor + steps: + - *restore_repo + - restore_cache: + key: *coverage_key + - run: + name: Publish coverage + command: yarn run coverage:publish + - store_artifacts: + path: coverage/clover.xml + prefix: tests + - store_artifacts: + path: coverage + prefix: coverage + - store_test_results: + path: coverage/clover.xml + + publish_package: + <<: *defaults + <<: *default_executor + steps: + - *restore_repo + - restore_cache: + key: *base_config_key + - run: + name: Publish + command: yarn publish + +workflows: + version: 2 + workflow: + jobs: + - prepare: + <<: *ignore_non_dev_branches + - test_node11: + requires: + - prepare + <<: *ignore_non_dev_branches + - test_node8: + requires: + - prepare + <<: *ignore_non_dev_branches + - test_node10: + requires: + - prepare + <<: *ignore_non_dev_branches + - coverage: + requires: + - test_node11 + - test_node8 + - test_node10 + <<: *ignore_non_dev_branches + - publish_package: + requires: + - coverage + <<: *execute_on_release diff --git a/scripts/gh_publish.sh b/scripts/gh_publish.sh new file mode 100755 index 0000000..bddb4bd --- /dev/null +++ b/scripts/gh_publish.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Get the last tag from GitHub +lastTag=$(git describe --tags $(git rev-list --tags --max-count=1)) + +# Print it to the console for verification +echo "Bumping version to new tag: ${lastTag}" + +# creating .npmrc +echo "//$REGISTRY_URL/:_authToken=$REGISTRY_AUTH_TOKEN" > .npmrc + +# Publish to NPM +npm publish --registry https://$REGISTRY_URL/ diff --git a/scripts/publish.sh b/scripts/publish.sh index bddb4bd..1380a21 100755 --- a/scripts/publish.sh +++ b/scripts/publish.sh @@ -6,8 +6,5 @@ lastTag=$(git describe --tags $(git rev-list --tags --max-count=1)) # Print it to the console for verification echo "Bumping version to new tag: ${lastTag}" -# creating .npmrc -echo "//$REGISTRY_URL/:_authToken=$REGISTRY_AUTH_TOKEN" > .npmrc - # Publish to NPM -npm publish --registry https://$REGISTRY_URL/ +npm publish