mirror of
https://github.com/element-hq/synapse.git
synced 2024-12-22 12:44:30 +03:00
see if we can do a build!
This commit is contained in:
parent
a175e608e9
commit
646292cfb1
2 changed files with 84 additions and 1 deletions
|
@ -47,11 +47,11 @@ steps:
|
||||||
|
|
||||||
- wait
|
- wait
|
||||||
|
|
||||||
|
|
||||||
- command:
|
- command:
|
||||||
- "python -m pip install tox"
|
- "python -m pip install tox"
|
||||||
- "tox -e py35-old,codecov"
|
- "tox -e py35-old,codecov"
|
||||||
label: ":python: 3.5 / SQLite / Old Deps"
|
label: ":python: 3.5 / SQLite / Old Deps"
|
||||||
|
branches: "!shhs !shhs-*"
|
||||||
env:
|
env:
|
||||||
TRIAL_FLAGS: "-j 2"
|
TRIAL_FLAGS: "-j 2"
|
||||||
plugins:
|
plugins:
|
||||||
|
@ -69,6 +69,7 @@ steps:
|
||||||
- "python -m pip install tox"
|
- "python -m pip install tox"
|
||||||
- "tox -e py35,codecov"
|
- "tox -e py35,codecov"
|
||||||
label: ":python: 3.5 / SQLite"
|
label: ":python: 3.5 / SQLite"
|
||||||
|
branches: "!shhs !shhs-*"
|
||||||
env:
|
env:
|
||||||
TRIAL_FLAGS: "-j 2"
|
TRIAL_FLAGS: "-j 2"
|
||||||
plugins:
|
plugins:
|
||||||
|
@ -86,6 +87,7 @@ steps:
|
||||||
- "python -m pip install tox"
|
- "python -m pip install tox"
|
||||||
- "tox -e py36,codecov"
|
- "tox -e py36,codecov"
|
||||||
label: ":python: 3.6 / SQLite"
|
label: ":python: 3.6 / SQLite"
|
||||||
|
branches: "!shhs !shhs-*"
|
||||||
env:
|
env:
|
||||||
TRIAL_FLAGS: "-j 2"
|
TRIAL_FLAGS: "-j 2"
|
||||||
plugins:
|
plugins:
|
||||||
|
@ -117,6 +119,7 @@ steps:
|
||||||
limit: 2
|
limit: 2
|
||||||
|
|
||||||
- label: ":python: 3.5 / :postgres: 9.5"
|
- label: ":python: 3.5 / :postgres: 9.5"
|
||||||
|
branches: "!shhs !shhs-*"
|
||||||
env:
|
env:
|
||||||
TRIAL_FLAGS: "-j 4"
|
TRIAL_FLAGS: "-j 4"
|
||||||
command:
|
command:
|
||||||
|
@ -169,6 +172,7 @@ steps:
|
||||||
|
|
||||||
|
|
||||||
- label: "SyTest - :python: 3.5 / SQLite / Monolith"
|
- label: "SyTest - :python: 3.5 / SQLite / Monolith"
|
||||||
|
branches: "!shhs !shhs-*"
|
||||||
agents:
|
agents:
|
||||||
queue: "medium"
|
queue: "medium"
|
||||||
command:
|
command:
|
||||||
|
@ -207,6 +211,7 @@ steps:
|
||||||
limit: 2
|
limit: 2
|
||||||
|
|
||||||
- label: "SyTest - :python: 3.5 / :postgres: 9.6 / Workers"
|
- label: "SyTest - :python: 3.5 / :postgres: 9.6 / Workers"
|
||||||
|
branches: "!shhs !shhs-*"
|
||||||
agents:
|
agents:
|
||||||
queue: "medium"
|
queue: "medium"
|
||||||
env:
|
env:
|
||||||
|
@ -227,3 +232,15 @@ steps:
|
||||||
limit: 2
|
limit: 2
|
||||||
- exit_status: 2
|
- exit_status: 2
|
||||||
limit: 2
|
limit: 2
|
||||||
|
|
||||||
|
- wait
|
||||||
|
|
||||||
|
- label: "Docker Build -- Optimised Skylake-AVX512"
|
||||||
|
agents:
|
||||||
|
queue: "release"
|
||||||
|
branches: "shhs shhs-*"
|
||||||
|
command:
|
||||||
|
- "docker build -f docker/Dockerfile-optimised --build-arg PYTHON_VERSION=3.6 --build-arg MARCH=skylake-avx512 . -t matrixdotorg/synapse:${BUILDKITE_TAG}-skylake-avx512"
|
||||||
|
- "docker docker save matrixdotorg/synapse:${BUILDKITE_TAG}-skylake-avx512 | gzip -9 > docker.tar.gz"
|
||||||
|
artifact_paths:
|
||||||
|
- "docker.tar.gz"
|
66
docker/Dockerfile-optimised
Normal file
66
docker/Dockerfile-optimised
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
# Dockerfile to build the matrixdotorg/synapse docker images.
|
||||||
|
#
|
||||||
|
# To build the image, run `docker build` command from the root of the
|
||||||
|
# synapse repository:
|
||||||
|
#
|
||||||
|
# docker build -f docker/Dockerfile .
|
||||||
|
#
|
||||||
|
# There is an optional PYTHON_VERSION build argument which sets the
|
||||||
|
# version of python to build against: for example:
|
||||||
|
#
|
||||||
|
# docker build -f docker/Dockerfile --build-arg PYTHON_VERSION=3.6 .
|
||||||
|
#
|
||||||
|
|
||||||
|
ARG PYTHON_VERSION=3.7.4
|
||||||
|
ARG MARCH=skylake-avx512
|
||||||
|
|
||||||
|
###
|
||||||
|
### Stage 0: builder
|
||||||
|
###
|
||||||
|
FROM matrixdotorg/optimised-python:${PYTHON_VERSION}-optimized-lto-${MARCH} as builder
|
||||||
|
|
||||||
|
# install the OS build deps
|
||||||
|
|
||||||
|
RUN apt-get install -y build-essential libpq5-dev libffi-dev libexpat1-dev libxml2-dev libxslt-dev
|
||||||
|
|
||||||
|
# build things which have slow build steps, before we copy synapse, so that
|
||||||
|
# the layer can be cached.
|
||||||
|
#
|
||||||
|
# (we really just care about caching a wheel here, as the "pip install" below
|
||||||
|
# will install them again.)
|
||||||
|
|
||||||
|
RUN pip install --prefix="/install" --no-warn-script-location \
|
||||||
|
cryptography \
|
||||||
|
msgpack-python \
|
||||||
|
pillow \
|
||||||
|
pynacl
|
||||||
|
|
||||||
|
# now install synapse and all of the python deps to /install.
|
||||||
|
|
||||||
|
COPY synapse /synapse/synapse/
|
||||||
|
COPY scripts /synapse/scripts/
|
||||||
|
COPY MANIFEST.in README.rst setup.py synctl /synapse/
|
||||||
|
|
||||||
|
RUN pip install --prefix="/install" --no-warn-script-location \
|
||||||
|
/synapse[all]
|
||||||
|
|
||||||
|
RUN chown -R root:root /usr/local /install
|
||||||
|
|
||||||
|
###
|
||||||
|
### Stage 1: runtime
|
||||||
|
###
|
||||||
|
|
||||||
|
FROM matrixdotorg/optimised-python:${PYTHON_VERSION}-optimized-lto-${MARCH}
|
||||||
|
|
||||||
|
# xmlsec is required for saml support
|
||||||
|
RUN apt install libpq5 xmlsec libxslt1
|
||||||
|
|
||||||
|
COPY --from=builder /install /usr/local
|
||||||
|
COPY ./docker/start.py /start.py
|
||||||
|
COPY ./docker/conf /conf
|
||||||
|
|
||||||
|
VOLUME ["/data"]
|
||||||
|
|
||||||
|
EXPOSE 8008/tcp 8009/tcp 8448/tcp
|
||||||
|
|
||||||
|
ENTRYPOINT ["/start.py"]
|
Loading…
Reference in a new issue