99 lines
3.3 KiB
YAML
99 lines
3.3 KiB
YAML
---
|
|
language: node_js
|
|
node_js:
|
|
- '0.10'
|
|
sudo: false
|
|
cache:
|
|
directories:
|
|
- docs/vendor/bundle
|
|
- node_modules
|
|
before_install:
|
|
- |
|
|
if [ "$TEST_TYPE" != build_website ] && \
|
|
! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.md$)|(^(docs|examples))/'
|
|
then
|
|
echo "Only docs were updated, stopping build process."
|
|
exit
|
|
fi
|
|
script:
|
|
- |
|
|
if [ "$TEST_TYPE" = build_website ]; then
|
|
if [ "$TRAVIS_BRANCH" = "$REACT_WEBSITE_BRANCH" ] && [ "$TRAVIS_PULL_REQUEST" = false ]; then
|
|
set -e
|
|
|
|
GH_PAGES_DIR="$TRAVIS_BUILD_DIR"/../react-gh-pages
|
|
echo "machine github.com login reactjs-bot password $GITHUB_TOKEN" >~/.netrc
|
|
git config --global user.name "Travis CI"
|
|
git config --global user.email "travis@reactjs.org"
|
|
|
|
git clone --branch gh-pages --depth=50 \
|
|
https://reactjs-bot@github.com/facebook/react.git \
|
|
$GH_PAGES_DIR
|
|
pushd docs
|
|
bundle install --jobs=3 --retry=3 --path=vendor/bundle
|
|
bundle exec rake release
|
|
cd $GH_PAGES_DIR
|
|
git status
|
|
if ! git diff-index --quiet HEAD --; then
|
|
git add -A .
|
|
git commit -m "Rebuild website"
|
|
git push origin gh-pages
|
|
fi
|
|
popd
|
|
fi
|
|
else
|
|
grunt $TEST_TYPE
|
|
fi
|
|
after_script:
|
|
- |
|
|
if [ "$TEST_TYPE" = test ] && [ "$SERVER" ]; then
|
|
grunt build
|
|
curl \
|
|
-F "react=@build/react.js" \
|
|
-F "react.min=@build/react.min.js" \
|
|
-F "transformer=@build/JSXTransformer.js" \
|
|
-F "react-with-addons=@build/react-with-addons.js" \
|
|
-F "react-with-addons.min=@build/react-with-addons.min.js" \
|
|
-F "npm-react=@build/react.tgz" \
|
|
-F "npm-react-tools=@build/react-tools.tgz" \
|
|
-F "commit=$TRAVIS_COMMIT" \
|
|
-F "date=`git log --format='%ct' -1`" \
|
|
-F "pull_request=$TRAVIS_PULL_REQUEST" \
|
|
-F "token=$SECRET_TOKEN" \
|
|
-F "branch=$TRAVIS_BRANCH" \
|
|
$SERVER
|
|
fi
|
|
env:
|
|
matrix:
|
|
- TEST_TYPE=test
|
|
- TEST_TYPE=jest
|
|
- TEST_TYPE=lint
|
|
- TEST_TYPE=build_website
|
|
- TEST_TYPE=test:webdriver:saucelabs:modern
|
|
global:
|
|
# SERVER
|
|
- secure: qPvsJ46XzGrdIuPA70b55xQNGF8jcK7N1LN5CCQYYocXLa+fBrl+fTE77QvehOPhqwJXcj6kOxI+sY0KrVwV7gmq2XY2HZGWUSCxTN0SZlNIzqPA80Y7G/yOjA4PUt8LKgP+8tptyhTAY56qf+hgW8BoLiKOdztYF2p+3zXOLuA=
|
|
# SECRET_TOKEN
|
|
- secure: dkpPW+VnoqC/okhRdV90m36NcyBFhcwEKL3bNFExAwi0dXnFao8RoFlvnwiPlA23h2faROkMIetXlti6Aju08BgUFV+f9aL6vLyU7gUent4Nd3413zf2fwDtXIWIETg6uLnOpSykGKgCAT/hY3Q2oPLqOoY0OxfgnbqwxkxljrE=
|
|
# GITHUB_TOKEN
|
|
- secure: EHCyCSKMwKlLHNtcj9nmkRzmiiPE3aDGlPcnEyrDJeRI0SeN/iCXHXfFivR0vFq3vr+9naMBczAR2AEidtps5KbJrKqdZnjPFRbmfVtzWr/LlvVCub3u13Pub6TdKIVBTny1PuZ5X8GvdxMNVig89jGjvzhhWuQRaz3VhJnTra4=
|
|
matrix:
|
|
fast_finish: true
|
|
allow_failures:
|
|
- env: TEST_TYPE=test:coverage
|
|
- env: TEST_TYPE=test:webdriver:saucelabs:modern
|
|
- env: TEST_TYPE=test:webdriver:saucelabs BROWSER_NAME=ie11
|
|
- env: TEST_TYPE=test:webdriver:saucelabs BROWSER_NAME=ie10
|
|
- env: TEST_TYPE=test:webdriver:saucelabs BROWSER_NAME=ie9
|
|
- env: TEST_TYPE=test:webdriver:saucelabs BROWSER_NAME=ie8
|
|
- env: TEST_TYPE=test:webdriver:saucelabs:ios
|
|
- env: TEST_TYPE=test:webdriver:saucelabs BROWSER_NAME=safari
|
|
notifications:
|
|
irc:
|
|
use_notice: true
|
|
skip_join: true
|
|
on_success: change
|
|
on_failure: change
|
|
channels:
|
|
- chat.freenode.net#reactjs
|