Switch to Buildkite (#712)
parent
bcd6bdb8de
commit
7a2d5b17b9
|
@ -0,0 +1,50 @@
|
||||||
|
steps:
|
||||||
|
- command:
|
||||||
|
- "go build ./cmd/..."
|
||||||
|
label: ":hammer-and-wrench: Build / :go: 1.11"
|
||||||
|
env:
|
||||||
|
GOGC: "400"
|
||||||
|
DENDRITE_LINT_DISABLE_GC: "1"
|
||||||
|
plugins:
|
||||||
|
- docker#v3.0.1:
|
||||||
|
image: "golang:1.11-alpine"
|
||||||
|
|
||||||
|
- command:
|
||||||
|
- "go test ./..."
|
||||||
|
label: ":female-scientist: Unit tests / :go: 1.11"
|
||||||
|
env:
|
||||||
|
GOGC: "400"
|
||||||
|
DENDRITE_LINT_DISABLE_GC: "1"
|
||||||
|
plugins:
|
||||||
|
- docker#v3.0.1:
|
||||||
|
image: "golang:1.11-alpine"
|
||||||
|
|
||||||
|
- command:
|
||||||
|
- "go build ./cmd/..."
|
||||||
|
label: ":hammer-and-wrench: Build / :go: 1.12"
|
||||||
|
env:
|
||||||
|
GOGC: "400"
|
||||||
|
DENDRITE_LINT_DISABLE_GC: "1"
|
||||||
|
plugins:
|
||||||
|
- docker#v3.0.1:
|
||||||
|
image: "golang:1.12-alpine"
|
||||||
|
|
||||||
|
- command:
|
||||||
|
- "go test ./..."
|
||||||
|
label: ":female-scientist: Unit tests / :go: 1.12"
|
||||||
|
env:
|
||||||
|
GOGC: "400"
|
||||||
|
DENDRITE_LINT_DISABLE_GC: "1"
|
||||||
|
plugins:
|
||||||
|
- docker#v3.0.1:
|
||||||
|
image: "golang:1.12-alpine"
|
||||||
|
|
||||||
|
- command:
|
||||||
|
- "./scripts/find-lint.sh"
|
||||||
|
label: ":lower_left_crayon: Lint / :go: 1.12"
|
||||||
|
env:
|
||||||
|
GOGC: "400"
|
||||||
|
DENDRITE_LINT_DISABLE_GC: "1"
|
||||||
|
plugins:
|
||||||
|
- docker#v3.0.1:
|
||||||
|
image: "golang:1.12-alpine"
|
31
.travis.yml
31
.travis.yml
|
@ -1,31 +0,0 @@
|
||||||
language: go
|
|
||||||
go:
|
|
||||||
- 1.11.x
|
|
||||||
- 1.12.x
|
|
||||||
|
|
||||||
env:
|
|
||||||
- TEST_SUITE="lint"
|
|
||||||
- TEST_SUITE="unit-test"
|
|
||||||
- TEST_SUITE="integ-test"
|
|
||||||
|
|
||||||
sudo: false
|
|
||||||
|
|
||||||
# Use trusty for postgres 9.5 support
|
|
||||||
dist: trusty
|
|
||||||
|
|
||||||
addons:
|
|
||||||
postgresql: "9.5"
|
|
||||||
|
|
||||||
services:
|
|
||||||
- postgresql
|
|
||||||
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
- .downloads
|
|
||||||
|
|
||||||
script:
|
|
||||||
- ./scripts/travis-test.sh
|
|
||||||
|
|
||||||
# we only need the latest git commit
|
|
||||||
git:
|
|
||||||
depth: 1
|
|
|
@ -1,86 +0,0 @@
|
||||||
#! /bin/bash
|
|
||||||
|
|
||||||
# The entry point for travis tests
|
|
||||||
#
|
|
||||||
# TEST_SUITE env var can be set to "lint", "unit-test" or "integ-test", in
|
|
||||||
# which case only the linting, unit tests or integration tests will be run
|
|
||||||
# respectively. If not specified or null all tests are run.
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
# Tune the GC to use more memory to reduce the number of garbage collections
|
|
||||||
export GOGC=400
|
|
||||||
export DENDRITE_LINT_DISABLE_GC=1
|
|
||||||
|
|
||||||
export GO111MODULE=on
|
|
||||||
|
|
||||||
# starts a travis fold section. The first argument is the name of the fold
|
|
||||||
# section (which appears on the RHS) and may contain no spaces. Remaining
|
|
||||||
# arguments are echoed in yellow on the LHS as the header line of the fold
|
|
||||||
# section.
|
|
||||||
travis_sections=()
|
|
||||||
function travis_start {
|
|
||||||
name="$1"
|
|
||||||
shift
|
|
||||||
echo -en "travis_fold:start:$name\r"
|
|
||||||
travis_sections+=($name)
|
|
||||||
|
|
||||||
# yellow/bold
|
|
||||||
echo -en "\e[33;1m"
|
|
||||||
echo "$@"
|
|
||||||
# normal
|
|
||||||
echo -en "\e[0m"
|
|
||||||
}
|
|
||||||
|
|
||||||
# ends a travis fold section
|
|
||||||
function travis_end {
|
|
||||||
name=${travis_sections[-1]}
|
|
||||||
unset 'travis_sections[-1]'
|
|
||||||
echo -en "travis_fold:end:$name\r"
|
|
||||||
}
|
|
||||||
|
|
||||||
function kill_kafka {
|
|
||||||
echo "killing kafka"
|
|
||||||
# sometimes kafka doesn't die on a SIGTERM so we SIGKILL it.
|
|
||||||
killall -9 -v java
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ "${TEST_SUITE:-lint}" == "lint" ]; then
|
|
||||||
./scripts/find-lint.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${TEST_SUITE:-unit-test}" == "unit-test" ]; then
|
|
||||||
go test ./...
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${TEST_SUITE:-integ-test}" == "integ-test" ]; then
|
|
||||||
travis_start go-build "Building dendrite and integ tests"
|
|
||||||
go install ./cmd/...
|
|
||||||
travis_end
|
|
||||||
|
|
||||||
# Check that all the packages can build.
|
|
||||||
# When `go build` is given multiple packages it won't output anything, and just
|
|
||||||
# checks that everything builds.
|
|
||||||
go build ./cmd/...
|
|
||||||
|
|
||||||
# Create necessary certificates and keys to run dendrite
|
|
||||||
travis_start certs "Building SSL certs"
|
|
||||||
openssl req -x509 -newkey rsa:512 -keyout server.key -out server.crt -days 365 -nodes -subj /CN=localhost
|
|
||||||
travis_end
|
|
||||||
|
|
||||||
travis_start kafka "Installing kafka"
|
|
||||||
./scripts/install-local-kafka.sh
|
|
||||||
travis_end
|
|
||||||
|
|
||||||
# make sure we kill off zookeeper/kafka on exit, because it stops the
|
|
||||||
# travis container being cleaned up (cf
|
|
||||||
# https://github.com/travis-ci/travis-ci/issues/8082)
|
|
||||||
trap kill_kafka EXIT
|
|
||||||
|
|
||||||
# Run the integration tests
|
|
||||||
for i in roomserver syncserver mediaapi; do
|
|
||||||
travis_start "$i-integration-tests" "Running integration tests for $i"
|
|
||||||
$i-integration-tests
|
|
||||||
travis_end
|
|
||||||
done
|
|
||||||
fi
|
|
Loading…
Reference in New Issue