Merge pull request #266 from eclecticiq/update-gh-actions #181
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tox | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
jobs: | |
test: | |
runs-on: ubuntu-22.04 | |
strategy: | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11", "pypy-3.10"] | |
services: | |
mariadb: | |
image: mariadb:10.11 | |
env: | |
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: yes | |
MARIADB_DATABASE: test | |
ports: | |
- 3307:3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
mysql: | |
image: mysql:8.1 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: test | |
ports: | |
- 3306:3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
postgres: | |
image: postgres:15.4 | |
env: | |
POSTGRES_PASSWORD: test | |
POSTGRES_USER: test | |
ports: | |
- 5432:5432 | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install lxml dependencies | |
if: ${{ matrix.python-version == 'pypy-3.10' }} | |
run: | | |
sudo apt-get install libxml2-dev libxslt-dev | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install tox tox-gh-actions | |
- name: Verify MariaDB connection | |
run: | | |
while ! mysqladmin ping -h"127.0.0.1" -P"3307" --silent; do | |
sleep 1 | |
done | |
- name: Verify mysql connection | |
run: | | |
while ! mysqladmin ping -h"127.0.0.1" -P"3306" --silent; do | |
sleep 1 | |
done | |
- name: Verify postgres connection | |
run: | | |
while ! pg_isready -h"127.0.0.1" --quiet; do | |
sleep 1 | |
done | |
- name: Test with tox | |
run: tox --recreate |