diff --git a/.travis.yml b/.travis.yml index 11d23f84c1..bb7845a32d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,32 +1,13 @@ language: node_js node_js: - - '7' -env: - - TEST_DIR=modules/primer-css - - TEST_DIR=modules/primer-core - - TEST_DIR=modules/primer-product - - TEST_DIR=modules/primer-marketing - - TEST_DIR=modules/primer-alerts - - TEST_DIR=modules/primer-base - - TEST_DIR=modules/primer-blankslate - - TEST_DIR=modules/primer-box - - TEST_DIR=modules/primer-breadcrumb - - TEST_DIR=modules/primer-buttons - - TEST_DIR=modules/primer-cards - - TEST_DIR=modules/primer-forms - - TEST_DIR=modules/primer-labels - - TEST_DIR=modules/primer-layout - - TEST_DIR=modules/primer-markdown - - TEST_DIR=modules/primer-marketing - - TEST_DIR=modules/primer-marketing-type - - TEST_DIR=modules/primer-marketing-utilities - - TEST_DIR=modules/primer-navigation - - TEST_DIR=modules/primer-page-headers - - TEST_DIR=modules/primer-page-sections - - TEST_DIR=modules/primer-support - - TEST_DIR=modules/primer-table-object - - TEST_DIR=modules/primer-tables - - TEST_DIR=modules/primer-tooltips - - TEST_DIR=modules/primer-truncate - - TEST_DIR=modules/primer-utilities -script: cd $TEST_DIR && npm install && npm test + - 7 + +before_script: + - npm config set "//registry.npmjs.org/:_authToken=\${NPM_API_KEY}" + - lerna bootstrap + +script: + - npm test + +after_success: + - script/cibuild --yes diff --git a/modules/primer-utilities/lib/padding.scss b/modules/primer-utilities/lib/padding.scss index 5c7d4f4faf..f62d7e40d3 100644 --- a/modules/primer-utilities/lib/padding.scss +++ b/modules/primer-utilities/lib/padding.scss @@ -67,6 +67,7 @@ } // responsive padding for containers +// stylelint-disable-next-line primer/selector-no-utility .p-responsive { padding-right: $spacer-3 !important; padding-left: $spacer-3 !important; diff --git a/package.json b/package.json index 0ac15059d2..9fbd496de9 100644 --- a/package.json +++ b/package.json @@ -3,14 +3,14 @@ "scripts": { "bootstrap": "lerna bootstrap", "clean": "lerna clean", - "updated": "lerna updated", "diff": "lerna diff", - "publish": "lerna publish", - "dev": "lerna publish --npm-tag=dev --skip-git", - "rc": "lerna publish --npm-tag=rc --skip-git", - "force": "lerna publish --force-publish=*" + "updated": "lerna updated", + "release": "lerna publish", + "release-candidate": "lerna publish --npm-tag=rc", + "release-canary": "lerna publish --npm-tag=canary --canary", + "test": "lerna run test" }, "devDependencies": { - "lerna": "^2.0.0-rc.5" + "lerna": "^2.0.0" } } diff --git a/script/cibuild b/script/cibuild new file mode 100755 index 0000000000..7ac7c1b405 --- /dev/null +++ b/script/cibuild @@ -0,0 +1,23 @@ +#!/bin/bash +set -e + +# --yes gets passed in by .travis.yml, +# which makes this easier to test locally +args=${@:1} + +# always publish a canary release if this is a PR build +if [[ $TRAVIS_EVENT_TYPE = pull_request ]]; then + echo "🐦 Publishing canary version..." + npm run release-canary -- ${args} +# merges to dev build a release candidate +elif [[ $TRAVIS_BRANCH = dev ]]; then + echo "👌 Publishing release candidate..." + echo npm run release-candidate -- ${args} +# publish a release when we merge to master +elif [[ $TRAVIS_BRANCH = master ]]; then + echo "📦 Publishing latest release!" + echo npm run release -- ${args} +else + echo "⚠️ This isn't a PR and '${TRAVIS_BRANCH}' isn't a release branch." + exit 1 +fi diff --git a/script/compare-published b/script/compare-published new file mode 100755 index 0000000000..2f637c674e --- /dev/null +++ b/script/compare-published @@ -0,0 +1,23 @@ +#!/bin/bash +set -e + +# reads the tag either from $NPM_TAG or first positional arg: +# script/compare-published [tag] +tag=${1:-${NPM_TAG:-latest}} + +# this is way faster than `lerna exec npm info . .name` +# (but will skip modules that don't have "primer-" in them) +modules=`ls -1 modules | egrep primer-` + +# tabular output separator for column(1) +s=, + +echo "📦 Comparing Primer modules published @${tag}..." +( + echo "module${s}tag${s}published${s}local" + for module in $modules; do + v_published=`npm info ${module}@${tag} .version` + v_local=`jq -Mr .version modules/${module}/package.json` + echo "${module}${s}${tag}${s}${v_published:-x}${s}${v_local}" + done +) | column -t -s=${s}