mirror of https://github.com/watcha-fr/synapse
Move from TravisCI to BuildKite (#4752)
parent
76550c58d2
commit
f2a753ea38
@ -0,0 +1,13 @@ |
||||
CI |
||||
BUILDKITE |
||||
BUILDKITE_BUILD_NUMBER |
||||
BUILDKITE_BRANCH |
||||
BUILDKITE_BUILD_NUMBER |
||||
BUILDKITE_JOB_ID |
||||
BUILDKITE_BUILD_URL |
||||
BUILDKITE_PROJECT_SLUG |
||||
BUILDKITE_COMMIT |
||||
BUILDKITE_PULL_REQUEST |
||||
BUILDKITE_TAG |
||||
CODECOV_TOKEN |
||||
TRIAL_FLAGS |
@ -0,0 +1,21 @@ |
||||
version: '3.1' |
||||
|
||||
services: |
||||
|
||||
postgres: |
||||
image: postgres:9.4 |
||||
environment: |
||||
POSTGRES_PASSWORD: postgres |
||||
|
||||
testenv: |
||||
image: python:2.7 |
||||
depends_on: |
||||
- postgres |
||||
env_file: .env |
||||
environment: |
||||
SYNAPSE_POSTGRES_HOST: postgres |
||||
SYNAPSE_POSTGRES_USER: postgres |
||||
SYNAPSE_POSTGRES_PASSWORD: postgres |
||||
working_dir: /app |
||||
volumes: |
||||
- ..:/app |
@ -0,0 +1,21 @@ |
||||
version: '3.1' |
||||
|
||||
services: |
||||
|
||||
postgres: |
||||
image: postgres:9.5 |
||||
environment: |
||||
POSTGRES_PASSWORD: postgres |
||||
|
||||
testenv: |
||||
image: python:2.7 |
||||
depends_on: |
||||
- postgres |
||||
env_file: .env |
||||
environment: |
||||
SYNAPSE_POSTGRES_HOST: postgres |
||||
SYNAPSE_POSTGRES_USER: postgres |
||||
SYNAPSE_POSTGRES_PASSWORD: postgres |
||||
working_dir: /app |
||||
volumes: |
||||
- ..:/app |
@ -0,0 +1,21 @@ |
||||
version: '3.1' |
||||
|
||||
services: |
||||
|
||||
postgres: |
||||
image: postgres:9.4 |
||||
environment: |
||||
POSTGRES_PASSWORD: postgres |
||||
|
||||
testenv: |
||||
image: python:3.5 |
||||
depends_on: |
||||
- postgres |
||||
env_file: .env |
||||
environment: |
||||
SYNAPSE_POSTGRES_HOST: postgres |
||||
SYNAPSE_POSTGRES_USER: postgres |
||||
SYNAPSE_POSTGRES_PASSWORD: postgres |
||||
working_dir: /app |
||||
volumes: |
||||
- ..:/app |
@ -0,0 +1,21 @@ |
||||
version: '3.1' |
||||
|
||||
services: |
||||
|
||||
postgres: |
||||
image: postgres:9.5 |
||||
environment: |
||||
POSTGRES_PASSWORD: postgres |
||||
|
||||
testenv: |
||||
image: python:3.5 |
||||
depends_on: |
||||
- postgres |
||||
env_file: .env |
||||
environment: |
||||
SYNAPSE_POSTGRES_HOST: postgres |
||||
SYNAPSE_POSTGRES_USER: postgres |
||||
SYNAPSE_POSTGRES_PASSWORD: postgres |
||||
working_dir: /app |
||||
volumes: |
||||
- ..:/app |
@ -0,0 +1,21 @@ |
||||
version: '3.1' |
||||
|
||||
services: |
||||
|
||||
postgres: |
||||
image: postgres:11 |
||||
environment: |
||||
POSTGRES_PASSWORD: postgres |
||||
|
||||
testenv: |
||||
image: python:3.7 |
||||
depends_on: |
||||
- postgres |
||||
env_file: .env |
||||
environment: |
||||
SYNAPSE_POSTGRES_HOST: postgres |
||||
SYNAPSE_POSTGRES_USER: postgres |
||||
SYNAPSE_POSTGRES_PASSWORD: postgres |
||||
working_dir: /app |
||||
volumes: |
||||
- ..:/app |
@ -0,0 +1,21 @@ |
||||
version: '3.1' |
||||
|
||||
services: |
||||
|
||||
postgres: |
||||
image: postgres:9.5 |
||||
environment: |
||||
POSTGRES_PASSWORD: postgres |
||||
|
||||
testenv: |
||||
image: python:3.7 |
||||
depends_on: |
||||
- postgres |
||||
env_file: .env |
||||
environment: |
||||
SYNAPSE_POSTGRES_HOST: postgres |
||||
SYNAPSE_POSTGRES_USER: postgres |
||||
SYNAPSE_POSTGRES_PASSWORD: postgres |
||||
working_dir: /app |
||||
volumes: |
||||
- ..:/app |
@ -0,0 +1,149 @@ |
||||
env: |
||||
CODECOV_TOKEN: "2dd7eb9b-0eda-45fe-a47c-9b5ac040045f" |
||||
|
||||
steps: |
||||
- command: |
||||
- "python -m pip install tox" |
||||
- "tox -e pep8" |
||||
label: "\U0001F9F9 PEP-8" |
||||
plugins: |
||||
- docker#v3.0.1: |
||||
image: "python:3.6" |
||||
|
||||
- command: |
||||
- "python -m pip install tox" |
||||
- "tox -e packaging" |
||||
label: "\U0001F9F9 packaging" |
||||
plugins: |
||||
- docker#v3.0.1: |
||||
image: "python:3.6" |
||||
|
||||
- command: |
||||
- "python -m pip install tox" |
||||
- "tox -e check_isort" |
||||
label: "\U0001F9F9 isort" |
||||
plugins: |
||||
- docker#v3.0.1: |
||||
image: "python:3.6" |
||||
|
||||
- command: |
||||
- "python -m pip install tox" |
||||
- "scripts-dev/check-newsfragment" |
||||
label: ":newspaper: Newsfile" |
||||
branches: "!master !develop !release-*" |
||||
plugins: |
||||
- docker#v3.0.1: |
||||
image: "python:3.6" |
||||
propagate-environment: true |
||||
|
||||
- wait |
||||
|
||||
- command: |
||||
- "python -m pip install tox" |
||||
- "tox -e py27,codecov" |
||||
label: ":python: 2.7 / SQLite" |
||||
env: |
||||
TRIAL_FLAGS: "-j 2" |
||||
plugins: |
||||
- docker#v3.0.1: |
||||
image: "python:2.7" |
||||
propagate-environment: true |
||||
|
||||
- command: |
||||
- "python -m pip install tox" |
||||
- "tox -e py35,codecov" |
||||
label: ":python: 3.5 / SQLite" |
||||
env: |
||||
TRIAL_FLAGS: "-j 2" |
||||
plugins: |
||||
- docker#v3.0.1: |
||||
image: "python:3.5" |
||||
propagate-environment: true |
||||
|
||||
- command: |
||||
- "python -m pip install tox" |
||||
- "tox -e py36,codecov" |
||||
label: ":python: 3.6 / SQLite" |
||||
env: |
||||
TRIAL_FLAGS: "-j 2" |
||||
plugins: |
||||
- docker#v3.0.1: |
||||
image: "python:3.6" |
||||
propagate-environment: true |
||||
|
||||
- command: |
||||
- "python -m pip install tox" |
||||
- "tox -e py37,codecov" |
||||
label: ":python: 3.7 / SQLite" |
||||
env: |
||||
TRIAL_FLAGS: "-j 2" |
||||
plugins: |
||||
- docker#v3.0.1: |
||||
image: "python:3.7" |
||||
propagate-environment: true |
||||
|
||||
- label: ":python: 2.7 / :postgres: 9.4" |
||||
env: |
||||
TRIAL_FLAGS: "-j 4" |
||||
command: |
||||
- "bash -c 'python -m pip install tox && python -m tox -e py27-postgres,codecov'" |
||||
plugins: |
||||
- docker-compose#v2.1.0: |
||||
run: testenv |
||||
config: |
||||
- .buildkite/docker-compose.py27.pg94.yaml |
||||
|
||||
- label: ":python: 2.7 / :postgres: 9.5" |
||||
env: |
||||
TRIAL_FLAGS: "-j 4" |
||||
command: |
||||
- "bash -c 'python -m pip install tox && python -m tox -e py27-postgres,codecov'" |
||||
plugins: |
||||
- docker-compose#v2.1.0: |
||||
run: testenv |
||||
config: |
||||
- .buildkite/docker-compose.py27.pg95.yaml |
||||
|
||||
- label: ":python: 3.5 / :postgres: 9.4" |
||||
env: |
||||
TRIAL_FLAGS: "-j 4" |
||||
command: |
||||
- "bash -c 'python -m pip install tox && python -m tox -e py35-postgres,codecov'" |
||||
plugins: |
||||
- docker-compose#v2.1.0: |
||||
run: testenv |
||||
config: |
||||
- .buildkite/docker-compose.py35.pg94.yaml |
||||
|
||||
- label: ":python: 3.5 / :postgres: 9.5" |
||||
env: |
||||
TRIAL_FLAGS: "-j 4" |
||||
command: |
||||
- "bash -c 'python -m pip install tox && python -m tox -e py35-postgres,codecov'" |
||||
plugins: |
||||
- docker-compose#v2.1.0: |
||||
run: testenv |
||||
config: |
||||
- .buildkite/docker-compose.py35.pg95.yaml |
||||
|
||||
- label: ":python: 3.7 / :postgres: 9.5" |
||||
env: |
||||
TRIAL_FLAGS: "-j 4" |
||||
command: |
||||
- "bash -c 'python -m pip install tox && python -m tox -e py37-postgres,codecov'" |
||||
plugins: |
||||
- docker-compose#v2.1.0: |
||||
run: testenv |
||||
config: |
||||
- .buildkite/docker-compose.py37.pg95.yaml |
||||
|
||||
- label: ":python: 3.7 / :postgres: 11" |
||||
env: |
||||
TRIAL_FLAGS: "-j 4" |
||||
command: |
||||
- "bash -c 'python -m pip install tox && python -m tox -e py37-postgres,codecov'" |
||||
plugins: |
||||
- docker-compose#v2.1.0: |
||||
run: testenv |
||||
config: |
||||
- .buildkite/docker-compose.py37.pg11.yaml |
@ -1,97 +0,0 @@ |
||||
dist: xenial |
||||
language: python |
||||
|
||||
cache: |
||||
directories: |
||||
# we only bother to cache the wheels; parts of the http cache get |
||||
# invalidated every build (because they get served with a max-age of 600 |
||||
# seconds), which means that we end up re-uploading the whole cache for |
||||
# every build, which is time-consuming In any case, it's not obvious that |
||||
# downloading the cache from S3 would be much faster than downloading the |
||||
# originals from pypi. |
||||
# |
||||
- $HOME/.cache/pip/wheels |
||||
|
||||
# don't clone the whole repo history, one commit will do |
||||
git: |
||||
depth: 1 |
||||
|
||||
# only build branches we care about (PRs are built seperately) |
||||
branches: |
||||
only: |
||||
- master |
||||
- develop |
||||
- /^release-v/ |
||||
- rav/pg95 |
||||
|
||||
# When running the tox environments that call Twisted Trial, we can pass the -j |
||||
# flag to run the tests concurrently. We set this to 2 for CPU bound tests |
||||
# (SQLite) and 4 for I/O bound tests (PostgreSQL). |
||||
matrix: |
||||
fast_finish: true |
||||
include: |
||||
- name: "pep8" |
||||
python: 3.6 |
||||
env: TOX_ENV="pep8,check_isort,packaging" |
||||
|
||||
- name: "py2.7 / sqlite" |
||||
python: 2.7 |
||||
env: TOX_ENV=py27,codecov TRIAL_FLAGS="-j 2" |
||||
|
||||
- name: "py2.7 / sqlite / olddeps" |
||||
python: 2.7 |
||||
env: TOX_ENV=py27-old TRIAL_FLAGS="-j 2" |
||||
|
||||
- name: "py2.7 / postgres9.5" |
||||
python: 2.7 |
||||
addons: |
||||
postgresql: "9.5" |
||||
env: TOX_ENV=py27-postgres,codecov TRIAL_FLAGS="-j 4" |
||||
services: |
||||
- postgresql |
||||
|
||||
- name: "py3.5 / sqlite" |
||||
python: 3.5 |
||||
env: TOX_ENV=py35,codecov TRIAL_FLAGS="-j 2" |
||||
|
||||
- name: "py3.7 / sqlite" |
||||
python: 3.7 |
||||
env: TOX_ENV=py37,codecov TRIAL_FLAGS="-j 2" |
||||
|
||||
- name: "py3.7 / postgres9.4" |
||||
python: 3.7 |
||||
addons: |
||||
postgresql: "9.4" |
||||
env: TOX_ENV=py37-postgres TRIAL_FLAGS="-j 4" |
||||
services: |
||||
- postgresql |
||||
|
||||
- name: "py3.7 / postgres9.5" |
||||
python: 3.7 |
||||
addons: |
||||
postgresql: "9.5" |
||||
env: TOX_ENV=py37-postgres,codecov TRIAL_FLAGS="-j 4" |
||||
services: |
||||
- postgresql |
||||
|
||||
- # we only need to check for the newsfragment if it's a PR build |
||||
if: type = pull_request |
||||
name: "check-newsfragment" |
||||
python: 3.6 |
||||
script: scripts-dev/check-newsfragment |
||||
|
||||
install: |
||||
# this just logs the postgres version we will be testing against (if any) |
||||
- psql -At -U postgres -c 'select version();' || true |
||||
|
||||
- pip install tox |
||||
|
||||
# if we don't have python3.6 in this environment, travis unhelpfully gives us |
||||
# a `python3.6` on our path which does nothing but spit out a warning. Tox |
||||
# tries to run it (even if we're not running a py36 env), so the build logs |
||||
# then have warnings which look like errors. To reduce the noise, remove the |
||||
# non-functional python3.6. |
||||
- ( ! command -v python3.6 || python3.6 --version ) &>/dev/null || rm -f $(command -v python3.6) |
||||
|
||||
script: |
||||
- tox -e $TOX_ENV |
@ -0,0 +1 @@ |
||||
Change from TravisCI to Buildkite for CI. |
Loading…
Reference in new issue