-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* build: refactor build process * move build to travis-ci * deploy tags to github releases and npm * deploy NPM canary version on push to master * remove dist folder * add kcc support
- Loading branch information
Showing
7 changed files
with
171 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# MacOS | ||
.DS_Store | ||
# Logs | ||
logs | ||
*.log | ||
npm-debug.log* | ||
# Runtime data | ||
pids | ||
*.pid | ||
*.seed | ||
# Directory for instrumented libs generated by jscoverage/JSCover | ||
lib-cov | ||
# Coverage directory used by tools like istanbul | ||
coverage | ||
# nyc test coverage | ||
.nyc_output | ||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) | ||
.grunt | ||
# node-waf configuration | ||
.lock-wscript | ||
# Compiled binary addons (http://nodejs.org/api/addons.html) | ||
build/Release | ||
# Dependency directories | ||
node_modules | ||
jspm_packages | ||
# Optional npm cache directory | ||
.npm | ||
# Optional REPL history | ||
.node_repl_history | ||
.idea | ||
.git | ||
.gitattributes | ||
.gitignore | ||
.github | ||
flow-typed | ||
.prettierignore | ||
.prettierrc | ||
.travis.yml | ||
docs/ | ||
scripts/ | ||
src/ | ||
test/ | ||
.babelrc | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.json | ||
.flowconfig | ||
.nmprc | ||
webpack.config.js | ||
karma.conf.js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,79 @@ | ||
conditions: v1 | ||
sudo: required | ||
dist: trusty | ||
language: node_js | ||
node_js: | ||
- "node" | ||
|
||
addons: | ||
chrome: stable | ||
|
||
cache: | ||
yarn: true | ||
directories: | ||
- node_modules | ||
|
||
before_install: | ||
- export CHROME_BIN=/usr/bin/google-chrome | ||
- export DISPLAY=:99.0 | ||
- sh -e /etc/init.d/xvfb start | ||
- sudo apt-get update | ||
- sudo apt-get install -y libappindicator1 fonts-liberation | ||
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb | ||
- sudo dpkg -i google-chrome*.deb | ||
- chmod +x ./scripts/travis.sh | ||
|
||
script: ./scripts/travis.sh | ||
|
||
stages: | ||
- Tests | ||
- Release canary | ||
- Release | ||
|
||
script: | ||
- npm run eslint | ||
- npm run flow | ||
- npm run test | ||
jobs: | ||
fast_finish: true | ||
include: | ||
# https://docs.travis-ci.com/user/build-stages/deploy-github-releases/ | ||
- stage: Release | ||
name: "Releasing a new version" | ||
if: tag IS present | ||
env: TRAVIS_MODE=release | ||
deploy: | ||
- provider: releases | ||
api_key: | ||
secure: $GH_TOKEN | ||
file_glob: true | ||
file: dist/* | ||
prerelease: true | ||
skip_cleanup: true | ||
on: | ||
branch: master | ||
tags: true | ||
- provider: npm | ||
api_key: $NPM_TOKEN | ||
email: $NPM_EMAIL | ||
skip_cleanup: true | ||
on: | ||
tags: true | ||
branch: master | ||
# publish canary package if on master | ||
- stage: Release canary | ||
if: (branch = master) AND (type != pull_request) AND commit_message !~ /^chore\(release\)/ | ||
env: TRAVIS_MODE=releaseCanary | ||
deploy: | ||
provider: npm | ||
api_key: $NPM_TOKEN | ||
email: $NPM_EMAIL | ||
skip_cleanup: true | ||
tag: canary | ||
on: | ||
tags: false | ||
branch: master | ||
# Required tests | ||
- stage: Tests | ||
if: (branch = master) OR (tag IS present) OR (type = pull_request) | ||
name: "Running lint" | ||
env: TRAVIS_MODE=lint | ||
- stage: Tests | ||
if: (branch = master) OR (tag IS present) OR (type = pull_request) | ||
name: "Running Flow type check" | ||
env: TRAVIS_MODE=flow | ||
- stage: Tests | ||
if: (branch = master) OR (tag IS present) OR (type = pull_request) | ||
name: "Running unit tests" | ||
env: TRAVIS_MODE=unitTests |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
#!/bin/sh | ||
# https://docs.travis-ci.com/user/customizing-the-build/#Implementing-Complex-Build-Steps | ||
set -ev | ||
yarn install | ||
if [ "${TRAVIS_MODE}" = "lint" ]; then | ||
yarn run eslint | ||
elif [ "${TRAVIS_MODE}" = "flow" ]; then | ||
yarn run flow | ||
elif [ "${TRAVIS_MODE}" = "unitTests" ]; then | ||
yarn run test | ||
elif [ "${TRAVIS_MODE}" = "release" ] || [ "${TRAVIS_MODE}" = "releaseCanary" ]; then | ||
if [ "${TRAVIS_MODE}" = "releaseCanary" ]; then | ||
echo "Run standard-version" | ||
yarn run release --prerelease canary --skip.commit=true --skip.tag=true | ||
sha=$(git rev-parse --verify --short HEAD) | ||
echo "Current sha ${sha}" | ||
currentVersion=$(npx -c 'echo "$npm_package_version"') | ||
echo "Current version ${currentVersion}" | ||
newVersion=$(echo $currentVersion | sed -e "s/canary\.[[:digit:]]/canary.${sha}/g") | ||
echo "New version ${newVersion}" | ||
sed -iE "s/$currentVersion/$newVersion/g" package.json | ||
sed -iE "s/$currentVersion/$newVersion/g" CHANGELOG.md | ||
rm package.jsonE | ||
rm CHANGELOG.mdE | ||
fi | ||
echo "Building..." | ||
yarn run build | ||
echo "Finish building" | ||
else | ||
echo "Unknown travis mode: ${TRAVIS_MODE}" 1>&2 | ||
exit 1 | ||
fi |