Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
see if we can do a build!
Browse files Browse the repository at this point in the history
  • Loading branch information
hawkowl committed Jul 16, 2019
1 parent a175e60 commit 646292c
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 1 deletion.
19 changes: 18 additions & 1 deletion .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@ steps:

- wait


- command:
- "python -m pip install tox"
- "tox -e py35-old,codecov"
label: ":python: 3.5 / SQLite / Old Deps"
branches: "!shhs !shhs-*"
env:
TRIAL_FLAGS: "-j 2"
plugins:
Expand All @@ -69,6 +69,7 @@ steps:
- "python -m pip install tox"
- "tox -e py35,codecov"
label: ":python: 3.5 / SQLite"
branches: "!shhs !shhs-*"
env:
TRIAL_FLAGS: "-j 2"
plugins:
Expand All @@ -86,6 +87,7 @@ steps:
- "python -m pip install tox"
- "tox -e py36,codecov"
label: ":python: 3.6 / SQLite"
branches: "!shhs !shhs-*"
env:
TRIAL_FLAGS: "-j 2"
plugins:
Expand Down Expand Up @@ -117,6 +119,7 @@ steps:
limit: 2

- label: ":python: 3.5 / :postgres: 9.5"
branches: "!shhs !shhs-*"
env:
TRIAL_FLAGS: "-j 4"
command:
Expand Down Expand Up @@ -169,6 +172,7 @@ steps:


- label: "SyTest - :python: 3.5 / SQLite / Monolith"
branches: "!shhs !shhs-*"
agents:
queue: "medium"
command:
Expand Down Expand Up @@ -207,6 +211,7 @@ steps:
limit: 2

- label: "SyTest - :python: 3.5 / :postgres: 9.6 / Workers"
branches: "!shhs !shhs-*"
agents:
queue: "medium"
env:
Expand All @@ -227,3 +232,15 @@ steps:
limit: 2
- exit_status: 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 changes: 66 additions & 0 deletions docker/Dockerfile-optimised
Original file line number Diff line number Diff line change
@@ -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"]

0 comments on commit 646292c

Please sign in to comment.