add working docker-compose elements
This commit is contained in:
parent
bc33ba0be9
commit
5612367f3f
|
@ -0,0 +1,31 @@
|
||||||
|
FROM sommersoft/pyenv-pytest:latest
|
||||||
|
|
||||||
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
|
|
||||||
|
# Add mysql apt repository
|
||||||
|
RUN set -ex; \
|
||||||
|
# gpg: key 5072E1F5: public key "MySQL Release Engineering <mysql-build@oss.oracle.com>" imported
|
||||||
|
key='859BE8D7C586F538430B19C2467B942D3A79BD29'; \
|
||||||
|
export GNUPGHOME="$(mktemp -d)"; \
|
||||||
|
#gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \
|
||||||
|
for server in ha.pool.sks-keyservers.net \
|
||||||
|
hkp://p80.pool.sks-keyservers.net:80 \
|
||||||
|
keyserver.ubuntu.com \
|
||||||
|
hkp://keyserver.ubuntu.com:80 \
|
||||||
|
pgp.mit.edu; do \
|
||||||
|
gpg --keyserver "$server" --recv-keys "$key" && break || echo "Trying new keyserver..."; \
|
||||||
|
done; \
|
||||||
|
gpg --batch --export "$key" > /etc/apt/trusted.gpg.d/mysql.gpg; \
|
||||||
|
gpgconf --kill all; \
|
||||||
|
rm -rf "$GNUPGHOME"; \
|
||||||
|
apt-key list > /dev/null
|
||||||
|
RUN echo 'deb http://repo.mysql.com/apt/debian/ buster mysql-8.0' > /etc/apt/sources.list.d/mysql.list
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install --no-install-recommends -y make build-essential libssl-dev zlib1g-dev \
|
||||||
|
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev \
|
||||||
|
libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
|
||||||
|
|
||||||
|
RUN apt-get install -y postgresql-client mysql-client
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/entrypoint.sh" ]
|
|
@ -0,0 +1,78 @@
|
||||||
|
version: "3"
|
||||||
|
services:
|
||||||
|
base_nodb:
|
||||||
|
build: .
|
||||||
|
environment:
|
||||||
|
- DS_NAME
|
||||||
|
- DS_YAML
|
||||||
|
- DS_JOBS
|
||||||
|
- DS_MATRIX_EXCLUDE
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: /home/runner/work/pytest/pytest
|
||||||
|
target: /pytest
|
||||||
|
volume:
|
||||||
|
nocopy: true
|
||||||
|
profiles:
|
||||||
|
- nodb
|
||||||
|
|
||||||
|
base_postgres:
|
||||||
|
build: .
|
||||||
|
environment:
|
||||||
|
- DS_NAME
|
||||||
|
- DS_YAML
|
||||||
|
- DS_JOBS
|
||||||
|
- DS_MATRIX_EXCLUDE
|
||||||
|
- TEST_DB_USER=$USER
|
||||||
|
- TEST_DB_PASSWORD=pytest_djang0
|
||||||
|
- TEST_DB_HOST=postgres_db
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: /home/runner/work/pytest/pytest
|
||||||
|
target: /pytest
|
||||||
|
volume:
|
||||||
|
nocopy: true
|
||||||
|
depends_on:
|
||||||
|
- postgres_db
|
||||||
|
profiles:
|
||||||
|
- postgres
|
||||||
|
postgres_db:
|
||||||
|
image: "postgres:latest"
|
||||||
|
environment:
|
||||||
|
- POSTGRES_PASSWORD=pytest_djang0
|
||||||
|
- POSTGRES_USER=$USER
|
||||||
|
volumes:
|
||||||
|
- /etc/passwd:/etc/passwd:ro
|
||||||
|
- ./data/db:/var/lib/postgresql/data
|
||||||
|
profiles:
|
||||||
|
- postgres
|
||||||
|
|
||||||
|
base_mysql:
|
||||||
|
build: .
|
||||||
|
environment:
|
||||||
|
- DS_NAME
|
||||||
|
- DS_YAML
|
||||||
|
- DS_JOBS
|
||||||
|
- DS_MATRIX_EXCLUDE
|
||||||
|
- TEST_DB_USER=root
|
||||||
|
- TEST_DB_PASSWORD=root
|
||||||
|
- TEST_DB_HOST=mysql_db
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: /home/runner/work/pytest/pytest
|
||||||
|
target: /pytest
|
||||||
|
volume:
|
||||||
|
nocopy: true
|
||||||
|
depends_on:
|
||||||
|
- mysql_db
|
||||||
|
profiles:
|
||||||
|
- mysql
|
||||||
|
mysql_db:
|
||||||
|
image: "mysql:latest"
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=root
|
||||||
|
volumes:
|
||||||
|
- ./data/db:/var/lib/mysql
|
||||||
|
profiles:
|
||||||
|
- mysql
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
python3.9 -m pip install --no-cache-dir pyyaml sh
|
||||||
|
|
||||||
|
cd /pytest
|
||||||
|
python3.9 -u -m testing.downstream_testing.downstream_runner $DS_NAME $DS_YAML $DS_JOBS --matrix-exclude $DS_MATRIX_EXCLUDE
|
Loading…
Reference in New Issue