summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2020-12-02 15:56:42 +0100
committerFlorian Bruhin <me@the-compiler.org>2020-12-02 15:56:42 +0100
commit42c979c433aa2614e9dce6a845176df8a2f1af24 (patch)
treef9d643b8b0faf98015985551e4f75f9e8dfb1137
parent6c42f977814a3bfe937235b269bb80a5ba81a7a5 (diff)
downloadqutebrowser-42c979c433aa2614e9dce6a845176df8a2f1af24.tar.gz
qutebrowser-42c979c433aa2614e9dce6a845176df8a2f1af24.zip
WIP: test cheroot
-rw-r--r--.github/workflows/ci.yml209
-rw-r--r--misc/requirements/requirements-tests.txt2
2 files changed, 34 insertions, 177 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 8e1f1341f..08ae68d8e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -10,88 +10,6 @@ env:
MYPY_FORCE_TERMINAL_WIDTH: "180"
jobs:
- linters:
- if: "!contains(github.event.head_commit.message, '[ci skip]')"
- timeout-minutes: 10
- runs-on: ubuntu-20.04
- strategy:
- fail-fast: false
- matrix:
- include:
- - testenv: pylint
- - testenv: flake8
- - testenv: mypy
- - testenv: docs
- - testenv: vulture
- - testenv: misc
- - testenv: pyroma
- - testenv: check-manifest
- - testenv: eslint
- - testenv: shellcheck
- args: "-f gcc" # For problem matchers
- - testenv: yamllint
- steps:
- - uses: actions/checkout@v2
- - uses: actions/cache@v2
- with:
- path: |
- .mypy_cache
- .tox
- ~/.cache/pip
- key: "${{ matrix.testenv }}-${{ hashFiles('misc/requirements/requirements-*.txt') }}-${{ hashFiles('requirements.txt') }}"
- - uses: actions/setup-python@v2
- with:
- python-version: '3.8'
- - uses: actions/setup-node@v2-beta
- with:
- node-version: '12.x'
- if: "matrix.testenv == 'eslint'"
- - name: Set up problem matchers
- run: "python scripts/dev/ci/problemmatchers.py ${{ matrix.testenv }} ${{ runner.temp }}"
- - name: Install dependencies
- run: |
- [[ ${{ matrix.testenv }} == eslint ]] && npm install -g eslint
- [[ ${{ matrix.testenv }} == docs ]] && sudo apt-get install --no-install-recommends asciidoc
- if [[ ${{ matrix.testenv }} == shellcheck ]]; then
- scversion="stable"
- bindir="$HOME/.local/bin"
- mkdir -p "$bindir"
- wget -qO- "https://github.com/koalaman/shellcheck/releases/download/$scversion/shellcheck-$scversion.linux.x86_64.tar.xz" | tar -xJv --strip-components 1 -C "$bindir" shellcheck-$scversion/shellcheck
- echo "$bindir" >> "$GITHUB_PATH"
- fi
- python -m pip install -U pip
- python -m pip install -U -r misc/requirements/requirements-tox.txt
- - name: "Run ${{ matrix.testenv }}"
- run: "tox -e ${{ matrix.testenv}} -- ${{ matrix.args }}"
-
- tests-docker:
- if: "!contains(github.event.head_commit.message, '[ci skip]')"
- timeout-minutes: 30
- runs-on: ubuntu-20.04
- strategy:
- fail-fast: false
- matrix:
- image:
- - archlinux-webkit
- - archlinux-webengine
- # - archlinux-webengine-unstable
- container:
- image: "qutebrowser/ci:${{ matrix.image }}"
- env:
- QUTE_BDD_WEBENGINE: "${{ matrix.image != 'archlinux-webkit' }}"
- DOCKER: "${{ matrix.image }}"
- CI: true
- PYTEST_ADDOPTS: "--color=yes"
- volumes:
- # Hardcoded because we can't use ${{ runner.temp }} here apparently.
- - /home/runner/work/_temp/:/home/runner/work/_temp/
- options: --privileged --tty
- steps:
- - uses: actions/checkout@v2
- - name: Set up problem matchers
- run: "python scripts/dev/ci/problemmatchers.py py38 ${{ runner.temp }}"
- - run: tox -e py38
-
tests:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
timeout-minutes: 45
@@ -100,36 +18,47 @@ jobs:
fail-fast: false
matrix:
include:
- ### PyQt 5.12 (Python 3.6)
- - testenv: py36-pyqt512
- os: ubuntu-20.04
- python: 3.6
- ### PyQt 5.13 (Python 3.7)
- - testenv: py37-pyqt513
- os: ubuntu-20.04
+ ### Windows: PyQt 5.15 (Python 3.7 to match PyInstaller env)
+ - testenv: py37-pyqt515
+ os: windows-2019
python: 3.7
- ### PyQt 5.14 (Python 3.8)
- - testenv: py38-pyqt514
- os: ubuntu-20.04
- python: 3.8
- ### PyQt 5.15 (Python 3.9, with coverage)
- - testenv: py39-pyqt515-cov
- os: ubuntu-20.04
- python: 3.9
- ### macOS: PyQt 5.15 (Python 3.7 to match PyInstaller env)
+ n: 1
- testenv: py37-pyqt515
- os: macos-10.15
+ os: windows-2019
python: 3.7
- args: "tests/unit" # Only run unit tests on macOS
- ### macOS Big Sur
+ n: 2
- testenv: py37-pyqt515
- os: macos-11.0
+ os: windows-2019
python: 3.7
- args: "tests/unit" # Only run unit tests on macOS
- ### Windows: PyQt 5.15 (Python 3.7 to match PyInstaller env)
+ n: 3
+ - testenv: py37-pyqt515
+ os: windows-2019
+ python: 3.7
+ n: 4
+ - testenv: py37-pyqt515
+ os: windows-2019
+ python: 3.7
+ n: 5
+ - testenv: py37-pyqt515
+ os: windows-2019
+ python: 3.7
+ n: 6
+ - testenv: py37-pyqt515
+ os: windows-2019
+ python: 3.7
+ n: 7
+ - testenv: py37-pyqt515
+ os: windows-2019
+ python: 3.7
+ n: 8
+ - testenv: py37-pyqt515
+ os: windows-2019
+ python: 3.7
+ n: 9
- testenv: py37-pyqt515
os: windows-2019
python: 3.7
+ n: 10
runs-on: "${{ matrix.os }}"
steps:
- uses: actions/checkout@v2
@@ -157,75 +86,3 @@ jobs:
python -m pip install -U -r misc/requirements/requirements-tox.txt
- name: "Run ${{ matrix.testenv }}"
run: "tox -e ${{ matrix.testenv}} -- ${{ matrix.args }}"
- - name: Analyze backtraces
- run: "bash scripts/dev/ci/backtrace.sh ${{ matrix.testenv }}"
- if: "failure()"
- - name: Upload coverage
- if: "endsWith(matrix.testenv, '-cov')"
- uses: codecov/codecov-action@v1
- with:
- name: "${{ matrix.testenv }}"
-
- codeql:
- if: "!contains(github.event.head_commit.message, '[ci skip]')"
- timeout-minutes: 30
- runs-on: ubuntu-20.04
- steps:
- - name: Checkout repository
- uses: actions/checkout@v2
- with:
- # We must fetch at least the immediate parents so that if this is
- # a pull request then we can checkout the head.
- fetch-depth: 2
- # If this run was triggered by a pull request event, then checkout
- # the head of the pull request instead of the merge commit.
- - run: git checkout HEAD^2
- if: ${{ github.event_name == 'pull_request' }}
- - name: Initialize CodeQL
- uses: github/codeql-action/init@v1
- with:
- languages: javascript, python
- - name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v1
-
- irc:
- timeout-minutes: 2
- continue-on-error: true
- runs-on: ubuntu-20.04
- needs: [linters, tests, tests-docker, codeql]
- if: "always() && github.repository_owner == 'qutebrowser'"
- steps:
- - name: Send success IRC notification
- uses: Gottox/irc-message-action@v1.1
- if: "needs.linters.result == 'success' && needs.tests.result == 'success' && needs.tests-docker.result == 'success' && needs.codeql.result == 'success'"
- with:
- server: chat.freenode.net
- channel: '#qutebrowser-dev'
- nickname: qutebrowser-bot
- message: "[${{ github.workflow }}] \u00033Success:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})"
- - name: Send failure IRC notification
- uses: Gottox/irc-message-action@v1.1
- if: "needs.linters.result == 'failure' || needs.tests.result == 'failure' || needs.tests-docker.result == 'failure' || needs.codeql.result == 'failure'"
- with:
- server: chat.freenode.net
- channel: '#qutebrowser-dev'
- nickname: qutebrowser-bot
- message: "[${{ github.workflow }}] \u00034FAIL:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})\n
- linters: ${{ needs.linters.result }}, tests: ${{ needs.tests.result }}, tests-docker: ${{ needs.tests-docker.result }}, codeql: ${{ needs.codeql.result }}"
- - name: Send skipped IRC notification
- uses: Gottox/irc-message-action@v1.1
- if: "needs.linters.result == 'skipped' || needs.tests.result == 'skipped' || needs.tests-docker.result == 'skipped' || needs.codeql.result == 'skipped'"
- with:
- server: chat.freenode.net
- channel: '#qutebrowser-dev'
- nickname: qutebrowser-bot
- message: "[${{ github.workflow }}] \u00038Skipped:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})"
- - name: Send cancelled IRC notification
- uses: Gottox/irc-message-action@v1.1
- if: "needs.linters.result == 'cancelled' || needs.tests.result == 'cancelled' || needs.tests-docker.result == 'cancelled' || needs.codeql.result == 'cancelled'"
- with:
- server: chat.freenode.net
- channel: '#qutebrowser-dev'
- nickname: qutebrowser-bot
- message: "[${{ github.workflow }}] \u000314Cancelled:\u0003 ${{ github.ref }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} (@${{ github.actor }})\n
- linters: ${{ needs.linters.result }}, tests: ${{ needs.tests.result }}, tests-docker: ${{ needs.tests-docker.result }}, codeql: ${{ needs.codeql.result }}"
diff --git a/misc/requirements/requirements-tests.txt b/misc/requirements/requirements-tests.txt
index bd77427d4..c0f6f548d 100644
--- a/misc/requirements/requirements-tests.txt
+++ b/misc/requirements/requirements-tests.txt
@@ -5,7 +5,7 @@ attrs==20.3.0
beautifulsoup4==4.9.3
certifi==2020.11.8
chardet==3.0.4
-cheroot==8.4.7
+cheroot==8.4.8
click==7.1.2
# colorama==0.4.4
coverage==5.3