|
1 | 1 | dist: trusty
|
2 |
| -sudo: false |
3 |
| - |
4 | 2 | language: scala
|
5 |
| -services: |
6 |
| - - docker |
7 |
| - |
8 | 3 | jdk:
|
9 | 4 | - openjdk8
|
10 |
| - |
11 | 5 | scala:
|
12 | 6 | - 2.11.11
|
13 | 7 |
|
| 8 | +services: |
| 9 | + - docker |
| 10 | + |
14 | 11 | cache:
|
15 | 12 | directories:
|
16 | 13 | - $HOME/.ivy2
|
17 | 14 | - $HOME/.sbt
|
18 | 15 |
|
| 16 | +stages: |
| 17 | + - name: test |
| 18 | + - name: release |
| 19 | + if: tag IS present |
19 | 20 |
|
20 |
| -before_install: |
21 |
| - - docker run --privileged -d -p 9432:9432 --name bblfsh bblfsh/bblfshd |
22 |
| - - docker exec -it bblfsh bblfshctl driver install --recommended |
23 |
| - - sudo apt-get update |
24 |
| - - sudo apt-get install -y --no-install-recommends clang g++ gcc gcc-multilib libc6-dev libc6-dev-i386 mingw-w64 patch xz-utils |
25 |
| - |
26 |
| -env: |
27 |
| - global: |
28 |
| - - OSXCROSS_PATH="$HOME/osxcross" |
29 |
| - - OSXCROSS_REV=3034f7149716d815bc473d0a7b35d17e4cf175aa |
30 |
| - - SDK_VERSION=10.11 |
31 |
| - - DARWIN_VERSION=15 |
32 |
| - - OSX_VERSION_MIN=10.6 |
33 |
| - - OSXCROSS_SDK_URL="https://s3.dockerproject.org/darwin/v2/MacOSX10.11.sdk.tar.xz" |
34 | 21 |
|
35 |
| -install: |
36 |
| - - mkdir -p /tmp/osxcross |
37 |
| - - cd /tmp/osxcross |
38 |
| - - curl -sSL "https://codeload.github.com/tpoechtrager/osxcross/tar.gz/${OSXCROSS_REV}" | tar -C /tmp/osxcross --strip=1 -xzf - |
39 |
| - - curl -s -S -L -o tarballs/MacOSX${SDK_VERSION}.sdk.tar.xz ${OSXCROSS_SDK_URL} |
40 |
| - - UNATTENDED=yes ./build.sh >/dev/null |
41 |
| - - mv target "${OSXCROSS_PATH}" |
42 |
| - - curl -S -L "https://github.com/karalabe/xgo/blob/647f256c447ee20f9bf13ebc42e612d55994a383/docker/base/patch.tar.xz?raw=true" | xz -dc - | tar -xf - |
43 |
| - - mv v1 "${OSXCROSS_PATH}/SDK/MacOSX${SDK_VERSION}.sdk/usr/include/c++/v1" |
44 |
| - - rm -rf /tmp/osxcross "${OSXCROSS_PATH}/SDK/MacOSX${SDK_VERSION}.sdk/usr/share/man" |
| 22 | +jobs: |
| 23 | + include: |
| 24 | + - name: 'All tests' |
| 25 | + stage: test |
| 26 | + install: &test_setup_anchor |
| 27 | + - docker run --privileged -d -p 9432:9432 --name bblfsh bblfsh/bblfshd |
| 28 | + - docker exec -it bblfsh bblfshctl driver install --recommended |
| 29 | + - sudo apt-get update |
| 30 | + - sudo apt-get install -y --no-install-recommends clang g++ gcc gcc-multilib libc6-dev libc6-dev-i386 mingw-w64 patch xz-utils |
| 31 | + script: |
| 32 | + - ./sbt assembly test |
| 33 | + after_failure: &failure_logs_anchor |
| 34 | + - docker logs bblfsh |
45 | 35 |
|
46 |
| -script: |
47 |
| - - cd $TRAVIS_BUILD_DIR |
48 |
| - - ./sbt assembly test |
49 |
| - - if [[ -z "$TRAVIS_TAG" ]]; then echo "Skipping this build for non-tag builds."; exit 0; fi |
50 |
| - - ./sbt publishLocal |
51 |
| - - openssl aes-256-cbc -K $encrypted_97aef7f4ae04_key -iv $encrypted_97aef7f4ae04_iv -in key.asc.enc -out key.asc -d |
52 |
| - - gpg --no-default-keyring --primary-keyring ./project/.gnupg/pubring.gpg --secret-keyring ./project/.gnupg/secring.gpg --keyring ./project/.gnupg/pubring.gpg --fingerprint --import key.asc |
53 |
| - - ./sbt publishSigned |
54 |
| - - ./sbt sonatypeRelease |
| 36 | + - name: 'V2: passing tests' # TODO(#83): remove, after both tests sets converge |
| 37 | + install: *test_setup_anchor |
| 38 | + script: |
| 39 | + - ./sbt assembly |
| 40 | + - ./sbt "testOnly *Close* *ClientVersion* *SupportedLanguages*" |
| 41 | + - ./sbt "testOnly org.bblfsh.client.v2.BblfshClientParseTest -- -z \"Decoded UAST after parsing\"" |
| 42 | + - ./sbt "testOnly org.bblfsh.client.v2.BblfshClientParseTest -- -z \"Decoded UAST RootNode\"" |
| 43 | + after_failure: *failure_logs_anchor |
55 | 44 |
|
56 |
| -after_failure: |
57 |
| - - docker logs bblfsh |
| 45 | + - name: 'Cross-compile, release & publish to Sonatype' |
| 46 | + stage: release |
| 47 | + before_install: |
| 48 | + - mkdir -p /tmp/osxcross |
| 49 | + - cd /tmp/osxcross |
| 50 | + - curl -sSL "https://codeload.github.com/tpoechtrager/osxcross/tar.gz/${OSXCROSS_REV}" | tar -C /tmp/osxcross --strip=1 -xzf - |
| 51 | + - curl -s -S -L -o tarballs/MacOSX${SDK_VERSION}.sdk.tar.xz ${OSXCROSS_SDK_URL} |
| 52 | + - UNATTENDED=yes ./build.sh >/dev/null |
| 53 | + - mv target "${OSXCROSS_PATH}" |
| 54 | + - curl -S -L "https://github.com/karalabe/xgo/blob/647f256c447ee20f9bf13ebc42e612d55994a383/docker/base/patch.tar.xz?raw=true" | xz -dc - | tar -xf - |
| 55 | + - mv v1 "${OSXCROSS_PATH}/SDK/MacOSX${SDK_VERSION}.sdk/usr/include/c++/v1" |
| 56 | + - rm -rf /tmp/osxcross "${OSXCROSS_PATH}/SDK/MacOSX${SDK_VERSION}.sdk/usr/share/man" |
| 57 | + script: |
| 58 | + - cd $TRAVIS_BUILD_DIR |
| 59 | + - ./sbt assembly |
| 60 | + - ./sbt publishLocal |
| 61 | + - openssl aes-256-cbc -K $encrypted_97aef7f4ae04_key -iv $encrypted_97aef7f4ae04_iv -in key.asc.enc -out key.asc -d |
| 62 | + - gpg --no-default-keyring --primary-keyring ./project/.gnupg/pubring.gpg --secret-keyring ./project/.gnupg/secring.gpg --keyring ./project/.gnupg/pubring.gpg --fingerprint --import key.asc |
| 63 | + - ./sbt publishSigned |
| 64 | + - ./sbt sonatypeRelease |
0 commit comments