diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 1f5aec345..bd39ce696 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -5,6 +5,7 @@ env: steps: - label: ":hammer: Build and Test" key: "build" + branches: "!master" agents: queue: v1 command: @@ -24,8 +25,31 @@ steps: - NPM_TOKEN - CHROME-BIN=google-chrome + - label: ":hammer: Build and Test Master" + key: "build_master" + branches: "master" + agents: + queue: v1 + command: + - npm config set "//registry.npmjs.org/:_authToken" $${NPM_TOKEN} + - yarn install --frozen-lockfile + - yarn test-master + plugins: + - ssh://git@github.com/segmentio/cache-buildkite-plugin#v1.0.0: + key: "v1-cache-dev-{{ checksum 'yarn.lock' }}" + paths: [ "node_modules/" ] + s3_bucket_name: "segment-buildkite-cache" + save: true + - docker#v3.3.0: + image: circleci/node:12.18-browsers + user: root + environment: + - NPM_TOKEN + - CHROME-BIN=google-chrome + - label: "SauceLabs" key: "sauce_labs" + branches: "!master" soft_fail: true command: - npm config set "//registry.npmjs.org/:_authToken" $${NPM_TOKEN} @@ -44,8 +68,29 @@ steps: - SAUCE_USERNAME - SAUCE_ACCESS_KEY + - label: "SauceLabs Master" + key: "sauce_labs_master" + branches: "master" + soft_fail: true + command: + - npm config set "//registry.npmjs.org/:_authToken" $${NPM_TOKEN} + - yarn install --ignore-engines + - yarn test-master:ci + plugins: + - ssh://git@github.com/segmentio/cache-buildkite-plugin#v1.0.0: + key: "v1-cache-dev-{{ checksum 'yarn.lock' }}" + paths: [ "node_modules/" ] + s3_bucket_name: "segment-buildkite-cache" + - docker#v3.3.0: + image: 528451384384.dkr.ecr.us-west-2.amazonaws.com/analytics.js-integrations-ci + user: root + environment: + - NPM_TOKEN + - SAUCE_USERNAME + - SAUCE_ACCESS_KEY + - wait: ~ - depends_on: ["build"] + depends_on: ["build_master", "sauce_labs_master"] - label: ":cloud: Upload Assets to stage bucket" branches: master staging @@ -72,14 +117,3 @@ steps: key: "v1-cache-dev-{{ checksum 'yarn.lock' }}" paths: ["node_modules/"] s3_bucket_name: "segment-buildkite-cache" - - - label: ":cloud: Publish" - branches: master - commands: - - npm config set "//registry.npmjs.org/:_authToken" $${NPM_TOKEN} - - yarn lerna publish from-package --yes --no-verify-access - plugins: - - ssh://git@github.com/segmentio/cache-buildkite-plugin#v1.0.0: - key: "v1-cache-dev-{{ checksum 'yarn.lock' }}" - paths: ["node_modules/"] - s3_bucket_name: "segment-buildkite-cache" diff --git a/.gitignore b/.gitignore index b8bf25428..c846e85d7 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ package-lock.json yarn-error.log dist/ build/ +/.idea/ diff --git a/package.json b/package.json index e9644364f..9a0a9db23 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "author": "Segment", "license": "See LICENSE", "private": true, + "packageManager": "yarn@1.22.22", "workspaces": [ "integrations/*" ], @@ -13,7 +14,9 @@ "upload-assets": "node scripts/upload-assets.js", "lint": "lerna exec --since master --no-bail -- npx eslint . --ext .js", "test": "lerna run --concurrency 5 --since master test --stream -- --single-run --reporters summary --log-level error", + "test-master": "lerna run --concurrency 5 test --stream -- --single-run --reporters summary --log-level error", "test:ci": "lerna run --concurrency 1 --stream --since master test:ci -- --log-level error", + "test-master:ci": "lerna run --concurrency 1 --stream test:ci -- --log-level error", "compile": "webpack --config webpack.config.integrations.js && webpack --config webpack.config.middleware.js", "build": "export NODE_OPTIONS=--openssl-legacy-provider && rm -rf build && yarn compile", "dev": "concurrently \"yarn --cwd tester serve\" \"webpack --config webpack.config.tester.js --watch\""