From 49da3be3748ff05e8d0c5e0261ce774e6d19d789 Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Thu, 14 May 2020 13:53:02 +0100 Subject: [PATCH] Update buildkite to match mainline --- .buildkite/pipeline.yml | 356 ++++++++++++++++++++++++++++++---------- 1 file changed, 271 insertions(+), 85 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index f79aaf9c88..85b34f73a4 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -2,37 +2,37 @@ env: COVERALLS_REPO_TOKEN: wsJWOby6j0uCYFiCes3r0XauxO27mx8lD steps: - - command: + - label: "\U0001F9F9 Check Style" + command: - "python -m pip install tox" - "tox -e check_codestyle" - label: "\U0001F9F9 Check Style" plugins: - docker#v3.0.1: image: "python:3.6" mount-buildkite-agent: false - - command: + - label: "\U0001F9F9 packaging" + command: - "python -m pip install tox" - "tox -e packaging" - label: "\U0001F9F9 packaging" plugins: - docker#v3.0.1: image: "python:3.6" mount-buildkite-agent: false - - command: + - label: "\U0001F9F9 isort" + command: - "python -m pip install tox" - "tox -e check_isort" - label: "\U0001F9F9 isort" plugins: - docker#v3.0.1: image: "python:3.6" mount-buildkite-agent: false - - command: + - label: ":newspaper: Newsfile" + command: - "python -m pip install tox" - "scripts-dev/check-newsfragment" - label: ":newspaper: Newsfile" branches: "!master !develop !release-*" plugins: - docker#v3.0.1: @@ -40,19 +40,19 @@ steps: propagate-environment: true mount-buildkite-agent: false - - command: + - label: "\U0001F9F9 check-sample-config" + command: - "python -m pip install tox" - "tox -e check-sampleconfig" - label: "\U0001F9F9 check-sample-config" plugins: - docker#v3.0.1: image: "python:3.6" mount-buildkite-agent: false - - command: + - label: ":mypy: mypy" + command: - "python -m pip install tox" - "tox -e mypy" - label: ":mypy: mypy" plugins: - docker#v3.0.1: image: "python:3.7" @@ -60,22 +60,27 @@ steps: - wait - - command: - - "apt-get update && apt-get install -y python3.5 python3.5-dev python3-pip libxml2-dev libxslt-dev zlib1g-dev" - - "python3.5 -m pip install tox" - - "tox -e py35-old,combine" - label: ":python: 3.5 / SQLite / Old Deps" + ################################################################################ + # + # `trial` tests + # + ################################################################################ + + - label: ":python: 3.5 / SQLite / Old Deps" + command: + - ".buildkite/scripts/test_old_deps.sh" env: TRIAL_FLAGS: "-j 2" - LANG: "C.UTF-8" plugins: - docker#v3.0.1: image: "ubuntu:xenial" # We use xenial to get an old sqlite and python workdir: "/src" mount-buildkite-agent: false propagate-environment: true - - matrix-org/coveralls#v1.0: - parallel: "true" + - artifacts#v1.2.0: + upload: [ "_trial_temp/*/*.log" ] +# - matrix-org/coveralls#v1.0: +# parallel: "true" retry: automatic: - exit_status: -1 @@ -83,10 +88,10 @@ steps: - exit_status: 2 limit: 2 - - command: + - label: ":python: 3.5 / SQLite" + command: - "python -m pip install tox" - "tox -e py35,combine" - label: ":python: 3.5 / SQLite" env: TRIAL_FLAGS: "-j 2" plugins: @@ -95,8 +100,10 @@ steps: workdir: "/src" mount-buildkite-agent: false propagate-environment: true - - matrix-org/coveralls#v1.0: - parallel: "true" + - artifacts#v1.2.0: + upload: [ "_trial_temp/*/*.log" ] +# - matrix-org/coveralls#v1.0: +# parallel: "true" retry: automatic: - exit_status: -1 @@ -104,10 +111,10 @@ steps: - exit_status: 2 limit: 2 - - command: + - label: ":python: 3.6 / SQLite" + command: - "python -m pip install tox" - "tox -e py36,combine" - label: ":python: 3.6 / SQLite" env: TRIAL_FLAGS: "-j 2" plugins: @@ -116,8 +123,10 @@ steps: workdir: "/src" mount-buildkite-agent: false propagate-environment: true - - matrix-org/coveralls#v1.0: - parallel: "true" + - artifacts#v1.2.0: + upload: [ "_trial_temp/*/*.log" ] +# - matrix-org/coveralls#v1.0: +# parallel: "true" retry: automatic: - exit_status: -1 @@ -125,10 +134,10 @@ steps: - exit_status: 2 limit: 2 - - command: + - label: ":python: 3.7 / SQLite" + command: - "python -m pip install tox" - "tox -e py37,combine" - label: ":python: 3.7 / SQLite" env: TRIAL_FLAGS: "-j 2" plugins: @@ -137,8 +146,10 @@ steps: workdir: "/src" mount-buildkite-agent: false propagate-environment: true - - matrix-org/coveralls#v1.0: - parallel: "true" + - artifacts#v1.2.0: + upload: [ "_trial_temp/*/*.log" ] +# - matrix-org/coveralls#v1.0: +# parallel: "true" retry: automatic: - exit_status: -1 @@ -154,33 +165,18 @@ steps: command: - "bash -c 'python -m pip install tox && python -m tox -e py35-postgres,combine'" plugins: + - matrix-org/download#v1.1.0: + urls: + - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose.py35.pg95.yaml + - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose-env - docker-compose#v2.1.0: run: testenv config: - - .buildkite/docker-compose.py35.pg95.yaml - - matrix-org/coveralls#v1.0: - parallel: "true" - retry: - automatic: - - exit_status: -1 - limit: 2 - - exit_status: 2 - limit: 2 - - - label: ":python: 3.7 / :postgres: 9.5" - agents: - queue: "medium" - env: - TRIAL_FLAGS: "-j 8" - command: - - "bash -c 'python -m pip install tox && python -m tox -e py37-postgres,combine'" - plugins: - - docker-compose#v2.1.0: - run: testenv - config: - - .buildkite/docker-compose.py37.pg95.yaml - - matrix-org/coveralls#v1.0: - parallel: "true" + - /tmp/download-${BUILDKITE_BUILD_ID}/docker-compose.py35.pg95.yaml + - artifacts#v1.2.0: + upload: [ "_trial_temp/*/*.log" ] +# - matrix-org/coveralls#v1.0: +# parallel: "true" retry: automatic: - exit_status: -1 @@ -196,12 +192,18 @@ steps: command: - "bash -c 'python -m pip install tox && python -m tox -e py37-postgres,combine'" plugins: + - matrix-org/download#v1.1.0: + urls: + - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose.py37.pg11.yaml + - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose-env - docker-compose#v2.1.0: run: testenv config: - - .buildkite/docker-compose.py37.pg11.yaml - - matrix-org/coveralls#v1.0: - parallel: "true" + - /tmp/download-${BUILDKITE_BUILD_ID}/docker-compose.py37.pg11.yaml + - artifacts#v1.2.0: + upload: [ "_trial_temp/*/*.log" ] +# - matrix-org/coveralls#v1.0: +# parallel: "true" retry: automatic: - exit_status: -1 @@ -209,28 +211,63 @@ steps: - exit_status: 2 limit: 2 + - label: ":python: 3.8 / :postgres: 12" + agents: + queue: "medium" + env: + TRIAL_FLAGS: "-j 8" + command: + - "bash -c 'python -m pip install tox && python -m tox -e py38-postgres,combine'" + plugins: + - matrix-org/download#v1.1.0: + urls: + - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose.py38.pg12.yaml + - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose-env + - docker-compose#v2.1.0: + run: testenv + config: + - /tmp/download-${BUILDKITE_BUILD_ID}/docker-compose.py38.pg12.yaml + - artifacts#v1.2.0: + upload: [ "_trial_temp/*/*.log" ] +# - matrix-org/coveralls#v1.0: +# parallel: "true" + retry: + automatic: + - exit_status: -1 + limit: 2 + - exit_status: 2 + limit: 2 + + ################################################################################ + # + # Sytest + # + ################################################################################ + - label: "SyTest - :python: 3.5 / SQLite / Monolith" agents: queue: "medium" command: - "bash .buildkite/merge_base_branch.sh" - - "bash /synapse_sytest.sh" + - "bash /bootstrap.sh synapse" plugins: - docker#v3.0.1: image: "matrixdotorg/sytest-synapse:py35" propagate-environment: true always-pull: true workdir: "/src" - entrypoint: ["/bin/sh", "-e", "-c"] + 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/coverage.xml" ] + upload: [ "logs/**/*.log", "logs/**/*.log.*", "logs/results.tap" ] - matrix-org/annotate: path: "logs/annotate.md" - class: "error" - - matrix-org/coveralls#v1.0: - parallel: "true" + style: "error" +# - matrix-org/coveralls#v1.0: +# parallel: "true" retry: automatic: - exit_status: -1 @@ -240,28 +277,30 @@ steps: - label: "SyTest - :python: 3.5 / :postgres: 9.6 / Monolith" agents: - queue: "xlarge" + queue: "medium" env: POSTGRES: "1" command: - "bash .buildkite/merge_base_branch.sh" - - "bash /synapse_sytest.sh" + - "bash /bootstrap.sh synapse" plugins: - docker#v3.0.1: - image: "matrixdotorg/sytest-synapse:dinsic-py3" + image: "matrixdotorg/sytest-synapse:py35" propagate-environment: true always-pull: true workdir: "/src" - entrypoint: ["/bin/sh", "-e", "-c"] + 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/coverage.xml" ] + upload: [ "logs/**/*.log", "logs/**/*.log.*", "logs/results.tap" ] - matrix-org/annotate: path: "logs/annotate.md" - class: "error" - - matrix-org/coveralls#v1.0: - parallel: "true" + style: "error" +# - matrix-org/coveralls#v1.0: +# parallel: "true" retry: automatic: - exit_status: -1 @@ -269,33 +308,36 @@ steps: - exit_status: 2 limit: 2 - - label: "SyTest - :python: 3 / :postgres: 9.6 / Workers" + - label: "SyTest - :python: 3.5 / :postgres: 9.6 / Workers" agents: queue: "medium" env: + MULTI_POSTGRES: "1" # Test with split out databases POSTGRES: "1" WORKERS: "1" BLACKLIST: "synapse-blacklist-with-workers" command: - "bash .buildkite/merge_base_branch.sh" - "bash -c 'cat /src/sytest-blacklist /src/.buildkite/worker-blacklist > /src/synapse-blacklist-with-workers'" - - "bash /synapse_sytest.sh" + - "bash /bootstrap.sh synapse" plugins: - docker#v3.0.1: - image: "matrixdotorg/sytest-synapse:dinsic-py3" + image: "matrixdotorg/sytest-synapse:py35" propagate-environment: true always-pull: true workdir: "/src" - entrypoint: ["/bin/sh", "-e", "-c"] + 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/coverage.xml" ] + upload: [ "logs/**/*.log", "logs/**/*.log.*", "logs/results.tap" ] - matrix-org/annotate: path: "logs/annotate.md" - class: "error" - - matrix-org/coveralls#v1.0: - parallel: "true" + style: "error" + # - matrix-org/coveralls#v1.0: + # parallel: "true" retry: automatic: - exit_status: -1 @@ -303,8 +345,152 @@ steps: - exit_status: 2 limit: 2 - - wait: ~ - continue_on_failure: true - - label: Trigger webhook - command: "curl -k https://coveralls.io/webhook?repo_token=$COVERALLS_REPO_TOKEN -d \"payload[build_num]=$BUILDKITE_BUILD_NUMBER&payload[status]=done\"" + - label: "SyTest - :python: 3.8 / :postgres: 12 / Monolith" + agents: + queue: "medium" + env: + POSTGRES: "1" + command: + - "bash .buildkite/merge_base_branch.sh" + - "bash /bootstrap.sh synapse" + plugins: + - docker#v3.0.1: + image: "matrixdotorg/sytest-synapse:py38" + 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" +# - matrix-org/coveralls#v1.0: +# parallel: "true" + retry: + automatic: + - exit_status: -1 + limit: 2 + - exit_status: 2 + limit: 2 + + - label: "SyTest - :python: 3.7 / :postgres: 11 / Workers" + agents: + queue: "medium" + env: + MULTI_POSTGRES: "1" # Test with split out databases + POSTGRES: "1" + WORKERS: "1" + BLACKLIST: "synapse-blacklist-with-workers" + command: + - "bash .buildkite/merge_base_branch.sh" + - "bash -c 'cat /src/sytest-blacklist /src/.buildkite/worker-blacklist > /src/synapse-blacklist-with-workers'" + - "bash /bootstrap.sh synapse" + plugins: + - docker#v3.0.1: + image: "matrixdotorg/sytest-synapse:py37" + 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" + # - matrix-org/coveralls#v1.0: + # parallel: "true" + retry: + automatic: + - exit_status: -1 + limit: 2 + - exit_status: 2 + limit: 2 + +# TODO: Enable once Synapse v1.13.0 is merged in +# - label: "SyTest - :python: 3.7 / :postgres: 11 / Workers / :redis: Redis" +# agents: +# queue: "medium" +# command: +# - bash -c "cat /src/sytest-blacklist /src/.buildkite/worker-blacklist > /src/synapse-blacklist-with-workers && ./.buildkite/merge_base_branch.sh && /bootstrap.sh synapse --redis-host redis" +# plugins: +# - matrix-org/download#v1.1.0: +# urls: +# - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose.sytest.py37.redis.yaml +# - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose-env +# - docker-compose#v2.1.0: +# run: sytest +# config: +# - /tmp/download-${BUILDKITE_BUILD_ID}/docker-compose.sytest.py37.redis.yaml +# - artifacts#v1.2.0: +# upload: [ "logs/**/*.log", "logs/**/*.log.*", "logs/results.tap" ] +# - matrix-org/annotate: +# path: "logs/annotate.md" +# style: "error" +## - matrix-org/coveralls#v1.0: +## parallel: "true" +# retry: +# automatic: +# - exit_status: -1 +# limit: 2 +# - exit_status: 2 +# limit: 2 + + ################################################################################ + # + # synapse_port_db + # + ################################################################################ + + - label: "synapse_port_db / :python: 3.5 / :postgres: 9.5" + agents: + queue: "medium" + command: + - "bash .buildkite/scripts/test_synapse_port_db.sh" + plugins: + - matrix-org/download#v1.1.0: + urls: + - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose.py35.pg95.yaml + - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose-env + - docker-compose#v2.1.0: + run: testenv + config: + - /tmp/download-${BUILDKITE_BUILD_ID}/docker-compose.py35.pg95.yaml + - artifacts#v1.2.0: + upload: [ "_trial_temp/*/*.log" ] +# - matrix-org/coveralls#v1.0: +# parallel: "true" + + - label: "synapse_port_db / :python: 3.7 / :postgres: 11" + agents: + queue: "medium" + command: + - "bash .buildkite/scripts/test_synapse_port_db.sh" + plugins: + - matrix-org/download#v1.1.0: + urls: + - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose.py37.pg11.yaml + - https://raw.githubusercontent.com/matrix-org/synapse-dinsic/dinsic/.buildkite/docker-compose-env + - docker-compose#v2.1.0: + run: testenv + config: + - /tmp/download-${BUILDKITE_BUILD_ID}/docker-compose.py37.pg11.yaml + - artifacts#v1.2.0: + upload: [ "_trial_temp/*/*.log" ] +# - matrix-org/coveralls#v1.0: +# parallel: "true" + +# - wait: ~ +# continue_on_failure: true +# +# - label: Trigger webhook +# command: "curl -k https://coveralls.io/webhook?repo_token=$COVERALLS_REPO_TOKEN -d \"payload[build_num]=$BUILDKITE_BUILD_NUMBER&payload[status]=done\""