diff --git a/.circleci/config.yml b/.circleci/config.yml index 6746f8e7bf..4100c3b117 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,36 +1,88 @@ version: 2 +unit_tests: &unit_tests + steps: + - checkout + - run: + name: Create Checksum + command: sh .circleci/checksum.sh /tmp/checksums.txt + - restore_cache: + keys: + - npm-cache-{{ checksum "/tmp/checksums.txt" }} + - run: + name: Install Dependencies + command: yarn install + - save_cache: + key: npm-cache-{{ checksum "/tmp/checksums.txt" }} + paths: + - ./node_modules + - ./yarn.lock + - ./packages/*/node_modules + - ./packages/*/yarn.lock + - run: + name: Compile code + command: yarn compile + - run: + name: Unit tests + command: yarn test:node + - run: + name: report coverage + command: yarn codecov + +browsers_unit_tests: &browsers_unit_tests + steps: + - checkout + - run: + name: Install Dependencies + command: yarn install + - run: + name: Compile code + command: yarn compile + - run: + name: Unit tests + command: yarn test:browser + jobs: - build: + lint: docker: - - image: circleci/node:12-browsers + - image: node steps: - checkout - run: - name: Create Checksum - command: sh .circleci/checksum.sh /tmp/checksums.txt - - restore_cache: - keys: - - npm-cache-{{ checksum "/tmp/checksums.txt" }} - - run: - name: Install Dependencies + name: Install modules and dependencies. command: yarn install - - save_cache: - key: npm-cache-{{ checksum "/tmp/checksums.txt" }} - paths: - - ./node_modules - - ./yarn.lock - - ./packages/*/node_modules - - ./packages/*/yarn.lock - run: - name: Lint + name: Check code style and linting command: yarn run check - - run: - name: Compile - command: yarn compile - - run: - name: Test - command: yarn test - - run: - name: report-coverage - command: yarn codecov + node8: + docker: + - image: node:8 + <<: *unit_tests + node10: + docker: + - image: node:10 + <<: *unit_tests + node11: + docker: + - image: node:11 + <<: *unit_tests + node12: + docker: + - image: node:12 + <<: *unit_tests + node12-browsers: + docker: + - image: circleci/node:12-browsers + <<: *browsers_unit_tests + + +workflows: + version: 2 + build: + jobs: + - lint + - node8 + - node10 + - node11 + - node12 + - node12-browsers diff --git a/package.json b/package.json index c24c127fdb..14abd7140a 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,8 @@ "fix": "lerna run fix", "postinstall": "yarn run bootstrap", "compile": "lerna run compile", - "test": "lerna run test", + "test:node": "lerna run test:node", + "test:browser": "lerna run test:browser", "bootstrap": "lerna bootstrap", "bump": "lerna publish", "codecov": "lerna run codecov", diff --git a/packages/opentelemetry-basic-tracer/package.json b/packages/opentelemetry-basic-tracer/package.json index 5a53a61866..b0c0e0dfad 100644 --- a/packages/opentelemetry-basic-tracer/package.json +++ b/packages/opentelemetry-basic-tracer/package.json @@ -6,14 +6,13 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { - "test": "c8 ts-mocha -p tsconfig.json test/**/*.ts", + "test:node": "c8 ts-mocha -p tsconfig.json test/**/*.ts", "tdd": "yarn test -- --watch-extensions ts --watch", "codecov": "c8 report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", "check": "gts check", "compile": "tsc -p .", - "fix": "gts fix", - "posttest": "yarn run check" + "fix": "gts fix" }, "keywords": [ "opentelemetry", diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index 7a5f44498b..24e0732e73 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -19,8 +19,7 @@ "clean": "rimraf build/*", "check": "gts check", "compile": "tsc -p .", - "fix": "gts fix", - "posttest": "yarn run check" + "fix": "gts fix" }, "keywords": [ "opentelemetry", diff --git a/packages/opentelemetry-node-tracer/package.json b/packages/opentelemetry-node-tracer/package.json index 885c819a2c..59ed542694 100644 --- a/packages/opentelemetry-node-tracer/package.json +++ b/packages/opentelemetry-node-tracer/package.json @@ -6,14 +6,13 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { - "test": "c8 ts-mocha -p tsconfig.json test/**/*.ts", + "test:node": "c8 ts-mocha -p tsconfig.json test/**/*.ts", "tdd": "yarn test -- --watch-extensions ts --watch", "codecov": "c8 report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", "check": "gts check", "compile": "tsc -p .", - "fix": "gts fix", - "posttest": "yarn run check" + "fix": "gts fix" }, "keywords": [ "opentelemetry", diff --git a/packages/opentelemetry-scope-async-hooks/package.json b/packages/opentelemetry-scope-async-hooks/package.json index d783127d84..7fa20b01b8 100644 --- a/packages/opentelemetry-scope-async-hooks/package.json +++ b/packages/opentelemetry-scope-async-hooks/package.json @@ -6,14 +6,13 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { - "test": "c8 ts-mocha -p tsconfig.json test/**/*.ts", + "test:node": "c8 ts-mocha -p tsconfig.json test/**/*.ts", "tdd": "yarn test -- --watch-extensions ts --watch", "codecov": "c8 report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", "check": "gts check", "compile": "tsc -p .", - "fix": "gts fix", - "posttest": "yarn run check" + "fix": "gts fix" }, "keywords": [ "opentelemetry", diff --git a/packages/opentelemetry-scope-base/package.json b/packages/opentelemetry-scope-base/package.json index 75b7020299..e8bc0d9e2f 100644 --- a/packages/opentelemetry-scope-base/package.json +++ b/packages/opentelemetry-scope-base/package.json @@ -6,14 +6,13 @@ "types": "build/src/index.d.ts", "repository": "open-telemetry/opentelemetry-js", "scripts": { - "test": "c8 ts-mocha -p tsconfig.json test/**/*.ts", + "test:node": "c8 ts-mocha -p tsconfig.json test/**/*.ts", "tdd": "yarn test -- --watch-extensions ts --watch", "codecov": "c8 report --reporter=json && codecov -f coverage/*.json -p ../../", "clean": "rimraf build/*", "check": "gts check", "compile": "tsc -p .", - "fix": "gts fix", - "posttest": "yarn run check" + "fix": "gts fix" }, "keywords": [ "opentelemetry",