summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-x.buildkite/merge_base_branch.sh34
-rw-r--r--.buildkite/pipeline.yml103
-rw-r--r--.circleci/config.yml24
-rwxr-xr-x.circleci/merge_base_branch.sh35
-rw-r--r--changelog.d/9.misc1
5 files changed, 138 insertions, 59 deletions
diff --git a/.buildkite/merge_base_branch.sh b/.buildkite/merge_base_branch.sh
new file mode 100755

index 0000000000..2dc18c9cf6 --- /dev/null +++ b/.buildkite/merge_base_branch.sh
@@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +set -ex + +if [[ "$BUILDKITE_BRANCH" == "dinsic" ]]; then + echo "Not merging forward, as this is a release branch" + exit 0 +fi + +if [[ -z $BUILDKITE_PULL_REQUEST_BASE_BRANCH ]]; then + echo "Can't figure out what the PR number is! Assuming merge target is dinsic." + + # It probably hasn't had a PR opened yet. Since all PRs for dinsic land on + # dinsic, we can probably assume it's based on it and will be merged into + # it. + GITBASE="dinsic" +else + # Get the reference, using the GitHub API + GITBASE=$BUILDKITE_PULL_REQUEST_BASE_BRANCH +fi + +# Show what we are before +git --no-pager show -s + +# Set up username so it can do a merge +git config --global user.email bot@matrix.org +git config --global user.name "A robot" + +# Fetch and merge. If it doesn't work, it will raise due to set -e. +git fetch -u origin $GITBASE +git merge --no-edit --no-commit origin/$GITBASE + +# Show what we are after. +git --no-pager show -s \ No newline at end of file diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml
index 719f22b4e1..75d0eb7f32 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml
@@ -232,3 +232,106 @@ steps: limit: 2 - exit_status: 2 limit: 2 + + - label: "SyTest - :python: 2.7 / :postgres: 9.6 / Monolith" + agents: + queue: "medium" + env: + POSTGRES: "1" + command: + - "bash .buildkite/merge_base_branch.sh" + - "bash /synapse_sytest.sh" + plugins: + - docker#v3.0.1: + image: "matrixdotorg/sytest-synapse:dinsic" + propagate-environment: true + always-pull: true + workdir: "/src" + entrypoint: "/bin/sh" + init: false + shell: ["-x", "-c"] + mount-buildkite-agent: false + volumes: ["./logs:/logs"] + - artifacts#v1.2.0: + upload: [ "logs/**/*.log", "logs/**/*.log.*", "logs/results.tap" ] + - matrix-org/annotate: + path: "logs/annotate.md" + style: "error" + + - label: "SyTest - :python: 2.7 / :postgres: 9.6 / Workers" + agents: + queue: "xlarge" + env: + POSTGRES: "1" + WORKERS: "1" + command: + - "bash .buildkite/merge_base_branch.sh" + - "bash /synapse_sytest.sh" + plugins: + - docker#v3.0.1: + image: "matrixdotorg/sytest-synapse:dinsic" + propagate-environment: true + always-pull: true + workdir: "/src" + entrypoint: "/bin/sh" + init: false + shell: ["-x", "-c"] + mount-buildkite-agent: false + volumes: ["./logs:/logs"] + - artifacts#v1.2.0: + upload: [ "logs/**/*.log", "logs/**/*.log.*", "logs/results.tap" ] + - matrix-org/annotate: + path: "logs/annotate.md" + style: "error" + + - label: "SyTest - :python: 3 / :postgres: 9.6 / Monolith" + agents: + queue: "medium" + env: + POSTGRES: "1" + command: + - "bash .buildkite/merge_base_branch.sh" + - "bash /synapse_sytest.sh" + plugins: + - docker#v3.0.1: + image: "matrixdotorg/sytest-synapse:dinsic-py3" + propagate-environment: true + always-pull: true + workdir: "/src" + entrypoint: "/bin/sh" + init: false + shell: ["-x", "-c"] + mount-buildkite-agent: false + volumes: ["./logs:/logs"] + - artifacts#v1.2.0: + upload: [ "logs/**/*.log", "logs/**/*.log.*", "logs/results.tap" ] + - matrix-org/annotate: + path: "logs/annotate.md" + style: "error" + + - label: "SyTest - :python: 3 / :postgres: 9.6 / Workers" + agents: + queue: "xlarge" + env: + POSTGRES: "1" + WORKERS: "1" + command: + - "bash .buildkite/merge_base_branch.sh" + - "bash /synapse_sytest.sh" + plugins: + - docker#v3.0.1: + image: "matrixdotorg/sytest-synapse:dinsic-py3" + propagate-environment: true + always-pull: true + workdir: "/src" + entrypoint: "/bin/sh" + init: false + shell: ["-x", "-c"] + mount-buildkite-agent: false + volumes: ["./logs:/logs"] + - artifacts#v1.2.0: + upload: [ "logs/**/*.log", "logs/**/*.log.*", "logs/results.tap" ] + - matrix-org/annotate: + path: "logs/annotate.md" + style: "error" + diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644
index 341395765d..0000000000 --- a/.circleci/config.yml +++ /dev/null
@@ -1,24 +0,0 @@ -version: 2 -jobs: - sytestpy2postgresmerged: - docker: - - image: matrixdotorg/sytest-synapse:dinsic - working_directory: /src - steps: - - checkout - - run: bash .circleci/merge_base_branch.sh - - run: POSTGRES=1 /synapse_sytest.sh - - store_artifacts: - path: /logs - destination: logs - - store_test_results: - path: /logs - -workflows: - version: 2 - build: - jobs: - - sytestpy2postgresmerged: - filters: - branches: - ignore: /develop|master|release-.*/ \ No newline at end of file diff --git a/.circleci/merge_base_branch.sh b/.circleci/merge_base_branch.sh deleted file mode 100755
index 3a6476a96c..0000000000 --- a/.circleci/merge_base_branch.sh +++ /dev/null
@@ -1,35 +0,0 @@ -#!/usr/bin/env bash - -set -e - -# CircleCI doesn't give CIRCLE_PR_NUMBER in the environment for non-forked PRs. Wonderful. -# In this case, we just need to do some ~shell magic~ to strip it out of the PULL_REQUEST URL. -echo 'export CIRCLE_PR_NUMBER="${CIRCLE_PR_NUMBER:-${CIRCLE_PULL_REQUEST##*/}}"' >> $BASH_ENV -source $BASH_ENV - -if [[ -z "${CIRCLE_PR_NUMBER}" ]] -then - echo "Can't figure out what the PR number is! Assuming merge target is dinsic." - - # It probably hasn't had a PR opened yet. Since all PRs for dinsic land on - # dinsic, we can probably assume it's based on it and will be merged into - # it. - GITBASE="dinsic" -else - # Get the reference, using the GitHub API - GITBASE=`wget -O- https://api.github.com/repos/matrix-org/synapse-dinsic/pulls/${CIRCLE_PR_NUMBER} | jq -r '.base.ref'` -fi - -# Show what we are before -git --no-pager show -s - -# Set up username so it can do a merge -git config --global user.email bot@matrix.org -git config --global user.name "A robot" - -# Fetch and merge. If it doesn't work, it will raise due to set -e. -git fetch -u origin $GITBASE -git merge --no-edit origin/$GITBASE - -# Show what we are after. -git --no-pager show -s diff --git a/changelog.d/9.misc b/changelog.d/9.misc new file mode 100644
index 0000000000..24fd12c978 --- /dev/null +++ b/changelog.d/9.misc
@@ -0,0 +1 @@ +Add SyTest to the BuildKite CI.