name: Run tests on: [push, pull_request] jobs: run-tests: strategy: matrix: #os: [ubuntu-latest, windows-latest] os: [windows-latest] #python-version: ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] python-version: ["3.7"] include: #- os: ubuntu-latest # os-name: Linux # pip-cache-path: ~/.cache/pip - os: windows-latest os-name: w32 pip-cache-path: ~\AppData\Local\pip\Cache name: Python ${{ matrix.python-version }} @ ${{ matrix.os-name }} runs-on: ${{ matrix.os }} steps: # Setup MySQL #- uses: ankane/setup-mysql@v1 # Setup PostgreSQL #- uses: ankane/setup-postgres@v1 #- name: Setup Postgres user # run: | # sudo -u postgres psql --command="ALTER USER runner CREATEDB ENCRYPTED PASSWORD 'test'" # if: ${{ runner.os == 'Linux' }} #- name: Setup Postgres user # run: | # psql --command="CREATE USER runner CREATEDB ENCRYPTED PASSWORD 'test'" # if: ${{ runner.os == 'Windows' }} # Setup MS SQL - uses: ankane/setup-sqlserver@v1 with: accept-eula: true - name: tsql run: | sudo apt-get update --yes sudo apt-get install --yes freetds-bin echo "SELECT @@VERSION" | tsql -H localhost -p 1433 -U sa -P 'YourStrong!Passw0rd' if: ${{ runner.os == 'Linux' }} - name: Enable TCP for MSSQL run: | [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SqlWmiManagement') $wmi = New-Object 'Microsoft.SqlServer.Management.Smo.Wmi.ManagedComputer' localhost $tcp = $wmi.ServerInstances['MSSQLSERVER'].ServerProtocols['Tcp'] $tcp.IsEnabled = $true $tcp.Alter() Restart-Service -Name MSSQLSERVER -Force shell: powershell if: ${{ runner.os == 'Windows' }} # Setup Python/pip - uses: actions/checkout@v2 - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Cache pip uses: actions/cache@v3 with: path: ${{ matrix.pip-cache-path }} key: ${{ runner.os }}-pip # Setup tox - name: Install dependencies run: | python --version python -m pip install --upgrade pip setuptools wheel pip --version pip install --upgrade virtualenv tox - name: Set PYVER run: | import os, sys pyver = '%d%d' % tuple(sys.version_info[:2]) with open(os.environ['GITHUB_ENV'], 'a') as f: f.write('PYVER=' + pyver + '\n') f.write('PGPASSWORD=test\n') shell: python - name: tox version run: | tox --version - name: Run tox @ Linux run: | #devscripts/tox-select-envs $PYVER-mysql #devscripts/tox-select-envs $PYVER-postgres #devscripts/tox-select-envs $PYVER-sqlite devscripts/tox-select-envs $PYVER-mssql devscripts/tox-select-envs $PYVER-pytds devscripts/tox-select-envs $PYVER-flake8 if: ${{ runner.os == 'Linux' }} - name: Run tox @ w32 run: | #devscripts\tox-select-envs.cmd %PYVER%-mysql #devscripts\tox-select-envs.cmd %PYVER%-postgres #devscripts\tox-select-envs.cmd %PYVER%-sqlite devscripts\tox-select-envs.cmd %PYVER%-mssql devscripts\tox-select-envs.cmd %PYVER%-pytds if: ${{ runner.os == 'Windows' }}