Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: move to GitHub Actions #444

Merged
merged 126 commits into from
Apr 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
875a1d3
WIP: ci: use GitHub Actions
blueyed Apr 14, 2021
31d8737
TEST: no AppVeyor/Travis
blueyed Apr 14, 2021
d5cd8f2
TEST: GHA
blueyed Apr 14, 2021
f87f546
TEMP: .ci/report-coverage.sh: no "codecov -Z"
blueyed Apr 14, 2021
661649a
configure on.{push,pull_request}
blueyed Apr 14, 2021
f79470c
py38-coverage, checkqa
blueyed Apr 14, 2021
6700086
shorter name
blueyed Apr 14, 2021
3237a8b
TEMP: no --force-dep="$PYTEST"
blueyed Apr 14, 2021
69faccc
fix(tests): harden/fix xfail with test_continue_arg_with_error
blueyed Apr 2, 2021
a4364b3
fix(tests): test_python_m_pdb_uses_pdbpp_and_env
blueyed Apr 14, 2021
77578d7
jobs: pin, macos-11.0
blueyed Apr 14, 2021
44b6387
TEMP: codecov: no after_n_builds
blueyed Apr 14, 2021
a7accf9
macos-10.15
blueyed Apr 14, 2021
a78a460
cache: include matrix.os
blueyed Apr 14, 2021
9d071d0
full matrix
blueyed Apr 14, 2021
cf72bbc
setup.py: try version marker with setuptools_scm
blueyed Apr 2, 2021
734bd0d
py34: ubuntu-16.04
blueyed Apr 14, 2021
50c9324
s/pypy3/pypy-3.7
blueyed Apr 14, 2021
8385e3c
s/pypy/pypy-2.7
blueyed Apr 14, 2021
6d0a4c5
py34: windows
blueyed Apr 14, 2021
a0b8a38
setup tox: shell=bash for Windows
blueyed Apr 14, 2021
22f9e0b
matrix.pytest
blueyed Apr 14, 2021
15f3794
WIP: pip install -U pip (for py34)
blueyed Apr 14, 2021
d9dc0b3
fixup! matrix.pytest
blueyed Apr 14, 2021
71ede79
Revert "WIP: pip install -U pip (for py34)"
blueyed Apr 14, 2021
acab65c
TEST: setuptools_scm<6
blueyed Apr 14, 2021
d2c4489
massage pip-install for py34
blueyed Apr 14, 2021
a5dfc0a
simplify tox-run
blueyed Apr 14, 2021
7028687
fixup! massage pip-install for py34
blueyed Apr 14, 2021
d08f1fe
fixup! fixup! massage pip-install for py34
blueyed Apr 14, 2021
7a8e224
force-dep also with tox-install
blueyed Apr 14, 2021
d048fde
fixup! force-dep also with tox-install
blueyed Apr 14, 2021
f8bd7f8
defaults: run.shell=bash
blueyed Apr 14, 2021
1caf02d
py34: tox==3.14.0
blueyed Apr 14, 2021
8b280b3
TEST: Revert "py34: tox==3.14.0"
blueyed Apr 15, 2021
008a645
TEST: Revert "defaults: run.shell=bash"
blueyed Apr 15, 2021
a9f65cc
Revert "TEST: Revert "defaults: run.shell=bash""
blueyed Apr 15, 2021
6adc927
Revert "TEST: Revert "py34: tox==3.14.0""
blueyed Apr 15, 2021
c46e3bd
TEMP/TEST: no cache
blueyed Apr 15, 2021
5696788
Revert "TEMP/TEST: no cache"
blueyed Apr 15, 2021
0a016f5
TEST: py35: pin pip<19.2
blueyed Apr 15, 2021
5b49517
py34: no --durations with upstream tox
blueyed Apr 17, 2021
0fcba52
fixup! py34: no --durations with upstream tox
blueyed Apr 17, 2021
e7e00ad
doc
blueyed Apr 17, 2021
8f2e492
fixup! fixup! py34: no --durations with upstream tox
blueyed Apr 17, 2021
dc87997
fixup! fixup! fixup! py34: no --durations with upstream tox
blueyed Apr 17, 2021
5b43157
fixup! fixup! fixup! fixup! py34: no --durations with upstream tox
blueyed Apr 17, 2021
ac9918d
fixup! fixup! fixup! fixup! fixup! py34: no --durations with upstream…
blueyed Apr 17, 2021
b9d59bf
py34: install latest pip
blueyed Apr 17, 2021
7ae46d9
TEST: pyproject.toml: build-system
blueyed Apr 17, 2021
fcf74ff
Revert "TEST: setuptools_scm<6"
blueyed Apr 17, 2021
13d5dcf
pyproject.toml: sync with setup_requires
blueyed Apr 17, 2021
21a9899
Revert "pyproject.toml: sync with setup_requires"
blueyed Apr 17, 2021
a8c1191
setup.py: no setup_requires
blueyed Apr 17, 2021
c62f528
setup: remove use_scm_version=True
blueyed Apr 17, 2021
4f78d21
py35: use existing pip
blueyed Apr 17, 2021
5004943
py34: upgrade virtualenv
blueyed Apr 17, 2021
af60ca2
tox.ini: testenv: download=true
blueyed Apr 17, 2021
706aa03
TEMP: only py34, py35
blueyed Apr 17, 2021
dd463e0
Upgrade setuptools
blueyed Apr 17, 2021
d43e547
Revert "tox.ini: testenv: download=true"
blueyed Apr 17, 2021
6a6e23f
Revert "fix(tests): test_python_m_pdb_uses_pdbpp_and_env"
blueyed Apr 17, 2021
03573ca
Revert "TEMP: only py34, py35"
blueyed Apr 17, 2021
d46bb00
fix(tests): test_python_m_pdb_uses_pdbpp_and_env
blueyed Apr 17, 2021
d4ad9f5
TEST: virtualenv==20.4.3
blueyed Apr 17, 2021
fe7491d
Revert "Upgrade setuptools"
blueyed Apr 17, 2021
ab5debb
upgrade setuptools
blueyed Apr 17, 2021
de0ff1a
setuptools==42.0.2
blueyed Apr 17, 2021
968b3d1
rm pyproject.toml
blueyed Apr 17, 2021
900f4d8
Revert "setup.py: no setup_requires"
blueyed Apr 17, 2021
9fc705b
Revert "setup: remove use_scm_version=True"
blueyed Apr 17, 2021
7c33e30
git fetch --tags origin
blueyed Apr 17, 2021
f2f3537
git describe --tags
blueyed Apr 17, 2021
f30d517
TEMP: single job
blueyed Apr 17, 2021
ffa863e
git describe --tags --always
blueyed Apr 17, 2021
9894669
fetch-depth: 0
blueyed Apr 17, 2021
69ae8ec
Revert "fetch-depth: 0"
blueyed Apr 17, 2021
4fb9f0b
no fetch-depth
blueyed Apr 17, 2021
beeac7d
Revert "no fetch-depth"
blueyed Apr 17, 2021
94d4af2
fetch-depth: 1000
blueyed Apr 17, 2021
8a179f9
adjust ci config
blueyed Apr 18, 2021
ac16617
Revert "git describe --tags --always"
blueyed Apr 18, 2021
bc5c42d
Revert "git describe --tags"
blueyed Apr 18, 2021
8443cbc
Revert "fetch-depth: 1000"
blueyed Apr 18, 2021
a40d15b
Revert "git fetch --tags origin"
blueyed Apr 18, 2021
26dca57
pip-list before
blueyed Apr 18, 2021
255d779
TEMP: no special-case for py34
blueyed Apr 18, 2021
f93b1fa
cleanup TODO from revert of 3237a8b
blueyed Apr 18, 2021
fa9f615
test: sort env
blueyed Apr 18, 2021
3eaf052
Revert "TEMP: single job"
blueyed Apr 18, 2021
bbcb186
Revert "TEMP: no special-case for py34"
blueyed Apr 18, 2021
6b70e22
py34: install pip==19.1.1
blueyed Apr 18, 2021
cfa1fce
revisit version information section(s)
blueyed Apr 18, 2021
8462d49
TEST: Revert "TEMP: .ci/report-coverage.sh: no "codecov -Z""
blueyed Apr 19, 2021
a66727c
Revert "TEST: Revert "TEMP: .ci/report-coverage.sh: no "codecov -Z"""
blueyed Apr 19, 2021
cec9723
on: workflow_dispatch
blueyed Apr 19, 2021
25cc6e2
python -m site
blueyed Apr 19, 2021
9f30ee1
doc
blueyed Apr 19, 2021
68eb069
TEST: without setuptools_scm<6;python_version<'3.6'
blueyed Apr 19, 2021
d356340
single commands
blueyed Apr 19, 2021
ef47fe5
PY_COLORS: "1", no COLUMNS
blueyed Apr 19, 2021
a90815c
Merge branch 'test-ci-gha' into ci-gha
blueyed Apr 19, 2021
87b3656
run on ci-gha
blueyed Apr 19, 2021
dcb1a2b
Revert "run on ci-gha"
blueyed Apr 19, 2021
b9dab61
config: remove ci-gha
blueyed Apr 19, 2021
ec998ac
codecov: wait_for_ci: true
blueyed Apr 19, 2021
d7b357e
codecov: name: matrix.tox_env
blueyed Apr 19, 2021
d148b00
Revert "codecov: wait_for_ci: true"
blueyed Apr 19, 2021
96404ee
Revert "TEMP: codecov: no after_n_builds"
blueyed Apr 19, 2021
a9b274e
setup.py: revert setup_requires
blueyed Apr 23, 2021
bb93f57
TEST: failure
blueyed Apr 23, 2021
ead2b0d
Use codecov/codecov-action
blueyed Apr 23, 2021
0e8c455
tox.ini: passenv: PY_COLORS
blueyed Apr 23, 2021
96b8c6c
Revert "TEST: failure"
blueyed Apr 23, 2021
b64d6d0
rebuild
blueyed Apr 23, 2021
96b21a3
rebuild
blueyed Apr 23, 2021
53d3b4f
rebuild
blueyed Apr 23, 2021
21abd09
rebuild
blueyed Apr 23, 2021
fbfae27
rebuild
blueyed Apr 23, 2021
7297dda
rebuild
blueyed Apr 23, 2021
8fc3228
COLUMNS=120
blueyed Apr 27, 2021
1113108
tox: passenv: COLUMNS
blueyed Apr 27, 2021
3922c05
squash! COLUMNS=120
blueyed Apr 27, 2021
3df4e70
tests: expand expected_nl check (coverage)
blueyed Apr 30, 2021
59cb49f
doc
blueyed Apr 30, 2021
4826693
Revert "tests: expand expected_nl check (coverage)"
blueyed Apr 30, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 0 additions & 10 deletions .ci/report-coverage.sh

This file was deleted.

150 changes: 150 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
name: CI

on:
push:
branches:
- "master"
- "release-*"
pull_request:
branches:
- "master"
- "release-*"
workflow_dispatch:

env:
PYTEST_ADDOPTS: "-vv --cov-report=xml:coverage-ci.xml"
PIP_DISABLE_PIP_VERSION_CHECK: true

defaults:
run:
shell: bash

jobs:
tests:
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
include:
# Linux
- tox_env: "py39-ipython-coverage"
python: "3.9"
os: ubuntu-20.04
- tox_env: "py38-coverage"
python: "3.8"
os: ubuntu-20.04
- tox_env: "py37-coverage"
python: "3.7"
os: ubuntu-20.04
- tox_env: "py36-coverage"
python: "3.6"
os: ubuntu-20.04
- tox_env: "py35-coverage"
python: "3.5"
os: ubuntu-20.04

- tox_env: "py27-coverage"
python: "2.7"
os: ubuntu-20.04
pytest: "pytest @ git+https://github.com/blueyed/pytest@my-4.6-maintenance"

- tox_env: "pypy3-coverage"
python: "pypy-3.7"
os: ubuntu-20.04
- tox_env: "pypy-coverage"
python: "pypy-2.7"
os: ubuntu-20.04
pytest: "pytest @ git+https://github.com/blueyed/pytest@my-4.6-maintenance"

# macOS
- tox_env: "py37-coverage"
python: "3.7"
os: macos-10.15

# Windows
- tox_env: "py38-coverage"
python: "3.8"
os: windows-2019
- tox_env: "py34-coverage"
python: "3.4"
# Python 3.4 is only available on Windows.
# (https://github.com/actions/setup-python/issues/157#issuecomment-724152312)
os: windows-2019
pytest: "pytest @ git+https://github.com/blueyed/pytest@my-4.6-maintenance"
tox: tox==3.14.0 # tox 3.14.1 dropped support for py34.
tox_args: "-e py34-coverage" # no '--durations'.
- tox_env: "py27-coverage"
python: "2.7"
os: windows-2016
pytest: "pytest @ git+https://github.com/blueyed/pytest@my-4.6-maintenance"

# Generic
- tox_env: "checkqa"
python: "3.9"
os: ubuntu-20.04

steps:
- uses: actions/checkout@v2
with:
fetch-depth: 2000
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python }}

# Caching.
- name: set PY_CACHE_KEY
run: echo "PY_CACHE_KEY=$(python -c 'import hashlib, sys;print(hashlib.sha256(sys.version.encode()+sys.executable.encode()).hexdigest())')" >> $GITHUB_ENV
- name: Cache .tox
uses: actions/cache@v1
with:
path: ${{ github.workspace }}/.tox/${{ matrix.tox_env }}
key: "tox|${{ matrix.os }}|${{ matrix.tox_env }}|${{ env.PY_CACHE_KEY }}|${{ hashFiles('tox.ini', 'setup.*') }}"

- name: (Initial) version information/pinning
run: |
python -m site
python -m pip --version
python -m pip list
if [[ "${{ matrix.python }}" == "3.4" ]]; then
# Install latest available pip.
# 7.1.2 (installed) is too old to not install too new packages,
# including pip itself. 19.2 dropped support for Python 3.4.
python -m pip install -U pip==19.1.1
fi
python -m pip install -U setuptools==42.0.2
python -m pip install -U virtualenv==20.4.3

- name: Install tox
run: python -m pip install ${{ matrix.tox || 'git+https://github.com/blueyed/tox@master' }}

- name: Version information
run: python -m pip list

- name: Setup tox environment
env:
PYTEST: ${{ matrix.pytest || 'pytest @ git+https://github.com/blueyed/pytest@my-master' }}
TOX_ARGS: "${{ matrix.tox_args || format('--durations -e {0}', matrix.tox_env) }}"
run: python -m tox --notest -v $TOX_ARGS --force-dep="$PYTEST"

- name: Test
env:
COLUMNS: "90" # better alignment (working around https://github.com/blueyed/pytest/issues/491).
PY_COLORS: "1"
PYTEST: ${{ matrix.pytest || 'pytest @ git+https://github.com/blueyed/pytest@my-master' }}
# UTF-8 mode for Windows (https://docs.python.org/3/using/windows.html#utf-8-mode).
PYTHONUTF8: "1"
TOX_ARGS: "${{ matrix.tox_args || format('--durations -e {0}', matrix.tox_env) }}"
TOX_TESTENV_PASSENV: "PYTHONUTF8"
run: python -m tox -v $TOX_ARGS --force-dep="$PYTEST"

- name: Report coverage
if: always() && (contains(matrix.tox_env, '-coverage'))
uses: codecov/codecov-action@v1
with:
files: ./coverage-ci.xml
flags: ${{ runner.os }}
name: ${{ matrix.tox_env }}
fail_ci_if_error: true
verbose: true
109 changes: 0 additions & 109 deletions .travis.yml

This file was deleted.

21 changes: 0 additions & 21 deletions appveyor.yml

This file was deleted.

12 changes: 10 additions & 2 deletions testing/test_pdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -3956,7 +3956,13 @@ def fn():
# 6998: character maps to <undefined>.
# So we XFail this test on Windows.
@pytest.mark.xfail(
sys.platform == "win32",
(
sys.platform == "win32" and (
# bpo-41894: fixed in 3.10, backported to 3.9.1 and 3.8.7.
sys.version_info < (3, 8, 7) or
(sys.version_info[:2] == (3, 9) and sys.version_info < (3, 9, 1))
)
),
raises=UnicodeDecodeError,
strict=True,
reason=(
Expand Down Expand Up @@ -4306,7 +4312,9 @@ def test_python_m_pdb_uses_pdbpp_and_env(PDBPP_HIJACK_PDB, monkeypatch, tmpdir):
if PDBPP_HIJACK_PDB:
assert "(Pdb)" not in out
assert "(Pdb++)" in out
if sys.platform == 'win32' and sys.version_info < (3,): # XXX ???
if sys.platform == "win32" and (
sys.version_info < (3,) or sys.version_info >= (3, 5)
):
assert out.endswith("\n(Pdb++) " + os.linesep)
else:
assert out.endswith("\n(Pdb++) \n")
Expand Down
2 changes: 2 additions & 0 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ setenv =
coverage: PYTEST_ADDOPTS=--cov "--cov-report=xml:{toxinidir}/coverage.xml" --cov-report=term-missing {env:PYTEST_ADDOPTS:}
passenv =
CI
COLUMNS
PYTEST_ADDOPTS
PY_COLORS
TERM
commands = pytest {posargs}

Expand Down