name: ci on: push: branches-ignore: - main pull_request: branches-ignore: - main jobs: ci: runs-on: ubuntu-latest services: postgres: image: postgres:latest ports: - 5432:5432 env: POSTGRES_PASSWORD: 123456 POSTGRES_USER: postgres options: --health-cmd=pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 strategy: matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] steps: - name: Start MySQL run: sudo systemctl start mysql.service - uses: actions/cache@v4 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('**/poetry.lock') }} restore-keys: | ${{ runner.os }}-pip- - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install and configure Poetry run: | pip install -U pip poetry poetry config virtualenvs.create false - name: CI env: MYSQL_PASS: root MYSQL_HOST: 127.0.0.1 MYSQL_PORT: 3306 POSTGRES_PASS: 123456 POSTGRES_HOST: 127.0.0.1 POSTGRES_PORT: 5432 run: make ci