diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index 74b4257..6b4a4e3 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -1,4 +1,4 @@ -name: gh +name: Main on: create: # is used for publishing to PyPI and TestPyPI @@ -12,13 +12,11 @@ on: - >- ** pull_request: - schedule: - - cron: 1 0 * * * # Run daily at 0:01 UTC jobs: build_docs: name: Build Docs - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: Set up Python @@ -26,149 +24,18 @@ jobs: with: python-version: 3.6 - name: Install tox - run: | - python -m pip install --upgrade tox + run: python -m pip install --upgrade tox - name: Build docs with tox - run: | - python -m tox -e docs - build_python: - name: ${{ matrix.name }} - runs-on: ${{ matrix.os }} - strategy: - matrix: - include: - - os: ubuntu-18.04 - name: py36-ubuntu - python-version: 3.6 + run: python -m tox -e docs - - os: windows-latest - name: py36-windows - python-version: 3.6 + tests: + uses: pytest-dev/pytest-html/.github/workflows/tests.yml@master - - os: macOS-latest - name: py36-mac - python-version: 3.6 - - - os: ubuntu-18.04 - name: py37-ubuntu - python-version: 3.7 - - - os: windows-latest - name: py37-windows - python-version: 3.7 - - - os: macOS-latest - name: py37-mac - python-version: 3.7 - - - os: ubuntu-18.04 - name: py38-ubuntu - python-version: 3.8 - - - os: windows-latest - name: py38-windows - python-version: 3.8 - - - os: macOS-latest - name: py38-mac - python-version: 3.8 - - - os: ubuntu-18.04 - name: py39-ubuntu - python-version: 3.9 - - - os: windows-latest - name: py39-windows - python-version: 3.9 - - - os: macOS-latest - name: py39-mac - python-version: 3.9 - - - os: ubuntu-18.04 - name: pypy3-ubuntu - python-version: pypy3 - - - os: windows-latest - name: pypy3-windows - python-version: pypy3 - - - os: macOS-latest - name: pypy3-mac - python-version: pypy3 - - - os: ubuntu-18.04 - name: devel-ubuntu - python-version: 3.8 - - steps: - - name: Set Newline Behavior - run : | - git config --global core.autocrlf false - - uses: actions/checkout@master - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix['python-version'] }} - - name: Install tox - run: | - python -m pip install --upgrade tox - - name: Get Tox Environment Name From Matrix Name - uses: rishabhgupta/split-by@v1 - id: split-matrix-name - with: - string: '${{ matrix.name }}' - split-by: '-' - - name: Test with tox - run: | - python -m tox -e ${{ steps.split-matrix-name.outputs._0}}-cov - - name: Upload coverage to codecov - uses: codecov/codecov-action@v1 - with: - fail_ci_if_error: true - file: ./coverage.xml - flags: tests - name: ${{ matrix.py }} - ${{ matrix.os }} - verbose: true - build_javascript: - name: grunt - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: '12.x' - - name: Install Dependencies - run: | - npm install - - name: QUnit Tests - run: | - npm test - env: - CI: true - linting: - name: linting - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@master - - name: Set up Python - uses: actions/setup-python@v2 - with: - python-version: 3.6 - - name: Install tox - run: | - python -m pip install --upgrade tox - - name: Lint with tox - run: | - python -m tox -e linting publish: name: Publish to PyPI registry needs: - - build_python - - build_javascript + - tests runs-on: ubuntu-latest - env: PY_COLORS: 1 TOXENV: packaging diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml new file mode 100644 index 0000000..d97d315 --- /dev/null +++ b/.github/workflows/nightly.yml @@ -0,0 +1,9 @@ +name: Nightly tests + +on: + schedule: + - cron: '1 0 * * *' # Run daily at 0:01 UTC + +jobs: + tests: + uses: pytest-dev/pytest-html/.github/workflows/tests.yml@master diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..42afa78 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,119 @@ +name: Tests + +on: + workflow_call: + +jobs: + test_python: + name: ${{ matrix.name }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-latest + name: py36-ubuntu + python-version: 3.6 + + - os: windows-latest + name: py36-windows + python-version: 3.6 + + - os: macOS-latest + name: py36-mac + python-version: 3.6 + + - os: ubuntu-latest + name: py37-ubuntu + python-version: 3.7 + + - os: windows-latest + name: py37-windows + python-version: 3.7 + + - os: macOS-latest + name: py37-mac + python-version: 3.7 + + - os: ubuntu-latest + name: py38-ubuntu + python-version: 3.8 + + - os: windows-latest + name: py38-windows + python-version: 3.8 + + - os: macOS-latest + name: py38-mac + python-version: 3.8 + + - os: ubuntu-latest + name: py39-ubuntu + python-version: 3.9 + + - os: windows-latest + name: py39-windows + python-version: 3.9 + + - os: macOS-latest + name: py39-mac + python-version: 3.9 + + - os: ubuntu-latest + name: pypy3-ubuntu + python-version: pypy3 + + - os: windows-latest + name: pypy3-windows + python-version: pypy3 + + # https://github.com/pytest-dev/pytest-html/issues/482 +# - os: macOS-latest +# name: pypy3-mac +# python-version: pypy3 + + - os: ubuntu-latest + name: devel-ubuntu + python-version: 3.9 + + steps: + - name: Set Newline Behavior + run : git config --global core.autocrlf false + - uses: actions/checkout@master + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix['python-version'] }} + - name: Install tox + run: python -m pip install --upgrade tox + - name: Get Tox Environment Name From Matrix Name + uses: rishabhgupta/split-by@v1 + id: split-matrix-name + with: + string: '${{ matrix.name }}' + split-by: '-' + - name: Test with tox + run: python -m tox -e ${{ steps.split-matrix-name.outputs._0}}-cov + # TODO: https://github.com/pytest-dev/pytest-html/issues/481 +# - name: Upload coverage to codecov +# if: github.event.schedule == '' +# uses: codecov/codecov-action@v2 +# with: +# fail_ci_if_error: true +# file: ./coverage.xml +# flags: tests +# name: ${{ matrix.py }} - ${{ matrix.os }} +# verbose: true + + test_javascript: + name: grunt + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: '12.x' + - name: Install Dependencies + run: npm install + - name: QUnit Tests + run: npm test diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b575748..dcbc8a5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -37,13 +37,13 @@ repos: hooks: - id: pyupgrade args: [--py3-plus] - - repo: https://github.com/pre-commit/mirrors-eslint - rev: v7.13.0 - hooks: - - id: eslint - additional_dependencies: - - eslint@7.13.0 - args: [src] +# - repo: https://github.com/pre-commit/mirrors-eslint +# rev: v7.13.0 +# hooks: +# - id: eslint +# additional_dependencies: +# - eslint@7.13.0 +# args: [src] - repo: local hooks: - id: rst diff --git a/pyproject.toml b/pyproject.toml index 512272e..2683f07 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,4 +11,3 @@ build-backend = "setuptools.build_meta" [tool.setuptools_scm] local_scheme = "no-local-version" write_to = "src/pytest_html/__version.py" - diff --git a/src/pytest_html/html_report.py b/src/pytest_html/html_report.py index 66e10f0..28afe82 100644 --- a/src/pytest_html/html_report.py +++ b/src/pytest_html/html_report.py @@ -178,7 +178,7 @@ class HTMLReport: ] with open( - os.path.join(os.path.dirname(__file__), "resources", "main.js") + os.path.join(os.path.dirname(__file__), "resources", "old_main.js") ) as main_js_fp: main_js = main_js_fp.read() diff --git a/src/pytest_html/plugin.py b/src/pytest_html/plugin.py index 3d79860..3961bcd 100644 --- a/src/pytest_html/plugin.py +++ b/src/pytest_html/plugin.py @@ -4,12 +4,12 @@ import os import pytest +from _pytest.pathlib import Path from . import extras # noqa: F401 from .html_report import HTMLReport from .nextgen import NextGenReport -from _pytest.pathlib import Path def pytest_addhooks(pluginmanager): from . import hooks diff --git a/src/pytest_html/resources/index.html b/src/pytest_html/resources/index.html index 417809e..f75cf53 100644 --- a/src/pytest_html/resources/index.html +++ b/src/pytest_html/resources/index.html @@ -64,17 +64,17 @@
(Un)check the boxes to filter the results.
- - + + - - + + - +