name: mycli on: pull_request: paths-ignore: - '**.md' jobs: linux: strategy: matrix: python-version: ['3.7', '3.8', '3.9', '3.10'] include: - python-version: '3.7' os: ubuntu-18.04 # MySQL 5.7.32 - python-version: '3.8' os: ubuntu-18.04 # MySQL 5.7.32 - python-version: '3.9' os: ubuntu-20.04 # MySQL 8.0.22 - python-version: '3.10' os: ubuntu-22.04 # MySQL 8.0.28 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Start MySQL run: | sudo /etc/init.d/mysql start - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements-dev.txt pip install --no-cache-dir -e . - name: Wait for MySQL connection run: | while ! mysqladmin ping --host=localhost --port=3306 --user=root --password=root --silent; do sleep 5 done - name: Pytest / behave env: PYTEST_PASSWORD: root PYTEST_HOST: 127.0.0.1 run: | ./setup.py test --pytest-args="--cov-report= --cov=mycli" - name: Lint run: | ./setup.py lint --branch=HEAD - name: Coverage run: | coverage combine coverage report codecov