Skip to content

Commit

Permalink
CI updates
Browse files Browse the repository at this point in the history
- test python 3.10 - fixes #160
- move the docs/lint/typing tasks to 3.9 from 3.7/3.8
- include 3.9 in coverage
- use 3.9 as the base python for cases where only one version is needed
- restore numpy testing on Python 3.6-3.9 - fixes #162
- test on macOS and windows - fixes #163
- Add key development tools to the DEV_TOOLS requirements
- Support ASDF for interactive tox testing
- Update the CI branches to include main - part of #159
  • Loading branch information
offbyone committed Mar 7, 2021
1 parent aa498af commit f41c5d3
Show file tree
Hide file tree
Showing 13 changed files with 275 additions and 32 deletions.
22 changes: 11 additions & 11 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,29 @@ name: CI

on:
push:
branches: ["master", "ci-testing"]
branches: ["main", "master", "ci-testing"]

pull_request:
branches: ["master"]
branches: ["main", "master"]

workflow_dispatch:

jobs:
tests:
name: "Python ${{ matrix.python-version }}"
runs-on: "ubuntu-latest"
name: "Python ${{ matrix.python-version }} / ${{ matrix.os }}"
runs-on: "${{ matrix.os }}"
env:
USING_COVERAGE: "3.7,3.8"
USING_COVERAGE: "3.7,3.8,3.9"

strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version:
- "3.6"
- "3.7"
- "3.8"
- "3.9"
- "3.10.0-alpha.5"
- "pypy2"
# disabled due to one failing test
# - "pypy3"
Expand All @@ -35,7 +37,6 @@ jobs:
python-version: "${{ matrix.python-version }}"
- name: "Install dependencies"
run: |
set -xe
python -VV
python -msite
python -m pip install --upgrade pip setuptools wheel
Expand All @@ -52,7 +53,6 @@ jobs:

- name: "Combine coverage"
run: |
set -xe
python -m pip install coverage[toml]
python -m coverage combine
python -m coverage xml
Expand All @@ -71,7 +71,7 @@ jobs:
- uses: "actions/checkout@v2"
- uses: "actions/setup-python@v1"
with:
python-version: "3.8"
python-version: "3.9"

- name: "Install pep517 and twine"
run: "python -m pip install pep517 twine"
Expand All @@ -87,14 +87,14 @@ jobs:
matrix:
os: ["ubuntu-latest", "windows-latest", "macos-latest"]

name: "Verify dev env"
name: "Verify dev env / ${{ matrix.os }}"
runs-on: "${{ matrix.os }}"

steps:
- uses: "actions/checkout@v2"
- uses: "actions/setup-python@v1"
- uses: "actions/setup-python@v2"
with:
python-version: "3.8"
python-version: "3.9"
- name: "Install in dev mode"
run: "python -m pip install -e .[dev]"
- name: "Import package"
Expand Down
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
include LICENSE.txt *.rst *.md *.toml *.yml *.yaml *.ini
include requirements-*
include requirements*
graft .github

# Tests
Expand Down
4 changes: 2 additions & 2 deletions changelog.d/135.bugfix.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Test coverage is now submitted to codecov.io.
* Test coverage is now submitted to codecov.io.

Fixed by #150
Fixed by #150
2 changes: 1 addition & 1 deletion changelog.d/141.feature.rst
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Adds the tests to the sdist. Fixed by #150
* Adds the tests to the sdist. Fixed by #150
8 changes: 4 additions & 4 deletions changelog.d/150.misc.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Revamped the build system significantly.
* Revamped the build system significantly.

* Now uses github actions instead of Travis
* Now uses codecov.io instead of coveralls
* Generally modernized it a bunch
- Now uses github actions instead of Travis
- Now uses codecov.io instead of coveralls
- Generally modernized it a bunch
1 change: 1 addition & 0 deletions changelog.d/159.misc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Changed the development branch from master to main
1 change: 1 addition & 0 deletions changelog.d/160.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Update the CI to test Python 3.10
1 change: 1 addition & 0 deletions changelog.d/162.misc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Restore numpy testing for all modern Pythons
1 change: 1 addition & 0 deletions changelog.d/163.misc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Verify hamcrest testing on macos and windows
1 change: 1 addition & 0 deletions requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.[dev]
204 changes: 204 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
#
# This file is autogenerated by pip-compile
# To update, run:
#
# pip-compile --no-emit-index-url --no-emit-trusted-host requirements.in
#
alabaster==0.7.12
# via sphinx
apipkg==1.5
# via execnet
appdirs==1.4.4
# via
# black
# virtualenv
attrs==20.3.0
# via
# pytest
# pytest-mypy
babel==2.9.0
# via sphinx
black==20.8b1
# via pyhamcrest
bleach==3.2.1
# via readme-renderer
certifi==2020.11.8
# via requests
chardet==3.0.4
# via requests
click==7.1.2
# via
# black
# towncrier
colorama==0.4.4
# via twine
coverage==5.3
# via pyhamcrest
distlib==0.3.1
# via virtualenv
docutils==0.16
# via
# readme-renderer
# sphinx
execnet==1.7.1
# via pytest-xdist
filelock==3.0.12
# via
# pytest-mypy
# tox
# virtualenv
flake8==3.8.4
# via pyhamcrest
idna==2.10
# via requests
imagesize==1.2.0
# via sphinx
incremental==17.5.0
# via towncrier
iniconfig==1.1.1
# via pytest
jinja2==2.11.2
# via
# sphinx
# towncrier
keyring==21.5.0
# via twine
markupsafe==1.1.1
# via jinja2
mccabe==0.6.1
# via flake8
mypy-extensions==0.4.3
# via
# black
# mypy
mypy==0.790
# via pytest-mypy
packaging==20.4
# via
# bleach
# pytest
# pytest-sugar
# sphinx
# tox
pathspec==0.8.1
# via black
pkginfo==1.6.1
# via twine
pluggy==0.13.1
# via
# pytest
# tox
py==1.9.0
# via
# pytest
# pytest-forked
# tox
pycodestyle==2.6.0
# via flake8
pyflakes==2.2.0
# via flake8
pygments==2.7.2
# via
# readme-renderer
# sphinx
file:///Users/offby1/projects/PyHamcrest
# via -r requirements.in
pyparsing==2.4.7
# via packaging
pytest-forked==1.3.0
# via pytest-xdist
pytest-mypy==0.8.0
# via pyhamcrest
pytest-sugar==0.9.4
# via pyhamcrest
pytest-xdist==2.1.0
# via pyhamcrest
pytest==6.1.2
# via
# pyhamcrest
# pytest-forked
# pytest-mypy
# pytest-sugar
# pytest-xdist
pytz==2020.4
# via babel
readme-renderer==28.0
# via twine
regex==2020.11.13
# via black
requests-toolbelt==0.9.1
# via twine
requests==2.25.0
# via
# requests-toolbelt
# sphinx
# twine
rfc3986==1.4.0
# via twine
six==1.15.0
# via
# bleach
# packaging
# readme-renderer
# tox
# virtualenv
snowballstemmer==2.0.0
# via sphinx
sphinx-rtd-theme==0.5.0
# via pyhamcrest
sphinx==3.3.1
# via
# pyhamcrest
# sphinx-rtd-theme
sphinxcontrib-applehelp==1.0.2
# via sphinx
sphinxcontrib-devhelp==1.0.2
# via sphinx
sphinxcontrib-htmlhelp==1.0.3
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-qthelp==1.0.3
# via sphinx
sphinxcontrib-serializinghtml==1.1.4
# via sphinx
termcolor==1.1.0
# via pytest-sugar
toml==0.10.2
# via
# black
# pytest
# towncrier
# tox
towncrier==19.2.0
# via pyhamcrest
tox-asdf==0.1.0
# via pyhamcrest
tox-pyenv==1.1.0
# via pyhamcrest
tox==3.20.1
# via
# pyhamcrest
# tox-asdf
# tox-pyenv
tqdm==4.53.0
# via twine
twine==3.2.0
# via pyhamcrest
typed-ast==1.4.1
# via
# black
# mypy
typing-extensions==3.7.4.3
# via
# black
# mypy
urllib3==1.26.2
# via requests
virtualenv==20.2.1
# via tox
webencodings==0.5.1
# via bleach

# The following packages are considered to be unsafe in a requirements file:
# setuptools
12 changes: 11 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,17 @@ def read(fname):
REQUIREMENTS_DOCS = ["sphinx~=3.0", "sphinx_rtd_theme~=0.4"]
TESTS_BASIC = ["pytest>=5.0", "pytest-sugar", "coverage"]
TESTS_NUMPY = ["numpy"]
DEV_TOOLS = ["towncrier", "twine", "pytest-xdist", "pytest-mypy"]
DEV_TOOLS = [
"towncrier",
"twine",
"pytest-xdist",
"pytest-mypy",
"flake8",
"black",
"tox",
"tox-pyenv",
"tox-asdf",
]


params = dict(
Expand Down
Loading

0 comments on commit f41c5d3

Please sign in to comment.