From 7b50a6a49e44e93e30d64aaadac70abf1446c072 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vy=C4=8D=C3=ADtal?= Date: Fri, 2 Aug 2019 14:32:34 +0200 Subject: [PATCH] chore(CI): add CircleCI config (#48) * chore(CI): add CircleCI config * chore: fix package-lock package.json and package-lock got out of sync * chore: set version to 0.0.0-no-version Semantic Release handles versions now and it doesn't update them in the repo. Having a version here would be just confusing as it would be out of sync with the real version of the code anyway. --- .circleci/config.yml | 118 +++++++++++++++++++++++++++++++++++++++++++ .releaserc.yml | 6 +++ package-lock.json | 16 +++--- package.json | 2 +- 4 files changed, 133 insertions(+), 9 deletions(-) create mode 100644 .circleci/config.yml create mode 100644 .releaserc.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000000..a92912f90a --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,118 @@ +# Javascript Node CircleCI 2.0 configuration file +# +# Check https://circleci.com/docs/2.0/language-javascript/ for more details +# +version: 2.1 + +executors: + node: + docker: + - image: circleci/node:12.7 + working_directory: ~/repo + +jobs: + prepare: + executor: node + + steps: + - checkout + + # Download and cache dependencies + - restore_cache: + keys: + - v1-dependencies-{{ checksum "package.json" }} + # fallback to using the latest cache if no exact match is found + - v1-dependencies- + + - run: npm ci + + - save_cache: + paths: + - node_modules + key: v1-dependencies-{{ checksum "package.json" }} + + - persist_to_workspace: + root: . + paths: + - '*' + + build: + executor: node + + steps: + - attach_workspace: + at: . + + - run: npm run build + + - persist_to_workspace: + root: . + paths: + - 'dist' + + lint: + executor: node + + steps: + - attach_workspace: + at: . + + - run: npm run lint + + test: + executor: node + + steps: + - attach_workspace: + at: . + + - run: npm run test-cov + + release: + executor: node + + steps: + - attach_workspace: + at: . + + - run: + name: Prepare NPM + command: | + npm set //registry.npmjs.org/:_authToken=$NPM_TOKEN + + - run: + name: Prepare Git + command: | + git config user.email "tom.vycital@gmail.com" + git config user.name "Tomáš Vyčítal" + + - run: + name: Release + command: | + npx semantic-release + +workflows: + version: 2 + + build: + jobs: + - prepare + + - build: + requires: + - prepare + + # - lint: + # requires: + # - prepare + + - test: + requires: + - prepare + + - release: + requires: + - prepare + - build + # - lint + - test diff --git a/.releaserc.yml b/.releaserc.yml new file mode 100644 index 0000000000..194091923b --- /dev/null +++ b/.releaserc.yml @@ -0,0 +1,6 @@ +branch: master +plugins: + - '@semantic-release/commit-analyzer' + - '@semantic-release/release-notes-generator' + - '@semantic-release/npm' + - '@semantic-release/github' diff --git a/package-lock.json b/package-lock.json index 2cd28db158..6861d699ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "vis-network", - "version": "5.1.1", + "version": "0.0.0-no-version", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -6440,18 +6440,18 @@ } }, "vis-util": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vis-util/-/vis-util-1.1.1.tgz", - "integrity": "sha512-2uAJ+XbeQs4mXoeM59KkOJCGc4loM737yYdohm1EMOOPkMJLWP9G/aBUmi4Y2F9alE1Og1D938xeWm91x7RLcw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/vis-util/-/vis-util-1.1.4.tgz", + "integrity": "sha512-SvkG1E0KbQZ4tCPA6X8JUDcQerYvs0x+7bCRFBt5OPk8oV8+LPso1yc43A84W46DezibxUbZixM2cHebyRNr0A==", "requires": { "moment": "^2.24.0", - "vis-uuid": "^1.0.2" + "vis-uuid": "^1.1.3" } }, "vis-uuid": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vis-uuid/-/vis-uuid-1.1.1.tgz", - "integrity": "sha512-5V9YhMq7MRd4sa3knm+UrMq5N44kYyaOTdgbbql8an+ZgHsNWZ6OhftaC9Bm4kmc1RtAPrjH5tgIs1LjEmd4vQ==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vis-uuid/-/vis-uuid-1.1.3.tgz", + "integrity": "sha512-2B6XdY1bkzbUh+TugmnAaFa61KO9R5pzBzIuFIm8a9FrkbxIdSmQXV+FbfkL8QunkQV/bT0JDLQ2puqCS2+0Og==" }, "w3c-hr-time": { "version": "1.0.1", diff --git a/package.json b/package.json index bd0f0af05d..fc6ee2fa7f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vis-network", - "version": "5.1.1", + "version": "0.0.0-no-version", "description": "A dynamic, browser-based visualization library.", "homepage": "http://visjs.org/", "license": "(Apache-2.0 OR MIT)",