|
1 | 1 | language: minimal
|
2 | 2 | env: GO111MODULE=on
|
3 | 3 | git:
|
4 |
| - depth: 1 |
| 4 | + depth: false |
5 | 5 | install:
|
6 | 6 | - eval "$(gimme)"
|
7 | 7 | stages:
|
8 |
| - - name: 'Lint markdown files' |
| 8 | + - 'Lint markdown files' |
9 | 9 | - 'Lint'
|
10 | 10 | - 'Unit test'
|
11 | 11 | - 'Benchmark test'
|
12 | 12 | - 'Integration tests'
|
13 | 13 | - 'Source clear'
|
| 14 | + - 'Readme-sync' |
14 | 15 | jobs:
|
15 | 16 | include:
|
16 | 17 | - stage: 'Lint markdown files'
|
|
19 | 20 | install: gem install awesome_bot
|
20 | 21 | script:
|
21 | 22 | - find . -type f -name '*.md' -exec awesome_bot {} \;
|
22 |
| - notifications: |
23 |
| - email: false |
24 | 23 |
|
25 | 24 | # - stage: 'Lint markdown files'
|
26 | 25 | # os: linux
|
|
96 | 95 | addons:
|
97 | 96 | srcclr: true
|
98 | 97 | script: go get -v -d ./...
|
| 98 | + |
| 99 | + - stage: 'Readme-sync' |
| 100 | + name: 'run script if changes are detected in docs/' |
| 101 | + cache: false |
| 102 | + |
| 103 | + # translation: if we're merging into master branch... |
| 104 | + if: type = push AND branch = master |
| 105 | + |
| 106 | + language: node_js |
| 107 | + install: |
| 108 | + - mkdir $HOME/readme-sync2 && pushd $HOME/readme-sync2 && git init && git pull https://[email protected]/optimizely/readme-sync2.git && popd |
| 109 | + - source ~/.nvm/nvm.sh && cd $HOME/readme-sync2 && nvm install && npm install |
| 110 | + # this preps the input directory for readme-sync script |
| 111 | + - mkdir -p $HOME/readme-sync2/docs/readme-sync/sdk-reference-guides |
| 112 | + # ${TRAVIS_REPO_SLUG#optimizely/} translates to go-sdk docs/readme-sync/sdk-reference-guides/go-sdk |
| 113 | + - ln -s $TRAVIS_BUILD_DIR/docs/readme-sync/sdk-reference-guides/${TRAVIS_REPO_SLUG#optimizely/} $HOME/readme-sync2/docs/readme-sync/sdk-reference-guides/${TRAVIS_REPO_SLUG#optimizely/} |
| 114 | + |
| 115 | + # now we need to get all the other *-sdk repos too |
| 116 | + # |
| 117 | + # first we list all possible sdks and inside the for loop, remove the one we are updating |
| 118 | + - export ALL_SDK_REPOS="android-sdk csharp-sdk go-sdk java-sdk javascript-sdk objective-c-sdk python-sdk react-sdk ruby-sdk swift-sdk" |
| 119 | + - mkdir $HOME/sdks && pushd $HOME/sdks && for i in ${ALL_SDK_REPOS//${TRAVIS_REPO_SLUG#optimizely/}}; do git clone https://github.com/optimizely/$i; ( [ -d "$HOME/sdks/$i/docs/readme-sync/sdk-reference-guides/$i" ] && ln -s $HOME/sdks/$i/docs/readme-sync/sdk-reference-guides/$i $HOME/readme-sync2/docs/readme-sync/sdk-reference-guides/$i ) || true; done && popd |
| 120 | + # check our work |
| 121 | + - ls -al $HOME/sdks |
| 122 | + - ls -al $HOME/readme-sync2/docs/readme-sync/sdk-reference-guides |
| 123 | + script: |
| 124 | + # we need to be in $TRAVIS_BUILD_DIR in order to run the following git diff properly |
| 125 | + - cd $TRAVIS_BUILD_DIR |
| 126 | + - git diff --quiet $TRAVIS_COMMIT_RANGE -- docs/readme-sync || ( cd $HOME/readme-sync2 && npx ts-node sync/index.ts --apiKey $README_SYNC_API_KEY --version 4.0 --docs docs/readme-sync/ ) |
0 commit comments