mirror of
https://github.com/matrix-org/dendrite.git
synced 2024-11-29 17:51:56 -06:00
Switch to Buildkite (#712)
This commit is contained in:
parent
bcd6bdb8de
commit
7a2d5b17b9
50
.buildkite/pipeline.yaml
Normal file
50
.buildkite/pipeline.yaml
Normal file
|
@ -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 a new issue