Russell Currey <rus...@russell.cc> writes: > When running tox on a VM with presumably pretty busy spinning disks, > using eatmydata with the database took running one configuration's test > suite from (no exaggeration) 20 minutes down to 60 seconds. > > It makes a huge difference to test speed, so we should make it easily > available for developers. The primary motivation here was to > automatically test each patch in a timeframe that isn't insane. > > Open to ideas on how to organise this, whether we do it for MySQL too > (which we probably should), whether the base directory should have these > files in it, what to call the Dockerfile, etc. I think it's a good > thing to have in the repo, though.
So I really want to do this but I don't really like the idea of docker-compose-eatmydata, it's just a bit ugly. I am hoping that we can get the tox-docker thing working and integrate from there, depending on how that ends up working. Regards, Daniel > > Signed-off-by: Russell Currey <rus...@russell.cc> > --- > docker-compose-eatmydata.yml | 32 +++++++++++++++++++++++++++++++ > tools/docker/Dockerfile.eatmydata | 9 +++++++++ > 2 files changed, 41 insertions(+) > create mode 100644 docker-compose-eatmydata.yml > create mode 100644 tools/docker/Dockerfile.eatmydata > > diff --git a/docker-compose-eatmydata.yml b/docker-compose-eatmydata.yml > new file mode 100644 > index 0000000..27d1604 > --- /dev/null > +++ b/docker-compose-eatmydata.yml > @@ -0,0 +1,32 @@ > +version: "3" > +services: > + db: > + build: > + context: . > + dockerfile: ./tools/docker/Dockerfile.eatmydata > + volumes: > + - ./tools/docker/db/postdata:/var/lib/postgresql/data > + environment: > + - POSTGRES_PASSWORD=password > + > + web: > + build: > + context: . > + dockerfile: ./tools/docker/Dockerfile > + args: > + - UID > + depends_on: > + - db > + command: python3 manage.py runserver 0.0.0.0:8000 > + volumes: > + - .:/home/patchwork/patchwork/ > + ports: > + - "8000:8000" > + environment: > + - UID > + - PW_TEST_DB_HOST=db > + - PW_TEST_DB_PORT=5432 > + - PW_TEST_DB_TYPE=postgres > + - PW_TEST_DB_USER=postgres > + - PW_TEST_DB_PASS=password > + - PGPASSWORD=password > diff --git a/tools/docker/Dockerfile.eatmydata > b/tools/docker/Dockerfile.eatmydata > new file mode 100644 > index 0000000..693cbb3 > --- /dev/null > +++ b/tools/docker/Dockerfile.eatmydata > @@ -0,0 +1,9 @@ > +FROM postgres:9.6 > + > +RUN apt-get update \ > + && apt-get install -y eatmydata \ > + && apt-get autoremove -y \ > + && rm -rf /var/lib/apt/lists/* > + > +ENTRYPOINT [ "/usr/bin/eatmydata", "/usr/local/bin/docker-entrypoint.sh" ] > +CMD ["postgres"] > -- > 2.21.0 > > _______________________________________________ > Patchwork mailing list > Patchwork@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/patchwork _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork