mirror of
https://github.com/launchbadge/sqlx
synced 2024-11-10 06:24:16 +00:00
a6a2af115e
With MariaDB 10.3 EOL it seems prudent to include the latest 10.11 LTS release in the CI tests. To catch #1664 sort of issues prior to release, add a container image test for mariadb that contains the finished pre-release code changes (and container changes) to ensure that compatibilty is maintianed. When server code hits the branch associated with this tag it is considered finished by its server developers and has passes CI so no regressions are expected, but it wouldn't hurt to have CI in other systems testing it too. Since MySQL has fixed the regression that caused #1664 this puts it back to their 8.0 release tag. Append the :z tag to the docker compose volume mounts so on selinux systems enough permissions occur for the volume to be able to read the volume contents.
372 lines
12 KiB
YAML
372 lines
12 KiB
YAML
version: "3"
|
|
|
|
services:
|
|
#
|
|
# MySQL 8.x, 5.7.x
|
|
# https://www.mysql.com/support/supportedplatforms/database.html
|
|
#
|
|
|
|
mysql_8:
|
|
image: mysql:8.0
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MYSQL_ROOT_HOST: '%'
|
|
MYSQL_ROOT_PASSWORD: password
|
|
MYSQL_DATABASE: sqlx
|
|
|
|
mysql_8_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: mysql/Dockerfile
|
|
args:
|
|
IMAGE: mysql:8.0
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MYSQL_ROOT_HOST: '%'
|
|
MYSQL_DATABASE: sqlx
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: 1
|
|
|
|
mysql_5_7:
|
|
image: mysql:5.7
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MYSQL_ROOT_HOST: '%'
|
|
MYSQL_ROOT_PASSWORD: password
|
|
MYSQL_DATABASE: sqlx
|
|
|
|
mysql_5_7_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: mysql/Dockerfile
|
|
args:
|
|
IMAGE: mysql:5.7
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MYSQL_ROOT_HOST: '%'
|
|
MYSQL_DATABASE: sqlx
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: 1
|
|
|
|
#
|
|
# MariaDB 10.11, 10.6, 10.5, 10.4
|
|
# https://mariadb.org/about/#maintenance-policy
|
|
#
|
|
|
|
mariadb_10_11:
|
|
image: mariadb:10.11
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: password
|
|
MARIADB_DATABASE: sqlx
|
|
|
|
mariadb_10_11_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: mysql/Dockerfile
|
|
args:
|
|
IMAGE: mariadb:10.11
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MARIADB_DATABASE: sqlx
|
|
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 1
|
|
|
|
mariadb_10_6:
|
|
image: mariadb:10.6
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: password
|
|
MARIADB_DATABASE: sqlx
|
|
|
|
mariadb_10_6_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: mysql/Dockerfile
|
|
args:
|
|
IMAGE: mariadb:10.6
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MARIADB_DATABASE: sqlx
|
|
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 1
|
|
|
|
mariadb_10_5:
|
|
image: mariadb:10.5
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: password
|
|
MARIADB_DATABASE: sqlx
|
|
|
|
mariadb_10_5_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: mysql/Dockerfile
|
|
args:
|
|
IMAGE: mariadb:10.5
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MARIADB_DATABASE: sqlx
|
|
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 1
|
|
|
|
mariadb_10_4:
|
|
image: mariadb:10.4
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: password
|
|
MARIADB_DATABASE: sqlx
|
|
|
|
mariadb_10_4_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: mysql/Dockerfile
|
|
args:
|
|
IMAGE: mariadb:10.4
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MARIADB_DATABASE: sqlx
|
|
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 1
|
|
|
|
# Ensure MariaDB upstream isn't regressing before release
|
|
# https://mariadb.org/new-service-quay-io-mariadb-foundation-mariadb-devel/
|
|
mariadb_verylatest:
|
|
image: quay.io/mariadb-foundation/mariadb-devel:verylatest
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: password
|
|
MARIADB_DATABASE: sqlx
|
|
|
|
mariadb_verylatest_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: mysql/Dockerfile
|
|
args:
|
|
IMAGE: quay.io/mariadb-foundation/mariadb-devel:verylatest
|
|
volumes:
|
|
- "./mysql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
ports:
|
|
- 3306
|
|
environment:
|
|
MARIADB_DATABASE: sqlx
|
|
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 1
|
|
#
|
|
# PostgreSQL 15.x, 14.x, 13.x, 12.x, 11.x
|
|
# https://www.postgresql.org/support/versioning/
|
|
#
|
|
|
|
postgres_15:
|
|
build:
|
|
context: .
|
|
dockerfile: postgres/Dockerfile
|
|
args:
|
|
VERSION: 15
|
|
ports:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_DB: sqlx
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: password
|
|
POSTGRES_HOST_AUTH_METHOD: scram-sha-256
|
|
POSTGRES_INITDB_ARGS: --auth-host=scram-sha-256
|
|
volumes:
|
|
- "./postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
# Loading `pg_stat_statements` should serve as a regression test for:
|
|
# https://github.com/launchbadge/sqlx/issues/2622
|
|
command: >
|
|
-c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key -c shared_preload_libraries=pg_stat_statements
|
|
|
|
postgres_15_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: postgres/Dockerfile
|
|
args:
|
|
VERSION: 15
|
|
ports:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_DB: sqlx
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
POSTGRES_INITDB_ARGS: --auth-host=trust
|
|
volumes:
|
|
- "./postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
command: >
|
|
-c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key -c ssl_ca_file=/var/lib/postgresql/ca.crt -c hba_file=/var/lib/postgresql/pg_hba.conf
|
|
|
|
postgres_14:
|
|
build:
|
|
context: .
|
|
dockerfile: postgres/Dockerfile
|
|
args:
|
|
VERSION: 14
|
|
ports:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_DB: sqlx
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: password
|
|
POSTGRES_HOST_AUTH_METHOD: scram-sha-256
|
|
POSTGRES_INITDB_ARGS: --auth-host=scram-sha-256
|
|
volumes:
|
|
- "./postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
command: >
|
|
-c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key
|
|
|
|
postgres_14_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: postgres/Dockerfile
|
|
args:
|
|
VERSION: 14
|
|
ports:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_DB: sqlx
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
POSTGRES_INITDB_ARGS: --auth-host=trust
|
|
volumes:
|
|
- "./postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
command: >
|
|
-c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key -c ssl_ca_file=/var/lib/postgresql/ca.crt -c hba_file=/var/lib/postgresql/pg_hba.conf
|
|
|
|
postgres_13:
|
|
build:
|
|
context: .
|
|
dockerfile: postgres/Dockerfile
|
|
args:
|
|
VERSION: 13
|
|
ports:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_DB: sqlx
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: password
|
|
POSTGRES_HOST_AUTH_METHOD: scram-sha-256
|
|
POSTGRES_INITDB_ARGS: --auth-host=scram-sha-256
|
|
volumes:
|
|
- "./postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
command: >
|
|
-c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key
|
|
|
|
postgres_13_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: postgres/Dockerfile
|
|
args:
|
|
VERSION: 13
|
|
ports:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_DB: sqlx
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
POSTGRES_INITDB_ARGS: --auth-host=trust
|
|
volumes:
|
|
- "./postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
command: >
|
|
-c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key -c ssl_ca_file=/var/lib/postgresql/ca.crt -c hba_file=/var/lib/postgresql/pg_hba.conf
|
|
|
|
postgres_12:
|
|
build:
|
|
context: .
|
|
dockerfile: postgres/Dockerfile
|
|
args:
|
|
VERSION: 12
|
|
ports:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_DB: sqlx
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: password
|
|
POSTGRES_HOST_AUTH_METHOD: scram-sha-256
|
|
POSTGRES_INITDB_ARGS: --auth-host=scram-sha-256
|
|
volumes:
|
|
- "./postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
command: >
|
|
-c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key
|
|
|
|
postgres_12_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: postgres/Dockerfile
|
|
args:
|
|
VERSION: 12.3
|
|
ports:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_DB: sqlx
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
POSTGRES_INITDB_ARGS: --auth-host=trust
|
|
volumes:
|
|
- "./postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
command: >
|
|
-c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key -c ssl_ca_file=/var/lib/postgresql/ca.crt -c hba_file=/var/lib/postgresql/pg_hba.conf
|
|
|
|
postgres_11:
|
|
build:
|
|
context: .
|
|
dockerfile: postgres/Dockerfile
|
|
args:
|
|
VERSION: 11
|
|
ports:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_DB: sqlx
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: password
|
|
POSTGRES_HOST_AUTH_METHOD: scram-sha-256
|
|
POSTGRES_INITDB_ARGS: --auth-host=scram-sha-256
|
|
volumes:
|
|
- "./postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
command: >
|
|
-c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key
|
|
|
|
postgres_11_client_ssl:
|
|
build:
|
|
context: .
|
|
dockerfile: postgres/Dockerfile
|
|
args:
|
|
VERSION: 11
|
|
ports:
|
|
- 5432
|
|
environment:
|
|
POSTGRES_DB: sqlx
|
|
POSTGRES_HOST_AUTH_METHOD: trust
|
|
POSTGRES_INITDB_ARGS: --auth-host=trust
|
|
volumes:
|
|
- "./postgres/setup.sql:/docker-entrypoint-initdb.d/setup.sql:z"
|
|
command: >
|
|
-c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key -c ssl_ca_file=/var/lib/postgresql/ca.crt -c hba_file=/var/lib/postgresql/pg_hba.conf
|