Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
4.2 KiB
132 lines
4.2 KiB
dist: trusty |
|
language: go |
|
go: |
|
- '1.12.x' |
|
- '1.11.x' |
|
env: |
|
global: |
|
- GO_VERSION_FOR_JVM='1.11.x' |
|
- CGO_ENABLED=0 |
|
- GO111MODULE=on |
|
- ONIGURUMA_VERSION='6.9.1' |
|
matrix: |
|
- ONIGURUMA=0 |
|
- ONIGURUMA=1 |
|
matrix: |
|
fast_finish: true |
|
|
|
stages: |
|
- name: test |
|
- name: release |
|
if: tag IS present |
|
- name: publish |
|
if: tag IS present |
|
|
|
stage: test |
|
install: |
|
- > |
|
if [[ "${ONIGURUMA}" -gt 0 ]]; then |
|
export CGO_ENABLED=1 |
|
export GO_TAGS='oniguruma' |
|
# install oniguruma manually as trusty has only ancient 5.x |
|
sudo apt-get install -y dpkg # dpkg >= 1.17.5ubuntu5.8 fixes https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/1730627 |
|
wget "http://archive.ubuntu.com/ubuntu/pool/universe/libo/libonig/libonig5_${ONIGURUMA_VERSION}-1_amd64.deb" |
|
sudo dpkg -i "libonig5_${ONIGURUMA_VERSION}-1_amd64.deb" |
|
wget "http://archive.ubuntu.com/ubuntu/pool/universe/libo/libonig/libonig-dev_${ONIGURUMA_VERSION}-1_amd64.deb" |
|
sudo dpkg -i "libonig-dev_${ONIGURUMA_VERSION}-1_amd64.deb" |
|
fi; |
|
script: |
|
- make test-coverage |
|
after_success: |
|
- bash <(curl -s https://codecov.io/bash) |
|
|
|
jobs: |
|
include: |
|
- name: 'java unit-tests' |
|
stage: test |
|
language: scala |
|
jdk: oraclejdk8 |
|
install: |
|
- export CGO_ENABLED=1 |
|
- eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=$GO_VERSION_FOR_JVM bash)" |
|
- go version |
|
before_script: |
|
- cd java |
|
- make |
|
script: |
|
- make test |
|
|
|
- name: 'linux packages' |
|
stage: release |
|
install: |
|
- go version |
|
script: make packages |
|
deploy: |
|
provider: releases |
|
api_key: |
|
secure: $GITHUB_TOKEN |
|
file_glob: true |
|
file: build/*.tar.gz |
|
skip_cleanup: true |
|
on: |
|
tags: true |
|
|
|
- name: 'linux shared lib' |
|
stage: release |
|
install: |
|
- go version |
|
script: make linux-shared |
|
deploy: |
|
provider: releases |
|
api_key: |
|
secure: $GITHUB_TOKEN |
|
file: |
|
- ./.shared/linux-x86-64/libenry.so |
|
skip_cleanup: true |
|
on: |
|
tags: true |
|
|
|
- name: 'macOS shared lib' |
|
stage: release |
|
env: |
|
- OSXCROSS_PACKAGE="osxcross_3034f7149716d815bc473d0a7b35d17e4cf175aa.tar.gz" |
|
- OSXCROSS_URL="https://github.com/bblfsh/client-scala/releases/download/v1.5.2/${OSXCROSS_PACKAGE}" |
|
- PATH="/$HOME/osxcross/bin:$PATH" |
|
install: |
|
- go version |
|
- sudo apt-get update |
|
- sudo apt-get install -y --no-install-recommends clang g++ gcc gcc-multilib libc6-dev libc6-dev-i386 mingw-w64 patch xz-utils |
|
- cd ${HOME} |
|
- curl -sfSL ${OSXCROSS_URL} | tar -C ${HOME} -xzf - |
|
- cd $GOPATH/src/github.com/src-d/enry |
|
script: make darwin-shared |
|
deploy: |
|
provider: releases |
|
api_key: |
|
secure: $GITHUB_TOKEN |
|
file: ./.shared/darwin/libenry.dylib |
|
skip_cleanup: true |
|
on: |
|
tags: true |
|
|
|
- name: 'java: publish to maven' |
|
stage: publish |
|
language: scala |
|
jdk: oraclejdk8 |
|
install: |
|
- export CGO_ENABLED=1 |
|
- eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=$GO_VERSION_FOR_JVM bash)" |
|
- go version |
|
before_script: |
|
- cd java |
|
- make |
|
- curl -o ./shared/linux-x86-64/libenry.so -sfL "https://github.com/$TRAVIS_REPO_SLUG/releases/download/$TRAVIS_TAG/libenry.so" || travis_terminate 1 |
|
- mkdir -p ./shared/darwin |
|
- curl -o ./shared/darwin/libenry.dylib -sfL "https://github.com/$TRAVIS_REPO_SLUG/releases/download/$TRAVIS_TAG/libenry.dylib" || travis_terminate 1 |
|
- openssl aes-256-cbc -K $encrypted_a0e1c69dbbc7_key -iv $encrypted_a0e1c69dbbc7_iv -in key.asc.enc -out key.asc -d |
|
- 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 |
|
script: |
|
- make test # ensure the shared objects are functional |
|
- ./sbt publishLocal |
|
- ./sbt publishSigned |
|
- ./sbt sonatypeRelease
|
|
|