coverage 7.16.1__tar.gz → 7.17.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {coverage-7.16.1 → coverage-7.17.0}/.github/workflows/codeql-analysis.yml +3 -3
- {coverage-7.16.1 → coverage-7.17.0}/.github/workflows/coverage.yml +16 -20
- {coverage-7.16.1 → coverage-7.17.0}/.github/workflows/kit.yml +55 -31
- {coverage-7.16.1 → coverage-7.17.0}/.github/workflows/publish.yml +3 -3
- {coverage-7.16.1 → coverage-7.17.0}/.github/workflows/quality.yml +3 -3
- {coverage-7.16.1 → coverage-7.17.0}/.github/workflows/testsuite.yml +47 -2
- {coverage-7.16.1 → coverage-7.17.0}/.gitignore +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/.pre-commit-config.yaml +1 -2
- {coverage-7.16.1 → coverage-7.17.0}/CHANGES.rst +127 -0
- {coverage-7.16.1 → coverage-7.17.0}/CONTRIBUTORS.txt +1 -0
- {coverage-7.16.1 → coverage-7.17.0}/MANIFEST.in +2 -1
- {coverage-7.16.1 → coverage-7.17.0}/Makefile +8 -4
- {coverage-7.16.1/coverage.egg-info → coverage-7.17.0}/PKG-INFO +11 -13
- {coverage-7.16.1 → coverage-7.17.0}/README.rst +2 -2
- {coverage-7.16.1 → coverage-7.17.0}/coverage/__init__.py +4 -9
- {coverage-7.16.1 → coverage-7.17.0}/coverage/annotate.py +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/bytecode.py +8 -2
- {coverage-7.16.1 → coverage-7.17.0}/coverage/cmdline.py +1 -1
- {coverage-7.16.1 → coverage-7.17.0}/coverage/config.py +10 -6
- {coverage-7.16.1 → coverage-7.17.0}/coverage/context.py +5 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/control.py +3 -1
- {coverage-7.16.1 → coverage-7.17.0}/coverage/ctracer/filedisp.c +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/ctracer/module.c +0 -2
- {coverage-7.16.1 → coverage-7.17.0}/coverage/ctracer/tracer.c +45 -25
- {coverage-7.16.1 → coverage-7.17.0}/coverage/ctracer/util.h +61 -4
- {coverage-7.16.1 → coverage-7.17.0}/coverage/data.py +7 -5
- {coverage-7.16.1 → coverage-7.17.0}/coverage/debug.py +5 -8
- {coverage-7.16.1 → coverage-7.17.0}/coverage/env.py +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/exceptions.py +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/execfile.py +2 -6
- {coverage-7.16.1 → coverage-7.17.0}/coverage/files.py +5 -5
- {coverage-7.16.1 → coverage-7.17.0}/coverage/html.py +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/htmlfiles/coverage_html.js +44 -4
- {coverage-7.16.1 → coverage-7.17.0}/coverage/jsonreport.py +3 -1
- {coverage-7.16.1 → coverage-7.17.0}/coverage/lcovreport.py +7 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/misc.py +15 -23
- {coverage-7.16.1 → coverage-7.17.0}/coverage/numbits.py +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/parser.py +63 -57
- {coverage-7.16.1 → coverage-7.17.0}/coverage/phystokens.py +12 -10
- {coverage-7.16.1 → coverage-7.17.0}/coverage/pytracer.py +17 -1
- {coverage-7.16.1 → coverage-7.17.0}/coverage/regions.py +11 -3
- {coverage-7.16.1 → coverage-7.17.0}/coverage/report.py +10 -5
- {coverage-7.16.1 → coverage-7.17.0}/coverage/report_core.py +3 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/results.py +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/sqldata.py +43 -6
- {coverage-7.16.1 → coverage-7.17.0}/coverage/sqlitedb.py +13 -5
- {coverage-7.16.1 → coverage-7.17.0}/coverage/templite.py +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/tomlconfig.py +7 -28
- {coverage-7.16.1 → coverage-7.17.0}/coverage/types.py +13 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/version.py +1 -1
- {coverage-7.16.1 → coverage-7.17.0}/coverage/xmlreport.py +21 -6
- {coverage-7.16.1 → coverage-7.17.0/coverage.egg-info}/PKG-INFO +11 -13
- {coverage-7.16.1 → coverage-7.17.0}/coverage.egg-info/SOURCES.txt +10 -1
- coverage-7.17.0/coverage.egg-info/requires.txt +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/cmd_combine.rst +25 -3
- {coverage-7.16.1 → coverage-7.17.0}/doc/conf.py +3 -3
- {coverage-7.16.1 → coverage-7.17.0}/doc/config.rst +0 -4
- {coverage-7.16.1 → coverage-7.17.0}/doc/contributing.rst +8 -4
- {coverage-7.16.1 → coverage-7.17.0}/doc/index.rst +2 -2
- {coverage-7.16.1 → coverage-7.17.0}/doc/messages.rst +21 -0
- coverage-7.17.0/doc/requirements.txt +871 -0
- {coverage-7.16.1 → coverage-7.17.0}/howto.txt +4 -9
- {coverage-7.16.1 → coverage-7.17.0}/pyproject.toml +13 -1
- {coverage-7.16.1 → coverage-7.17.0}/requirements/dev.in +1 -0
- coverage-7.17.0/requirements/dev.txt +1144 -0
- coverage-7.17.0/requirements/js.in +9 -0
- coverage-7.17.0/requirements/js.txt +101 -0
- coverage-7.17.0/requirements/kit.txt +555 -0
- {coverage-7.16.1 → coverage-7.17.0}/requirements/light-threads.txt +129 -129
- {coverage-7.16.1 → coverage-7.17.0}/requirements/mypy.in +3 -0
- coverage-7.17.0/requirements/mypy.txt +716 -0
- coverage-7.17.0/requirements/pip.txt +36 -0
- {coverage-7.16.1 → coverage-7.17.0}/requirements/pytest.in +2 -1
- coverage-7.17.0/requirements/pytest.txt +347 -0
- coverage-7.17.0/requirements/tox.txt +74 -0
- {coverage-7.16.1 → coverage-7.17.0}/setup.py +7 -15
- {coverage-7.16.1 → coverage-7.17.0}/tests/conftest.py +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/coveragetest.py +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/goldtest.py +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/helpers.py +2 -16
- {coverage-7.16.1 → coverage-7.17.0}/tests/hypo.py +2 -6
- coverage-7.17.0/tests/js/collect_results.js +24 -0
- coverage-7.17.0/tests/js/run_js_tests.py +47 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/js/tests.js +40 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/mixins.py +5 -2
- {coverage-7.16.1 → coverage-7.17.0}/tests/osinfo.py +2 -0
- coverage-7.17.0/tests/oss-scanner/Dockerfile +41 -0
- coverage-7.17.0/tests/oss-scanner/README.rst +19 -0
- coverage-7.17.0/tests/oss-scanner/local_run.sh +19 -0
- coverage-7.17.0/tests/oss-scanner/project.yaml +8 -0
- coverage-7.17.0/tests/oss-scanner/threat_model.md +113 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/plugin_config.py +2 -0
- coverage-7.17.0/tests/smoke.py +20 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/strategies.py +2 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_api.py +35 -6
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_arcs.py +162 -2
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_bytecode.py +2 -2
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_config.py +1 -69
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_context.py +50 -4
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_data.py +92 -5
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_debug.py +6 -1
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_filereporter.py +2 -1
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_files.py +5 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_html.py +6 -5
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_lcov.py +67 -20
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_misc.py +0 -25
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_oddball.py +101 -6
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_parser.py +19 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_plugins.py +59 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_process.py +39 -5
- coverage-7.17.0/tests/test_regions.py +259 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_report.py +24 -6
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_sqlitedb.py +1 -1
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_venv.py +5 -3
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_xml.py +79 -3
- {coverage-7.16.1 → coverage-7.17.0}/tests/testenv.py +10 -1
- {coverage-7.16.1 → coverage-7.17.0}/tox.ini +24 -11
- coverage-7.16.1/coverage.egg-info/requires.txt +0 -5
- coverage-7.16.1/doc/requirements.txt +0 -883
- coverage-7.16.1/requirements/dev.txt +0 -1114
- coverage-7.16.1/requirements/kit.txt +0 -542
- coverage-7.16.1/requirements/mypy.txt +0 -612
- coverage-7.16.1/requirements/pip.txt +0 -36
- coverage-7.16.1/requirements/pytest.txt +0 -340
- coverage-7.16.1/requirements/tox.txt +0 -125
- coverage-7.16.1/tests/qunit/jquery.tmpl.min.js +0 -10
- coverage-7.16.1/tests/test_regions.py +0 -112
- {coverage-7.16.1 → coverage-7.17.0}/.editorconfig +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.git-blame-ignore-revs +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.github/CODE_OF_CONDUCT.md +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.github/FUNDING.yml +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.github/ISSUE_TEMPLATE/support.md +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.github/SECURITY.md +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.github/dependabot.yml +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.github/workflows/dependency-review.yml +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.github/workflows/python-nightly.yml +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.github/zizmor.yml +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.ignore +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/.readthedocs.yaml +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/CITATION.cff +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/LICENSE.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/NOTICE.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/__main__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/a1_coverage.pth +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/ci/README.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/ci/comment_on_fixes.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/ci/session.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/ci/trigger_action.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/ci/update_rtfd.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/__main__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/collector.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/core.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/ctracer/datastack.c +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/ctracer/datastack.h +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/ctracer/filedisp.h +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/ctracer/stats.h +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/ctracer/tracer.h +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/disposition.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/htmlfiles/favicon_32.png +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/htmlfiles/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/htmlfiles/keybd_closed.png +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/htmlfiles/pyfile.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/htmlfiles/style.css +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/htmlfiles/style.scss +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/inorout.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/multiproc.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/patch.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/plugin.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/plugin_support.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/pth_file.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/py.typed +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/python.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/sysmon.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage/tracer.pyi +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage.egg-info/dependency_links.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage.egg-info/entry_points.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage.egg-info/not-zip-safe +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/coverage.egg-info/top_level.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/_static/coverage.css +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/api.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/api_coverage.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/api_coveragedata.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/api_exceptions.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/api_module.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/api_plugin.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/branch.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/changes.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/cog_helpers.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/cmd_annotate.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/cmd_debug.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/cmd_erase.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/cmd_html.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/cmd_json.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/cmd_lcov.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/cmd_report.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/cmd_reporting.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/cmd_run.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/cmd_xml.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/commands/index.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/contexts.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/dbschema.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/dict.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/excluding.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/faq.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/howitworks.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/install.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White.png +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/media/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White_small.png +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/media/sleepy-snake-600.png +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/media/sleepy-snake-circle-150.png +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/migrating.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/other.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/plugins.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/python-coverage.1.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/requirements.in +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/sleepy.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/source.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/subprocess.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/trouble.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/doc/whatsnew5x.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/igor.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/README.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/branches.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/compare_times.sh +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/coverage-04.dtd +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/extract_code.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/goals.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/hack_pyc.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/notes/arcs-to-branches.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/notes/bug1303.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/notes/pypy-738-decorated-functions.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/parse_all.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/parser.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/pick.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/platform_info.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/run_sysmon.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/run_trace.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/select_contexts.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/show_platform.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/show_pyc.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/treetopy.sh +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/warn_executed.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/lab/warn_executed.toml +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/metacov.ini +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/requirements/kit.in +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/requirements/light-threads.in +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/requirements/pins.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/requirements/pip.in +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/requirements/tox.in +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/setup.cfg +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/covmodzip1.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/README.rst +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/anno_dir/multi.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/anno_dir/z_80084bf2fba02475___init__.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/anno_dir/z_80084bf2fba02475_a.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/anno_dir/z_b039179a8a4ce2c2___init__.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/anno_dir/z_b039179a8a4ce2c2_b.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/encodings/utf8.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/mae/mae.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/multi/a/__init__.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/multi/a/a.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/multi/b/__init__.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/multi/b/b.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/multi/multi.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/annotate/white/white.py,cover +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/Makefile +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/a/a_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/a/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/a/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/a/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/b_branch/b_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/b_branch/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/b_branch/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/b_branch/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/bom/bom_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/bom/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/bom/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/bom/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/contexts/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/contexts/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/contexts/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/contexts/two_tests_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/isolatin1/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/isolatin1/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/isolatin1/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/isolatin1/isolatin1_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/multiline/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/multiline/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/multiline/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/multiline/multiline_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_1/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_1/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_1/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_1/m1_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_1/m2_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_1/m3_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_1/main_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_2/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_2/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_2/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_2/m2_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_2/m3_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_2/main_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_3/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_3/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_3/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_3/m3_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_3/main_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_4/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_4/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_4/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_4/m1_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_4/m3_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_4/main_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_5/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_5/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_5/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_5/m1_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/omit_5/main_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/other/blah_blah_other_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/other/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/other/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/other/here_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/other/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/partial/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/partial/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/partial/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/partial/partial_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/styled/a_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/styled/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/styled/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/styled/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/styled/myextra.css +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/styled/style.css +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/support/coverage_html_cb_dd2e7eb5.js +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/support/favicon_32_cb_c827f16f.png +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/support/keybd_closed_cb_900cfef5.png +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/support/style_cb_a90a112a.css +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/unicode/class_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/unicode/function_index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/unicode/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/html/unicode/unicode_py.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/testing/getty/gettysburg.txt +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/testing/xml/output.xml +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/xml/x_xml/coverage.xml +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/gold/xml/y_xml_branch/coverage.xml +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/js/index.html +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/aa/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/aa/afile.odd.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/aa/afile.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/aa/bb/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/aa/bb/bfile.odd.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/aa/bb/bfile.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/aa/bb/cc/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/aa/bb/cc/cfile.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/aa/bb.odd/bfile.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/aa/zfile.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/ambiguous/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/ambiguous/pkg1/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/ambiguous/pkg1/ambiguous.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/checkspec.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/covmod1.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/namespace_420/sub1/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg1/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg1/__main__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg1/p1a.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg1/p1b.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg1/p1c.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg1/runmod2.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg1/sub/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg1/sub/__main__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg1/sub/ps1a.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg1/sub/runmod3.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg2/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg2/p2a.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/pkg2/p2b.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/plugins/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/plugins/a_plugin.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/plugins/another.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/process_test/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/process_test/try_execfile.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/runmod1.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/modules/usepkgs.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/moremodules/namespace_420/sub2/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/moremodules/othermods/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/moremodules/othermods/othera.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/moremodules/othermods/otherb.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/moremodules/othermods/sub/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/moremodules/othermods/sub/osa.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/moremodules/othermods/sub/osb.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/plugin1.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/plugin2.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/select_plugin.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/stress_phystoken.tok +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/stress_phystoken_dos.tok +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_annotate.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_cmdline.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_collector.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_concurrency.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_core.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_coverage.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_execfile.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_goldtest.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_json.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_mixins.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_numbits.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_phystokens.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_python.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_report_common.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_report_core.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_results.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_setup.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_sysmon.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_templite.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_testing.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/test_version.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/zipsrc/zip1/__init__.py +0 -0
- {coverage-7.16.1 → coverage-7.17.0}/tests/zipsrc/zip1/zip1.py +0 -0
|
@@ -55,7 +55,7 @@ jobs:
|
|
|
55
55
|
|
|
56
56
|
# Initializes the CodeQL tools for scanning.
|
|
57
57
|
- name: Initialize CodeQL
|
|
58
|
-
uses: github/codeql-action/init@
|
|
58
|
+
uses: github/codeql-action/init@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
|
|
59
59
|
with:
|
|
60
60
|
languages: ${{ matrix.language }}
|
|
61
61
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
@@ -66,7 +66,7 @@ jobs:
|
|
|
66
66
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
67
67
|
# If this step fails, then you should remove it and run the build manually (see below)
|
|
68
68
|
- name: Autobuild
|
|
69
|
-
uses: github/codeql-action/autobuild@
|
|
69
|
+
uses: github/codeql-action/autobuild@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
|
|
70
70
|
|
|
71
71
|
# ℹ️ Command-line programs to run using the OS shell.
|
|
72
72
|
# 📚 https://git.io/JvXDl
|
|
@@ -80,4 +80,4 @@ jobs:
|
|
|
80
80
|
# make release
|
|
81
81
|
|
|
82
82
|
- name: Perform CodeQL Analysis
|
|
83
|
-
uses: github/codeql-action/analyze@
|
|
83
|
+
uses: github/codeql-action/analyze@24c54180a607b1449ed407dd24f251e4e9147c8d # v4.38.3
|
|
@@ -87,7 +87,6 @@ jobs:
|
|
|
87
87
|
# tox.ini so that tox will run properly. PYVERSIONS
|
|
88
88
|
# Available versions:
|
|
89
89
|
# https://github.com/actions/python-versions/blob/main/versions-manifest.json
|
|
90
|
-
- "3.10"
|
|
91
90
|
- "3.11"
|
|
92
91
|
- "3.12"
|
|
93
92
|
- "3.13"
|
|
@@ -95,19 +94,11 @@ jobs:
|
|
|
95
94
|
- "3.14t"
|
|
96
95
|
- "3.15"
|
|
97
96
|
- "3.15t"
|
|
98
|
-
- "pypy-3.10"
|
|
99
97
|
- "pypy-3.11"
|
|
100
98
|
exclude:
|
|
101
99
|
# Mac PyPy always takes the longest, and doesn't add anything.
|
|
102
|
-
- os: macos
|
|
103
|
-
python-version: "pypy-3.10"
|
|
104
100
|
- os: macos
|
|
105
101
|
python-version: "pypy-3.11"
|
|
106
|
-
# Windows pypy 3.10 gets stuck with PyPy 7.3.15. I hope to
|
|
107
|
-
# unstick them, but I don't want that to block all other progress, so
|
|
108
|
-
# skip them for now.
|
|
109
|
-
- os: windows
|
|
110
|
-
python-version: "pypy-3.10"
|
|
111
102
|
# If we need to tweak the os version we can do it with an include like
|
|
112
103
|
# this:
|
|
113
104
|
# include:
|
|
@@ -164,7 +155,7 @@ jobs:
|
|
|
164
155
|
mv .metacov ".metacov.$MATRIX_ID"
|
|
165
156
|
|
|
166
157
|
- name: "Upload coverage data"
|
|
167
|
-
uses: actions/upload-artifact@
|
|
158
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
168
159
|
with:
|
|
169
160
|
name: metacov-${{ env.MATRIX_ID }}
|
|
170
161
|
path: .metacov.*
|
|
@@ -189,12 +180,9 @@ jobs:
|
|
|
189
180
|
- name: "Set up Python"
|
|
190
181
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
191
182
|
with:
|
|
192
|
-
python-version: "3.
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
# try using the cache again.
|
|
196
|
-
#cache: pip
|
|
197
|
-
#cache-dependency-path: 'requirements/*.txt'
|
|
183
|
+
python-version: "3.11" # Minimum of PYVERSIONS
|
|
184
|
+
cache: pip
|
|
185
|
+
cache-dependency-path: 'requirements/*.txt'
|
|
198
186
|
|
|
199
187
|
- name: "Show environment"
|
|
200
188
|
run: |
|
|
@@ -211,7 +199,7 @@ jobs:
|
|
|
211
199
|
python igor.py zip_mods
|
|
212
200
|
|
|
213
201
|
- name: "Download coverage data"
|
|
214
|
-
uses: actions/download-artifact@
|
|
202
|
+
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
|
|
215
203
|
with:
|
|
216
204
|
pattern: metacov-*
|
|
217
205
|
merge-multiple: true
|
|
@@ -225,14 +213,14 @@ jobs:
|
|
|
225
213
|
python igor.py combine_html
|
|
226
214
|
|
|
227
215
|
- name: "Upload HTML report"
|
|
228
|
-
uses: actions/upload-artifact@
|
|
216
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
229
217
|
with:
|
|
230
218
|
name: html_report
|
|
231
219
|
path: htmlcov
|
|
232
220
|
include-hidden-files: true
|
|
233
221
|
|
|
234
222
|
- name: "Upload other reports"
|
|
235
|
-
uses: actions/upload-artifact@
|
|
223
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
236
224
|
with:
|
|
237
225
|
name: json_xml
|
|
238
226
|
path: |
|
|
@@ -262,6 +250,14 @@ jobs:
|
|
|
262
250
|
echo '***** Total coverage is less than 90%!'
|
|
263
251
|
exit 1
|
|
264
252
|
fi
|
|
253
|
+
|
|
254
|
+
# Files that have reached 100% coverage should stay that way.
|
|
255
|
+
# shellcheck disable=SC2046
|
|
256
|
+
if ! python lab/goals.py --file 100 $(grep -l -R 'pragma: enforce 100% coverage'); then
|
|
257
|
+
echo '***** Coverage dropped for a 100% file!'
|
|
258
|
+
exit 1
|
|
259
|
+
fi
|
|
260
|
+
|
|
265
261
|
# Absolutely all of our test code should be covered.
|
|
266
262
|
if ! python lab/goals.py --file 100 "tests/test_*.py"; then
|
|
267
263
|
echo '***** Coverage of test files must be 100%!'
|
|
@@ -331,7 +327,7 @@ jobs:
|
|
|
331
327
|
|
|
332
328
|
- name: "Download coverage HTML report"
|
|
333
329
|
if: ${{ github.ref == 'refs/heads/main' }}
|
|
334
|
-
uses: actions/download-artifact@
|
|
330
|
+
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
|
|
335
331
|
with:
|
|
336
332
|
name: html_report
|
|
337
333
|
path: reports_repo/${{ env.report_dir }}
|
|
@@ -36,7 +36,7 @@ env:
|
|
|
36
36
|
PIP_DISABLE_PIP_VERSION_CHECK: 1
|
|
37
37
|
# PYVERSIONS: changing the list of versions will change the number of
|
|
38
38
|
# expected distributions. This must match the same number in publish.yml.
|
|
39
|
-
EXPECTED:
|
|
39
|
+
EXPECTED: 119
|
|
40
40
|
|
|
41
41
|
permissions:
|
|
42
42
|
contents: read
|
|
@@ -47,10 +47,10 @@ concurrency:
|
|
|
47
47
|
|
|
48
48
|
jobs:
|
|
49
49
|
wheels:
|
|
50
|
-
name: "${{ matrix.py }} ${{ matrix.os }} ${{ matrix.arch }} wheels"
|
|
50
|
+
name: "${{ matrix.py }} ${{ matrix.platform || matrix.os }} ${{ matrix.arch }} wheels"
|
|
51
51
|
runs-on: "${{ matrix.os }}-${{ matrix.os-version || 'latest' }}"
|
|
52
52
|
env:
|
|
53
|
-
MATRIX_ID: "${{ matrix.py }}-${{ matrix.os }}-${{ matrix.arch }}"
|
|
53
|
+
MATRIX_ID: "${{ matrix.py }}-${{ matrix.platform || matrix.os }}-${{ matrix.arch }}"
|
|
54
54
|
strategy:
|
|
55
55
|
matrix:
|
|
56
56
|
include:
|
|
@@ -79,7 +79,7 @@ jobs:
|
|
|
79
79
|
# # of Python: https://cibuildwheel.readthedocs.io/en/stable/options/#enable
|
|
80
80
|
# # When changing this, also adjust SHIPPING_WHEELS in env.py.
|
|
81
81
|
#
|
|
82
|
-
# pys = ["
|
|
82
|
+
# pys = ["cp311", "cp312", "cp313", "cp314", "cp315"]
|
|
83
83
|
# cipy = "3.11" # PYVERSIONS, default for cibuildwheel
|
|
84
84
|
#
|
|
85
85
|
# # Some OS/arch combinations need overrides for the Python versions:
|
|
@@ -88,6 +88,14 @@ jobs:
|
|
|
88
88
|
# ("windows", "ARM64"): ["cp311", "cp312", "cp313", "cp314", "cp315"],
|
|
89
89
|
# }
|
|
90
90
|
#
|
|
91
|
+
# # Mobile platforms: cibuildwheel only supports these from cp313 onward,
|
|
92
|
+
# # and each tuple key is (os, platform, os-version-or-None).
|
|
93
|
+
# mobile_pys = ["cp313", "cp314", "cp315"]
|
|
94
|
+
# mobile_os_archs = {
|
|
95
|
+
# ("ubuntu", "android", None): ["arm64_v8a", "x86_64"],
|
|
96
|
+
# ("macos", "ios", "26"): ["arm64_iphoneos", "arm64_iphonesimulator"],
|
|
97
|
+
# }
|
|
98
|
+
#
|
|
91
99
|
# #----- ^^^ ---------------------- ^^^ -----
|
|
92
100
|
#
|
|
93
101
|
# import json
|
|
@@ -101,7 +109,7 @@ jobs:
|
|
|
101
109
|
# "cipy": cipy,
|
|
102
110
|
# }
|
|
103
111
|
# if the_os == "macos":
|
|
104
|
-
# them["os-version"] = "
|
|
112
|
+
# them["os-version"] = "26"
|
|
105
113
|
# if the_os == "windows" and the_arch == "ARM64":
|
|
106
114
|
# them["os-version"] = "11-arm"
|
|
107
115
|
# # them["cipy"] = "3.11"
|
|
@@ -111,56 +119,60 @@ jobs:
|
|
|
111
119
|
# if the_arch == "ppc64le":
|
|
112
120
|
# them["os-version"] = "24.04-ppc64le"
|
|
113
121
|
# print(f"- {json.dumps(them)}")
|
|
122
|
+
# for (the_os, the_platform, the_os_version), archs in mobile_os_archs.items():
|
|
123
|
+
# for the_arch in archs:
|
|
124
|
+
# for the_py in mobile_pys:
|
|
125
|
+
# them = {
|
|
126
|
+
# "os": the_os,
|
|
127
|
+
# "py": the_py,
|
|
128
|
+
# "arch": the_arch,
|
|
129
|
+
# "cipy": cipy,
|
|
130
|
+
# "platform": the_platform,
|
|
131
|
+
# }
|
|
132
|
+
# if the_os_version is not None:
|
|
133
|
+
# them["os-version"] = the_os_version
|
|
134
|
+
# print(f"- {json.dumps(them)}")
|
|
114
135
|
# ]]]
|
|
115
|
-
- {"os": "ubuntu", "py": "cp310", "arch": "x86_64", "cipy": "3.11"}
|
|
116
136
|
- {"os": "ubuntu", "py": "cp311", "arch": "x86_64", "cipy": "3.11"}
|
|
117
137
|
- {"os": "ubuntu", "py": "cp312", "arch": "x86_64", "cipy": "3.11"}
|
|
118
138
|
- {"os": "ubuntu", "py": "cp313", "arch": "x86_64", "cipy": "3.11"}
|
|
119
139
|
- {"os": "ubuntu", "py": "cp314", "arch": "x86_64", "cipy": "3.11"}
|
|
120
140
|
- {"os": "ubuntu", "py": "cp315", "arch": "x86_64", "cipy": "3.11"}
|
|
121
|
-
- {"os": "ubuntu", "py": "cp310", "arch": "i686", "cipy": "3.11"}
|
|
122
141
|
- {"os": "ubuntu", "py": "cp311", "arch": "i686", "cipy": "3.11"}
|
|
123
142
|
- {"os": "ubuntu", "py": "cp312", "arch": "i686", "cipy": "3.11"}
|
|
124
143
|
- {"os": "ubuntu", "py": "cp313", "arch": "i686", "cipy": "3.11"}
|
|
125
144
|
- {"os": "ubuntu", "py": "cp314", "arch": "i686", "cipy": "3.11"}
|
|
126
145
|
- {"os": "ubuntu", "py": "cp315", "arch": "i686", "cipy": "3.11"}
|
|
127
|
-
- {"os": "ubuntu", "py": "cp310", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
128
146
|
- {"os": "ubuntu", "py": "cp311", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
129
147
|
- {"os": "ubuntu", "py": "cp312", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
130
148
|
- {"os": "ubuntu", "py": "cp313", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
131
149
|
- {"os": "ubuntu", "py": "cp314", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
132
150
|
- {"os": "ubuntu", "py": "cp315", "arch": "aarch64", "cipy": "3.11", "os-version": "22.04-arm"}
|
|
133
|
-
- {"os": "ubuntu", "py": "cp310", "arch": "riscv64", "cipy": "3.11"}
|
|
134
151
|
- {"os": "ubuntu", "py": "cp311", "arch": "riscv64", "cipy": "3.11"}
|
|
135
152
|
- {"os": "ubuntu", "py": "cp312", "arch": "riscv64", "cipy": "3.11"}
|
|
136
153
|
- {"os": "ubuntu", "py": "cp313", "arch": "riscv64", "cipy": "3.11"}
|
|
137
154
|
- {"os": "ubuntu", "py": "cp314", "arch": "riscv64", "cipy": "3.11"}
|
|
138
155
|
- {"os": "ubuntu", "py": "cp315", "arch": "riscv64", "cipy": "3.11"}
|
|
139
|
-
- {"os": "ubuntu", "py": "cp310", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
140
156
|
- {"os": "ubuntu", "py": "cp311", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
141
157
|
- {"os": "ubuntu", "py": "cp312", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
142
158
|
- {"os": "ubuntu", "py": "cp313", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
143
159
|
- {"os": "ubuntu", "py": "cp314", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
144
160
|
- {"os": "ubuntu", "py": "cp315", "arch": "ppc64le", "cipy": "3.11", "os-version": "24.04-ppc64le"}
|
|
145
|
-
- {"os": "macos", "py": "
|
|
146
|
-
- {"os": "macos", "py": "
|
|
147
|
-
- {"os": "macos", "py": "
|
|
148
|
-
- {"os": "macos", "py": "
|
|
149
|
-
- {"os": "macos", "py": "
|
|
150
|
-
- {"os": "macos", "py": "
|
|
151
|
-
- {"os": "macos", "py": "
|
|
152
|
-
- {"os": "macos", "py": "
|
|
153
|
-
- {"os": "macos", "py": "
|
|
154
|
-
- {"os": "macos", "py": "
|
|
155
|
-
- {"os": "macos", "py": "cp314", "arch": "x86_64", "cipy": "3.11", "os-version": "14"}
|
|
156
|
-
- {"os": "macos", "py": "cp315", "arch": "x86_64", "cipy": "3.11", "os-version": "14"}
|
|
157
|
-
- {"os": "windows", "py": "cp310", "arch": "x86", "cipy": "3.11"}
|
|
161
|
+
- {"os": "macos", "py": "cp311", "arch": "arm64", "cipy": "3.11", "os-version": "26"}
|
|
162
|
+
- {"os": "macos", "py": "cp312", "arch": "arm64", "cipy": "3.11", "os-version": "26"}
|
|
163
|
+
- {"os": "macos", "py": "cp313", "arch": "arm64", "cipy": "3.11", "os-version": "26"}
|
|
164
|
+
- {"os": "macos", "py": "cp314", "arch": "arm64", "cipy": "3.11", "os-version": "26"}
|
|
165
|
+
- {"os": "macos", "py": "cp315", "arch": "arm64", "cipy": "3.11", "os-version": "26"}
|
|
166
|
+
- {"os": "macos", "py": "cp311", "arch": "x86_64", "cipy": "3.11", "os-version": "26"}
|
|
167
|
+
- {"os": "macos", "py": "cp312", "arch": "x86_64", "cipy": "3.11", "os-version": "26"}
|
|
168
|
+
- {"os": "macos", "py": "cp313", "arch": "x86_64", "cipy": "3.11", "os-version": "26"}
|
|
169
|
+
- {"os": "macos", "py": "cp314", "arch": "x86_64", "cipy": "3.11", "os-version": "26"}
|
|
170
|
+
- {"os": "macos", "py": "cp315", "arch": "x86_64", "cipy": "3.11", "os-version": "26"}
|
|
158
171
|
- {"os": "windows", "py": "cp311", "arch": "x86", "cipy": "3.11"}
|
|
159
172
|
- {"os": "windows", "py": "cp312", "arch": "x86", "cipy": "3.11"}
|
|
160
173
|
- {"os": "windows", "py": "cp313", "arch": "x86", "cipy": "3.11"}
|
|
161
174
|
- {"os": "windows", "py": "cp314", "arch": "x86", "cipy": "3.11"}
|
|
162
175
|
- {"os": "windows", "py": "cp315", "arch": "x86", "cipy": "3.11"}
|
|
163
|
-
- {"os": "windows", "py": "cp310", "arch": "AMD64", "cipy": "3.11"}
|
|
164
176
|
- {"os": "windows", "py": "cp311", "arch": "AMD64", "cipy": "3.11"}
|
|
165
177
|
- {"os": "windows", "py": "cp312", "arch": "AMD64", "cipy": "3.11"}
|
|
166
178
|
- {"os": "windows", "py": "cp313", "arch": "AMD64", "cipy": "3.11"}
|
|
@@ -171,7 +183,19 @@ jobs:
|
|
|
171
183
|
- {"os": "windows", "py": "cp313", "arch": "ARM64", "cipy": "3.11", "os-version": "11-arm"}
|
|
172
184
|
- {"os": "windows", "py": "cp314", "arch": "ARM64", "cipy": "3.11", "os-version": "11-arm"}
|
|
173
185
|
- {"os": "windows", "py": "cp315", "arch": "ARM64", "cipy": "3.11", "os-version": "11-arm"}
|
|
174
|
-
|
|
186
|
+
- {"os": "ubuntu", "py": "cp313", "arch": "arm64_v8a", "cipy": "3.11", "platform": "android"}
|
|
187
|
+
- {"os": "ubuntu", "py": "cp314", "arch": "arm64_v8a", "cipy": "3.11", "platform": "android"}
|
|
188
|
+
- {"os": "ubuntu", "py": "cp315", "arch": "arm64_v8a", "cipy": "3.11", "platform": "android"}
|
|
189
|
+
- {"os": "ubuntu", "py": "cp313", "arch": "x86_64", "cipy": "3.11", "platform": "android"}
|
|
190
|
+
- {"os": "ubuntu", "py": "cp314", "arch": "x86_64", "cipy": "3.11", "platform": "android"}
|
|
191
|
+
- {"os": "ubuntu", "py": "cp315", "arch": "x86_64", "cipy": "3.11", "platform": "android"}
|
|
192
|
+
- {"os": "macos", "py": "cp313", "arch": "arm64_iphoneos", "cipy": "3.11", "platform": "ios", "os-version": "26"}
|
|
193
|
+
- {"os": "macos", "py": "cp314", "arch": "arm64_iphoneos", "cipy": "3.11", "platform": "ios", "os-version": "26"}
|
|
194
|
+
- {"os": "macos", "py": "cp315", "arch": "arm64_iphoneos", "cipy": "3.11", "platform": "ios", "os-version": "26"}
|
|
195
|
+
- {"os": "macos", "py": "cp313", "arch": "arm64_iphonesimulator", "cipy": "3.11", "platform": "ios", "os-version": "26"}
|
|
196
|
+
- {"os": "macos", "py": "cp314", "arch": "arm64_iphonesimulator", "cipy": "3.11", "platform": "ios", "os-version": "26"}
|
|
197
|
+
- {"os": "macos", "py": "cp315", "arch": "arm64_iphonesimulator", "cipy": "3.11", "platform": "ios", "os-version": "26"}
|
|
198
|
+
# [[[end]]] (sum: f3kjK8N7/g)
|
|
175
199
|
# ^^^^^^^^^^^^^^^
|
|
176
200
|
# If a check fails and points to this checksum line, it means you edited
|
|
177
201
|
# the matrix directly instead of editing the Python code in the comment
|
|
@@ -212,7 +236,7 @@ jobs:
|
|
|
212
236
|
|
|
213
237
|
- name: "Set up QEMU"
|
|
214
238
|
if: ${{ matrix.arch == 'riscv64' }}
|
|
215
|
-
uses: docker/setup-qemu-action@
|
|
239
|
+
uses: docker/setup-qemu-action@99012661954931238ded8c8b007157a8430204e1 # v4.4.0
|
|
216
240
|
|
|
217
241
|
- name: "Show environment"
|
|
218
242
|
run: |
|
|
@@ -221,10 +245,10 @@ jobs:
|
|
|
221
245
|
|
|
222
246
|
- name: "Build binary wheels"
|
|
223
247
|
env:
|
|
248
|
+
CIBW_PLATFORM: ${{ matrix.platform || 'auto' }}
|
|
224
249
|
CIBW_BUILD: ${{ matrix.py }}*-*
|
|
225
250
|
CIBW_ARCHS: ${{ matrix.arch }}
|
|
226
251
|
CIBW_ENVIRONMENT: PIP_DISABLE_PIP_VERSION_CHECK=1
|
|
227
|
-
CIBW_TEST_COMMAND: python -c "from coverage.tracer import CTracer; print('CTracer OK!')"
|
|
228
252
|
run: |
|
|
229
253
|
python -m cibuildwheel --output-dir wheelhouse
|
|
230
254
|
|
|
@@ -237,7 +261,7 @@ jobs:
|
|
|
237
261
|
python -m twine check wheelhouse/*
|
|
238
262
|
|
|
239
263
|
- name: "Upload binary wheels"
|
|
240
|
-
uses: actions/upload-artifact@
|
|
264
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
241
265
|
with:
|
|
242
266
|
name: dist-${{ env.MATRIX_ID }}
|
|
243
267
|
path: wheelhouse/*.whl
|
|
@@ -278,7 +302,7 @@ jobs:
|
|
|
278
302
|
python -m twine check dist/*
|
|
279
303
|
|
|
280
304
|
- name: "Upload non-binary artifacts"
|
|
281
|
-
uses: actions/upload-artifact@
|
|
305
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
282
306
|
with:
|
|
283
307
|
name: dist-non-binary
|
|
284
308
|
path: dist/*
|
|
@@ -296,7 +320,7 @@ jobs:
|
|
|
296
320
|
id-token: write # Needed for signing artifacts
|
|
297
321
|
steps:
|
|
298
322
|
- name: "Download artifacts"
|
|
299
|
-
uses: actions/download-artifact@
|
|
323
|
+
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
|
|
300
324
|
with:
|
|
301
325
|
pattern: dist-*
|
|
302
326
|
merge-multiple: true
|
|
@@ -318,7 +342,7 @@ jobs:
|
|
|
318
342
|
ls -alR
|
|
319
343
|
|
|
320
344
|
- name: "Upload signatures"
|
|
321
|
-
uses: actions/upload-artifact@
|
|
345
|
+
uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
|
|
322
346
|
with:
|
|
323
347
|
name: signatures
|
|
324
348
|
path: "*.sigstore.json"
|
|
@@ -17,7 +17,7 @@ defaults:
|
|
|
17
17
|
env:
|
|
18
18
|
# PYVERSIONS: changing the list of versions will change the number of
|
|
19
19
|
# expected distributions. This must match the same number in kit.yml.
|
|
20
|
-
EXPECTED:
|
|
20
|
+
EXPECTED: 119
|
|
21
21
|
|
|
22
22
|
permissions:
|
|
23
23
|
contents: read
|
|
@@ -69,7 +69,7 @@ jobs:
|
|
|
69
69
|
|
|
70
70
|
steps:
|
|
71
71
|
- name: "Download dists"
|
|
72
|
-
uses: actions/download-artifact@
|
|
72
|
+
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
|
|
73
73
|
with:
|
|
74
74
|
repository: "coveragepy/coveragepy"
|
|
75
75
|
run-id: ${{ needs.find-run.outputs.run-id }}
|
|
@@ -110,7 +110,7 @@ jobs:
|
|
|
110
110
|
|
|
111
111
|
steps:
|
|
112
112
|
- name: "Download dists"
|
|
113
|
-
uses: actions/download-artifact@
|
|
113
|
+
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
|
|
114
114
|
with:
|
|
115
115
|
repository: "coveragepy/coveragepy"
|
|
116
116
|
run-id: ${{ needs.find-run.outputs.run-id }}
|
|
@@ -82,7 +82,7 @@ jobs:
|
|
|
82
82
|
- name: "Install Python"
|
|
83
83
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
84
84
|
with:
|
|
85
|
-
python-version: "3.
|
|
85
|
+
python-version: "3.11" # Minimum of PYVERSIONS
|
|
86
86
|
cache: pip
|
|
87
87
|
cache-dependency-path: 'requirements/*.txt'
|
|
88
88
|
|
|
@@ -112,7 +112,7 @@ jobs:
|
|
|
112
112
|
- name: "Install Python"
|
|
113
113
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
114
114
|
with:
|
|
115
|
-
python-version: "3.
|
|
115
|
+
python-version: "3.11" # Minimum of PYVERSIONS
|
|
116
116
|
cache: pip
|
|
117
117
|
cache-dependency-path: 'requirements/*.txt'
|
|
118
118
|
|
|
@@ -185,7 +185,7 @@ jobs:
|
|
|
185
185
|
persist-credentials: false
|
|
186
186
|
|
|
187
187
|
- name: "Install uv"
|
|
188
|
-
uses: astral-sh/setup-uv@
|
|
188
|
+
uses: astral-sh/setup-uv@c18668ad3cf93ea998bef934396af7bb5c839dc7 # v10.2.0
|
|
189
189
|
with:
|
|
190
190
|
enable-cache: false
|
|
191
191
|
|
|
@@ -36,6 +36,7 @@ jobs:
|
|
|
36
36
|
pull-requests: read # Needed for this check to run on pull requests
|
|
37
37
|
outputs:
|
|
38
38
|
run_tests: ${{ steps.filter.outputs.run_tests }}
|
|
39
|
+
run_js_tests: ${{ steps.filter.outputs.run_js_tests }}
|
|
39
40
|
steps:
|
|
40
41
|
- name: "Check out the repo"
|
|
41
42
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
@@ -57,6 +58,12 @@ jobs:
|
|
|
57
58
|
- "tox.ini"
|
|
58
59
|
- "requirements/*.txt"
|
|
59
60
|
- "tests/gold/**"
|
|
61
|
+
run_js_tests:
|
|
62
|
+
- "coverage/htmlfiles/*.js"
|
|
63
|
+
- "tests/js/**"
|
|
64
|
+
- ".github/workflows/testsuite.yml"
|
|
65
|
+
- "tox.ini"
|
|
66
|
+
- "requirements/js.txt"
|
|
60
67
|
|
|
61
68
|
tests:
|
|
62
69
|
name: "${{ matrix.python-version }} on ${{ matrix.os }}"
|
|
@@ -87,7 +94,6 @@ jobs:
|
|
|
87
94
|
# Available versions:
|
|
88
95
|
# https://github.com/actions/python-versions/blob/main/versions-manifest.json
|
|
89
96
|
# https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#available-versions-of-python-and-pypy
|
|
90
|
-
- "3.10"
|
|
91
97
|
- "3.11"
|
|
92
98
|
- "3.12"
|
|
93
99
|
- "3.13"
|
|
@@ -95,7 +101,6 @@ jobs:
|
|
|
95
101
|
- "3.14t"
|
|
96
102
|
- "3.15"
|
|
97
103
|
- "3.15t"
|
|
98
|
-
- "pypy-3.10"
|
|
99
104
|
- "pypy-3.11"
|
|
100
105
|
|
|
101
106
|
#
|
|
@@ -161,6 +166,40 @@ jobs:
|
|
|
161
166
|
# `exit 1` makes sure that the job remains red with flaky runs
|
|
162
167
|
python -m tox -- -rfsEX --lf -vvvvv && exit 1
|
|
163
168
|
|
|
169
|
+
js_tests:
|
|
170
|
+
name: "JavaScript tests"
|
|
171
|
+
runs-on: ubuntu-latest
|
|
172
|
+
timeout-minutes: 15
|
|
173
|
+
|
|
174
|
+
# Don't run tests if the branch name includes "-notests".
|
|
175
|
+
# Only run tests if files that affect the JavaScript tests have changed.
|
|
176
|
+
needs: changed
|
|
177
|
+
if:
|
|
178
|
+
needs.changed.outputs.run_js_tests == 'true'
|
|
179
|
+
&& !contains(github.ref, '-notests')
|
|
180
|
+
|
|
181
|
+
steps:
|
|
182
|
+
- name: "Check out the repo"
|
|
183
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
184
|
+
with:
|
|
185
|
+
persist-credentials: false
|
|
186
|
+
|
|
187
|
+
- name: "Set up Python"
|
|
188
|
+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
189
|
+
with:
|
|
190
|
+
python-version: "3.11" # Minimum of PYVERSIONS
|
|
191
|
+
cache: pip
|
|
192
|
+
cache-dependency-path: 'requirements/*.txt'
|
|
193
|
+
|
|
194
|
+
- name: "Install dependencies"
|
|
195
|
+
run: |
|
|
196
|
+
set -xe
|
|
197
|
+
python -m pip install -r requirements/tox.txt
|
|
198
|
+
|
|
199
|
+
- name: "Run the JavaScript tests"
|
|
200
|
+
run: |
|
|
201
|
+
python -m tox -e js
|
|
202
|
+
|
|
164
203
|
# This job aggregates test results. It's the required check for branch protection.
|
|
165
204
|
# https://github.com/marketplace/actions/alls-green#why
|
|
166
205
|
# https://github.com/orgs/community/discussions/33579
|
|
@@ -168,9 +207,15 @@ jobs:
|
|
|
168
207
|
name: "Tests successful"
|
|
169
208
|
needs:
|
|
170
209
|
- tests
|
|
210
|
+
- js_tests
|
|
211
|
+
# Without this, GitHub skips this job when `tests` doesn't succeed, so the
|
|
212
|
+
# gate reports "skipped" instead of failing. `allowed-skips` keeps the
|
|
213
|
+
# deliberate skips (-notests branches, no test-relevant files) passing.
|
|
214
|
+
if: always()
|
|
171
215
|
runs-on: ubuntu-latest
|
|
172
216
|
steps:
|
|
173
217
|
- name: "Decide success or failure"
|
|
174
218
|
uses: re-actors/alls-green@b5b5b37504aa4183270bd3d855c52a67f212be35 # v1.3.0
|
|
175
219
|
with:
|
|
176
220
|
jobs: ${{ toJSON(needs) }}
|
|
221
|
+
allowed-skips: tests, js_tests
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
.metacov
|
|
11
11
|
.metacov.*
|
|
12
12
|
*.swp
|
|
13
|
+
.envrc
|
|
13
14
|
|
|
14
15
|
# Data files we should ignore in the root, but need for gold files.
|
|
15
16
|
/coverage.xml
|
|
@@ -29,6 +30,7 @@ dist
|
|
|
29
30
|
htmlcov
|
|
30
31
|
MANIFEST
|
|
31
32
|
setuptools-*.egg
|
|
33
|
+
wheelhouse
|
|
32
34
|
.tox
|
|
33
35
|
.noseids
|
|
34
36
|
.cache
|
|
@@ -11,12 +11,11 @@ repos:
|
|
|
11
11
|
- id: check-xml
|
|
12
12
|
- id: check-yaml
|
|
13
13
|
- id: end-of-file-fixer
|
|
14
|
-
exclude: "(status\\.json|\\.min\\.js)$"
|
|
15
14
|
- id: trailing-whitespace
|
|
16
15
|
exclude: "stress_phystoken|\\.py,cover$"
|
|
17
16
|
|
|
18
17
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
19
|
-
rev: v0.
|
|
18
|
+
rev: v0.17.1
|
|
20
19
|
hooks:
|
|
21
20
|
- id: ruff-format
|
|
22
21
|
|