summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorDuco van Amstel <duco.vanamstel@gmail.com>2019-04-04 21:54:51 +0100
committerWim <wim@42.be>2019-04-04 22:54:51 +0200
commit7f0e4ad4487cf03288af7519434f5d54844f47e1 (patch)
tree3498fb2c1436ee15a3388d1325debe726cd6d7fd /.travis.yml
parent17cc14a9d2351fcd0608c2a81eb32fd9fc3ec987 (diff)
downloadmatterbridge-msglm-7f0e4ad4487cf03288af7519434f5d54844f47e1.tar.gz
matterbridge-msglm-7f0e4ad4487cf03288af7519434f5d54844f47e1.tar.bz2
matterbridge-msglm-7f0e4ad4487cf03288af7519434f5d54844f47e1.zip
Add CI fixes and improvements (#780)
* Update GolangCI-lint and lint config The `algo` parameter for the `unparam` linter has been removed and we should thus no longer specify it. Also, bumping the GolangCI-lint version to the latest available minor release. See: mvdan/unparam@e6a6d1c51b6f03ac1a9d120f1ea07bc3a3f0e0b9 * Fix and improve bintray CI script * Further CI setup improvements * Split-out CI steps into stand-alone scripts
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml88
1 files changed, 34 insertions, 54 deletions
diff --git a/.travis.yml b/.travis.yml
index bf85b4ee..f30c8b9c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,75 +1,55 @@
language: go
-go:
- - 1.12.x
go_import_path: github.com/42wim/matterbridge
-# we have everything vendored
+# We have everything vendored so this helps TravisCI not run `go get ...`.
install: true
git:
depth: 200
-env:
- global:
- - GOOS=linux GOARCH=amd64
- - GO111MODULE=on
- - GOLANGCI_VERSION="v1.14.0"
-
-matrix:
- # It's ok if our code fails on unstable development versions of Go.
- allow_failures:
- - go: tip
- # Don't wait for tip tests to finish. Mark the test run green if the
- # tests pass on the stable versions of Go.
- fast_finish: true
-
notifications:
- email: false
-
-before_script:
- # Get version info from tags.
- - MY_VERSION="$(git describe --tags)"
- # Retrieve the golangci-lint linter binary.
- - curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s -- -b ${GOPATH}/bin ${GOLANGCI_VERSION}
- # Retrieve and prepare CodeClimate's test coverage reporter.
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
- - chmod +x ./cc-test-reporter
- - ./cc-test-reporter before-build
-
-script:
- # Ensure that the module files are being kept correctly and that vendored dependencies are up-to-date.
- - go mod tidy
- - go mod vendor
- - git diff --exit-code --quiet || (echo "Please run 'go mod tidy' to clean up the 'go.mod' and 'go.sum' files."; false)
-
- # Run the linter.
- - golangci-lint run
-
- # Run all the tests with the race detector and generate coverage.
- - go test -v -race -coverprofile c.out ./...
-
- # Run the build script to generate the necessary binaries and images.
- - /bin/bash ci/bintray.sh
-
-after_script:
- # Upload test coverage to CodeClimate.
- - ./cc-test-reporter after-build --exit-code ${TRAVIS_TEST_RESULT}
+ email: false
branches:
only:
- - master
+ - master
+
+jobs:
+ include:
+ - stage: lint
+ # Run linting in one Go environment only.
+ script: ./ci/lint.sh
+ go: 1.12.x
+ env:
+ - GO111MODULE=on
+ - GOLANGCI_VERSION="v1.15.0"
+ - stage: test
+ # Run tests in a combination of Go environments.
+ script: ./ci/test.sh
+ go: 1.11.x
+ env:
+ - GO111MODULE=off
+ - script: ./ci/test.sh
+ go: 1.11.x
+ env:
+ - GO111MODULE=on
+ - script: ./ci/test.sh
+ go: 1.12.x
+ env:
+ - GO111MODULE=on
+ - REPORT_COVERAGE=1
deploy:
on:
- all_branches: true
- provider: bintray
- on:
all_branches: true
+ condition: env(TRAVIS_GO_VERSION) = 1.12.x AND env(GO111MODULE) = on
+ before_deploy:
+ # Run the build script to generate the necessary binaries and images.
+ - /bin/bash ci/bintray.sh
+ provider: bintray
edge:
branch: v1.8.47
file: ci/deploy.json
user: 42wim
- on:
- all_branches: true
key:
- secure: "CeXXe6JOmt7HYR81MdWLua0ltQHhDdkIeRGBFbgd7hkb1wi8eF9DgpAcQrTso8NIlHNZmSAP46uhFgsRvkuezzX0ygalZ7DCJyAyn3sAMEh+UQSHV1WGThRehTtidqRGjetzsIGSwdrJOWil+XTfbO1Z8DGzfakhSuAZka8CM4BAoe3YeP9rYK8h+84x0GHfczvsLtXZ3mWLvQuwe4pK6+ItBCUg0ae7O7ZUpWHy0xQQkkWztY/6RAzXfaG7DuGjIw+20fhx3WOXRNpHCtZ6Bc3qERCpk0s1HhlQWlrN9wDaFTBWYwlvSnNgvxxMbNXJ6RrRJ0l0bA7FUswYwyroxhzrGLdzWDg8dHaQkypocngdalfhpsnoO9j3ApJhomUFJ3UoEq5nOGRUrKn8MPi+dP0zE4kNQ3e4VNa1ufNrvfpWolMg3xh8OXuhQdD5wIM5zFAbRJLqWSCVAjPq4DDPecmvXBOlIial7oa312lN5qnBnUjvAcxszZ+FUyDHT1Grxzna4tMwxY9obPzZUzm7359AOCCwIQFVB8GLqD2nwIstcXS0zGRz+fhviPipHuBa02q5bGUZwmkvrSNab0s8Jo7pCrel2Rz3nWPKaiCfq2WjbW1CLheSMkOQrjsdUd1hhbqNWFPUjJPInTc77NAKCfm5runv5uyowRLh4NNd0sI="
+ secure: "CeXXe6JOmt7HYR81MdWLua0ltQHhDdkIeRGBFbgd7hkb1wi8eF9DgpAcQrTso8NIlHNZmSAP46uhFgsRvkuezzX0ygalZ7DCJyAyn3sAMEh+UQSHV1WGThRehTtidqRGjetzsIGSwdrJOWil+XTfbO1Z8DGzfakhSuAZka8CM4BAoe3YeP9rYK8h+84x0GHfczvsLtXZ3mWLvQuwe4pK6+ItBCUg0ae7O7ZUpWHy0xQQkkWztY/6RAzXfaG7DuGjIw+20fhx3WOXRNpHCtZ6Bc3qERCpk0s1HhlQWlrN9wDaFTBWYwlvSnNgvxxMbNXJ6RrRJ0l0bA7FUswYwyroxhzrGLdzWDg8dHaQkypocngdalfhpsnoO9j3ApJhomUFJ3UoEq5nOGRUrKn8MPi+dP0zE4kNQ3e4VNa1ufNrvfpWolMg3xh8OXuhQdD5wIM5zFAbRJLqWSCVAjPq4DDPecmvXBOlIial7oa312lN5qnBnUjvAcxszZ+FUyDHT1Grxzna4tMwxY9obPzZUzm7359AOCCwIQFVB8GLqD2nwIstcXS0zGRz+fhviPipHuBa02q5bGUZwmkvrSNab0s8Jo7pCrel2Rz3nWPKaiCfq2WjbW1CLheSMkOQrjsdUd1hhbqNWFPUjJPInTc77NAKCfm5runv5uyowRLh4NNd0sI="