X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=.github%2Fworkflows%2Frun-tests.yaml;h=aae7413f97d3d4b35eb7fa73a8abe1aaa937fc29;hb=6c4efb7843209db6963d5d41d979df37f52c01b8;hp=0f928d21b75771653b51c14b29b3d7b50655301e;hpb=95f0ca216dff246dbcefd897ecef8f63ef297680;p=sqlconvert.git diff --git a/.github/workflows/run-tests.yaml b/.github/workflows/run-tests.yaml index 0f928d2..aae7413 100644 --- a/.github/workflows/run-tests.yaml +++ b/.github/workflows/run-tests.yaml @@ -7,28 +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"] + 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 @@ -37,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 - toxenv += ',py%s-flake8' % 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