From 38edc98fb97b5f89745a9626e01023953c4973ef Mon Sep 17 00:00:00 2001 From: Bert JW Regeer Date: Mon, 4 May 2020 00:29:25 -0700 Subject: Add github CI workflows --- .gitattributes | 5 +++ .github/workflows/ci-tests.yml | 88 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 .gitattributes create mode 100644 .github/workflows/ci-tests.yml diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..a446231f1 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,5 @@ +# Set the default behaviour, in case poeple don't have core.autocrlf set +* text=auto + +# Always lf, this file size is checked in a test +tests/fixtures/static/encoded.html text eol=lf diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml new file mode 100644 index 000000000..366c0ffcf --- /dev/null +++ b/.github/workflows/ci-tests.yml @@ -0,0 +1,88 @@ +name: Build and test + +on: + # Only on pushes to master or one of the release branches we build on push + push: + branches: + - master + - "[0-9].[0-9]+-branch" + tags: + # Build pull requests + pull_request: + +jobs: + test: + strategy: + matrix: + py: + - "3.5" + - "3.6" + - "3.7" + - "3.8" + - "pypy3" + os: + - "ubuntu-latest" + - "windows-latest" + - "macos-latest" + architecture: + - x64 + - x86 + + exclude: + # Linux and macOS don't have x86 python + - os: "ubuntu-latest" + architecture: x86 + - os: "macos-latest" + architecture: x86 + # PyPy3 on Windows doesn't seem to work + - os: "windows-latest" + py: "pypy3" + + name: "Python: ${{ matrix.py }}-${{ matrix.architecture }} on ${{ matrix.os }}" + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v2 + - name: Setup python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.py }} + architecture: ${{ matrix.architecture }} + - run: pip install tox + - name: Running tox + run: tox -e py + coverage: + runs-on: ubuntu-latest + name: Validate coverage + steps: + - uses: actions/checkout@v2 + - name: Setup python + uses: actions/setup-python@v1 + with: + python-version: 3.8 + architecture: x64 + - run: pip install tox + - run: tox -e py38,coverage + docs: + runs-on: ubuntu-latest + name: Build the documentation + steps: + - uses: actions/checkout@v2 + - name: Setup python + uses: actions/setup-python@v2 + with: + python-version: 3.8 + architecture: x64 + - run: pip install tox + - run: tox -e docs + lint: + runs-on: ubuntu-latest + name: Lint the package + steps: + - uses: actions/checkout@v2 + - name: Setup python + uses: actions/setup-python@v2 + with: + python-version: 3.8 + architecture: x64 + - run: pip install tox + - run: tox -e lint -- cgit v1.2.3 From c811e3d0e474c52131879c6e93bcb62f0f62ce84 Mon Sep 17 00:00:00 2001 From: Bert JW Regeer Date: Mon, 4 May 2020 00:49:15 -0700 Subject: Remove Travis and AppVeyor --- .travis.yml | 43 ------------------------------------------- appveyor.yml | 23 ----------------------- 2 files changed, 66 deletions(-) delete mode 100644 .travis.yml delete mode 100644 appveyor.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 57c8b935d..000000000 --- a/.travis.yml +++ /dev/null @@ -1,43 +0,0 @@ -# Wire up travis -language: python -sudo: false - -matrix: - include: - - python: 3.5 - env: TOXENV=py35 - - python: 3.6 - env: TOXENV=py36 - - python: pypy3 - env: TOXENV=pypy3 - - python: 3.8 - env: TOXENV=py38-cover,coverage - - python: 3.6 - env: TOXENV=docs - - python: 3.6 - env: TOXENV=lint - - python: 3.7 - env: TOXENV=py37 - dist: xenial - sudo: true - - python: 3.8 - env: TOXENV=py38 - dist: xenial - sudo: true - -install: - - travis_retry pip install tox - -script: - - travis_retry tox - -cache: - directories: - - $HOME/.cache/pip - -notifications: - email: - - pyramid-checkins@lists.repoze.org - irc: - channels: - - "chat.freenode.net#pyramid" diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index ba07274f8..000000000 --- a/appveyor.yml +++ /dev/null @@ -1,23 +0,0 @@ -environment: - matrix: - - PYTHON: "C:\\Python35" - TOXENV: "py35" - - PYTHON: "C:\\Python36" - TOXENV: "py36" - - PYTHON: "C:\\Python37" - TOXENV: "py37" - - PYTHON: "C:\\Python38" - TOXENV: "py38" - -cache: - - '%LOCALAPPDATA%\pip\Cache' - -version: '{branch}.{build}' - -install: - - "%PYTHON%\\python.exe -m pip install tox" - -build: off - -test_script: - - "%PYTHON%\\Scripts\\tox.exe" -- cgit v1.2.3 From 559aa50281b48634b4cb4df1f4adf322be102f0c Mon Sep 17 00:00:00 2001 From: Bert JW Regeer Date: Mon, 4 May 2020 01:08:02 -0700 Subject: ignore .gitattributes --- setup.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.cfg b/setup.cfg index 83f985f93..a9e760853 100644 --- a/setup.cfg +++ b/setup.cfg @@ -11,6 +11,7 @@ license_file = LICENSE.txt [check-manifest] ignore = .gitignore + .gitattributes PKG-INFO *.egg-info *.egg-info/* -- cgit v1.2.3 From 87040469b30f01c3409bd4fdd8e94d3ed24e805d Mon Sep 17 00:00:00 2001 From: Bert JW Regeer Date: Mon, 4 May 2020 23:39:09 -0700 Subject: Enable coverage on CPython test runs --- .github/workflows/ci-tests.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index 366c0ffcf..a16421a0b 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -1,6 +1,6 @@ name: Build and test -on: +on: # Only on pushes to master or one of the release branches we build on push push: branches: @@ -28,6 +28,14 @@ jobs: - x64 - x86 + include: + # Only run coverage on ubuntu-latest, except on pypy3 + - os: "ubuntu-latest" + pytest-args: "--cov" + - os: "ubuntu-latest" + py: "pypy3" + pytest-args: "" + exclude: # Linux and macOS don't have x86 python - os: "ubuntu-latest" @@ -49,7 +57,7 @@ jobs: architecture: ${{ matrix.architecture }} - run: pip install tox - name: Running tox - run: tox -e py + run: tox -e py -- ${{ matrix.pytest-args }} coverage: runs-on: ubuntu-latest name: Validate coverage @@ -61,7 +69,7 @@ jobs: python-version: 3.8 architecture: x64 - run: pip install tox - - run: tox -e py38,coverage + - run: tox -e py38-cover,coverage docs: runs-on: ubuntu-latest name: Build the documentation -- cgit v1.2.3