forked from Shiloh/githaven
ad2642a8aa
* Implementation for calculating language statistics Impement saving code language statistics to database Implement rendering langauge stats Add primary laguage to show in repository list Implement repository stats indexer queue Add indexer test Refactor to use queue module * Do not timeout for queues
133 lines
4.2 KiB
YAML
133 lines
4.2 KiB
YAML
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
|