MYSQL_ROOT_PASSWORD: root-${{ github.run_id }}
services:
postgres:
- image: postgres:17
+ image: postgres:18
env:
POSTGRES_DB: ${{ env.DATABASE_NAME }}
POSTGRES_PASSWORD: ${{ env.DATABASE_PASSWORD }}
--health-timeout 5s
--health-retries 5
mysql:
- image: mysql:8.4
+ image: mysql:9.7
env:
MYSQL_DATABASE: ${{ env.DATABASE_NAME }}
MYSQL_USER: ${{ env.DATABASE_USER }}
- name: Modify database user permissions (mysql)
if: ${{ matrix.db == 'mysql' }}
run: |
- mysql -h 127.0.0.1 -e "GRANT ALL ON \`test\\_${DATABASE_NAME}%\`.* to '${DATABASE_USER}'@'%';" \
- -uroot -p${MYSQL_ROOT_PASSWORD}
+ mysql -h 127.0.0.1 -uroot -p${MYSQL_ROOT_PASSWORD} -e \
+ "GRANT ALL ON \`test\\_${DATABASE_NAME}%\`.* TO '${DATABASE_USER}'@'%';
+ GRANT PROCESS, SESSION_VARIABLES_ADMIN ON *.* TO '${DATABASE_USER}'@'%';
+ FLUSH PRIVILEGES;"
- name: Run unit tests (via tox)
run: tox
docs:
- name: Modify database user permissions (mysql)
if: ${{ matrix.db == 'mysql' }}
run: |
- docker compose exec -T -- db \
- sh -c "exec mysql -uroot -p\"\${MYSQL_ROOT_PASSWORD}\" -e \"GRANT ALL ON \\\`test\\_\${MYSQL_DATABASE}%\\\`.* to '\${MYSQL_USER}'@'%'; FLUSH PRIVILEGES;\""
+ docker compose exec -T -- db sh -c \
+ "exec mysql -uroot -p\"\${MYSQL_ROOT_PASSWORD}\" -e \
+ \"GRANT ALL ON \\\`test\\_\${MYSQL_DATABASE}%\\\`.* TO '\${MYSQL_USER}'@'%';
+ GRANT PROCESS, SESSION_VARIABLES_ADMIN ON *.* TO '\${MYSQL_USER}'@'%';
+ FLUSH PRIVILEGES;\""
- name: Run unittest
run: docker compose run -T --rm web tox
- name: Test normal startup