mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-15 19:03:09 -06:00
Merge branch 'master' of https://github.com/matrix-org/dendrite
This commit is contained in:
commit
3655c0d454
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"
|
||||||
32
.circleci/config.yml
Normal file
32
.circleci/config.yml
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
version: 2
|
||||||
|
jobs:
|
||||||
|
dendrite:
|
||||||
|
docker:
|
||||||
|
- image: matrixdotorg/sytest-dendrite
|
||||||
|
working_directory: /src
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
|
||||||
|
# Set up dendrite
|
||||||
|
- run:
|
||||||
|
name: Build Dendrite
|
||||||
|
command: ./build.sh
|
||||||
|
- run:
|
||||||
|
name: Copy dummy keys to root
|
||||||
|
command: |
|
||||||
|
mv .circleci/matrix_key.pem .
|
||||||
|
mv .circleci/server.key .
|
||||||
|
- run:
|
||||||
|
name: Run sytest with whitelisted tests
|
||||||
|
command: /dendrite_sytest.sh
|
||||||
|
|
||||||
|
- store_artifacts:
|
||||||
|
path: /logs
|
||||||
|
destination: logs
|
||||||
|
- store_test_results:
|
||||||
|
path: /logs
|
||||||
|
workflows:
|
||||||
|
version: 2
|
||||||
|
build:
|
||||||
|
jobs:
|
||||||
|
- dendrite
|
||||||
5
.circleci/matrix_key.pem
Normal file
5
.circleci/matrix_key.pem
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
-----BEGIN MATRIX PRIVATE KEY-----
|
||||||
|
Key-ID: ed25519:zXtB
|
||||||
|
|
||||||
|
jDyHsx0EXbAfvM32yBEKQfIy1FHrmwtB1uMAbm5INBg=
|
||||||
|
-----END MATRIX PRIVATE KEY-----
|
||||||
52
.circleci/server.key
Normal file
52
.circleci/server.key
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
-----BEGIN PRIVATE KEY-----
|
||||||
|
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
|
||||||
|
+yaBExKfroZjsksctNAcAbgpuvhLLG8=
|
||||||
|
-----END PRIVATE KEY-----
|
||||||
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
|
@ -2,5 +2,5 @@
|
||||||
|
|
||||||
<!-- Please read CONTRIBUTING.md before submitting your pull request -->
|
<!-- Please read CONTRIBUTING.md before submitting your pull request -->
|
||||||
|
|
||||||
* [ ] I have made sure any new dependencies have been checked into the `vendor/` directory
|
* [ ] I have added any new tests that need to pass to `testfile` as specified in [docs/sytest.md](https://github.com/matrix-org/dendrite/blob/master/docs/sytest.md)
|
||||||
* [ ] Pull request includes a [sign off](https://github.com/matrix-org/dendrite/blob/master/CONTRIBUTING.md#sign-off)
|
* [ ] Pull request includes a [sign off](https://github.com/matrix-org/dendrite/blob/master/CONTRIBUTING.md#sign-off)
|
||||||
|
|
|
||||||
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,4 +1,4 @@
|
||||||
# Dendrite [](https://travis-ci.org/matrix-org/dendrite) [](https://matrix.to/#/#dendrite-dev:matrix.org) [](https://matrix.to/#/#dendrite:matrix.org)
|
# Dendrite [](https://travis-ci.org/matrix-org/dendrite) [](https://circleci.com/gh/matrix-org/dendrite) [](https://matrix.to/#/#dendrite-dev:matrix.org) [](https://matrix.to/#/#dendrite:matrix.org)
|
||||||
|
|
||||||
Dendrite will be a matrix homeserver written in go.
|
Dendrite will be a matrix homeserver written in go.
|
||||||
|
|
||||||
|
|
|
||||||
8
docs/sytest.md
Normal file
8
docs/sytest.md
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
# SyTest
|
||||||
|
|
||||||
|
Dendrite uses [SyTest](https://github.com/matrix-org/sytest) for its
|
||||||
|
integration testing. When creating a new PR, add the test IDs that your PR
|
||||||
|
should allow to pass to `testfile` in dendrite's root directory. Not all PRs
|
||||||
|
need to make new tests pass. If we find your PR should be making a test pass we
|
||||||
|
may ask you to add to that file, as generally Dendrite's progress can be
|
||||||
|
tracked through the amount of SyTest tests it passes.
|
||||||
|
|
@ -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