X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=.github%2Fworkflows%2Frun-tests.yaml;h=baafe4923d2c7badbb4e12f790335f62c8e9ca94;hb=dc96c20fa2ed56c469d8538c03bc193ce80a7c44;hp=6fb882ef91079b36a83cd0e033a4e282a90d50e6;hpb=596c2e76a8806ed650116c082730439c4965b08a;p=sqlconvert.git diff --git a/.github/workflows/run-tests.yaml b/.github/workflows/run-tests.yaml index 6fb882e..baafe49 100644 --- a/.github/workflows/run-tests.yaml +++ b/.github/workflows/run-tests.yaml @@ -7,26 +7,48 @@ jobs: strategy: matrix: - python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9] + os: [ubuntu-latest, windows-latest] + python-version: ["2.7", "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] + 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 }} - runs-on: ubuntu-latest + name: Python ${{ matrix.python-version }} @ ${{ matrix.os-name }} + runs-on: ${{ matrix.os }} steps: + + # Setup PostgreSQL + - uses: ankane/setup-postgres@v1 + - name: Setup Postgres user + run: | + sudo -u postgres psql --command="ALTER USER runner CREATEDB PASSWORD 'test'" + if: ${{ runner.os == 'Linux' }} + - name: Setup Postgres user + run: | + psql --command="CREATE USER runner CREATEDB PASSWORD 'test'" + if: ${{ runner.os == 'Windows' }} + + # Setup Python/pip - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Cache pip - uses: actions/cache@v2 + uses: actions/cache@v3 with: - # This path is specific to Linux/Unix - path: ~/.cache/pip + path: ${{ matrix.pip-cache-path }} key: ${{ runner.os }}-pip + + # Setup tox - name: Install dependencies run: | python --version - python -m pip install --upgrade "pip<21.0" "setuptools<45" wheel + python -m pip install --upgrade pip setuptools wheel pip --version pip install --upgrade virtualenv tox - name: Set TOXENV @@ -35,12 +57,20 @@ jobs: pyver = '%d%d' % tuple(sys.version_info[:2]) toxenv = 'py%s' % pyver toxenv += ',py%s-sqlite' % pyver + if os.name == 'nt': + toxenv += '-w32' + toxenv += ',py%s-postgres' % pyver if os.name == 'posix': toxenv += ',py%s-flake8' % pyver + elif os.name == 'nt': + toxenv += '-w32' with open(os.environ['GITHUB_ENV'], 'a') as f: f.write('TOXENV=' + toxenv + '\n') + f.write('PGPASSWORD=test\n') shell: python + - name: Run tox run: | python -c "import os; print(os.environ['TOXENV'])" + tox --version tox