diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2022-12-08 07:41:19 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2022-12-08 07:41:19 -0500 |
commit | 02cb14bd068211569f4201b6943a345e7125dddb (patch) | |
tree | 1b0271f176a559515a50d4221cf4502109d46f82 | |
parent | d4f76976a8084622faef86f6083b75b63865ddfd (diff) | |
download | python-coveragepy-git-nedbat/parallel-reports-1504-metacov.tar.gz |
temp: don't run any actions on this wip branchnedbat/parallel-reports-1504-metacov
-rw-r--r-- | .github/workflows/codeql-analysis.yml | 77 | ||||
-rw-r--r-- | .github/workflows/coverage.yml | 222 | ||||
-rw-r--r-- | .github/workflows/dependency-review.yml | 20 | ||||
-rw-r--r-- | .github/workflows/kit.yml | 243 | ||||
-rw-r--r-- | .github/workflows/python-nightly.yml | 88 | ||||
-rw-r--r-- | .github/workflows/quality.yml | 82 | ||||
-rw-r--r-- | .github/workflows/testsuite.yml | 99 |
7 files changed, 0 insertions, 831 deletions
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index ad316eb4..00000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,77 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: - - master - pull_request: - # The branches below must be a subset of the branches above - branches: - - master - schedule: - - cron: '30 20 * * 6' - -permissions: - contents: read - -jobs: - analyze: - name: Analyze - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: - - python - - javascript - # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] - # Learn more about CodeQL language support at https://git.io/codeql-language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - # âšī¸ Command-line programs to run using the OS shell. - # đ https://git.io/JvXDl - - # âī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml deleted file mode 100644 index aa740fa5..00000000 --- a/.github/workflows/coverage.yml +++ /dev/null @@ -1,222 +0,0 @@ -# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 -# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt - -name: "Coverage" - -on: - # As currently structured, this adds too many jobs (checks?), so don't run it - # on pull requests yet. - push: - branches: - - master - - "**/*metacov*" - workflow_dispatch: - -defaults: - run: - shell: bash - -env: - PIP_DISABLE_PIP_VERSION_CHECK: 1 - FORCE_COLOR: 1 # Get colored pytest output - -permissions: - contents: read - -concurrency: - group: "${{ github.workflow }}-${{ github.ref }}" - cancel-in-progress: true - -jobs: - coverage: - name: "Python ${{ matrix.python-version }} on ${{ matrix.os }}" - runs-on: "${{ matrix.os }}" - - strategy: - matrix: - os: - - ubuntu-latest - - macos-latest - - windows-latest - python-version: - # When changing this list, be sure to check the [gh-actions] list in - # tox.ini so that tox will run properly. PYVERSIONS - # Available versions: - # https://github.com/actions/python-versions/blob/main/versions-manifest.json - - "3.7" - - "3.8" - - "3.9" - - "3.10" - - "3.11" - - "pypy-3.7" - exclude: - # Windows PyPy doesn't seem to work? - - os: windows-latest - python-version: "pypy-3.7" - # Mac PyPy always takes the longest, and doesn't add anything. - - os: macos-latest - python-version: "pypy-3.7" - # If one job fails, stop the whole thing. - fail-fast: true - - steps: - - name: "Check out the repo" - uses: "actions/checkout@v3" - - - name: "Set up Python" - uses: "actions/setup-python@v4" - with: - python-version: "${{ matrix.python-version }}" - cache: pip - cache-dependency-path: 'requirements/*.pip' - - - name: "Install dependencies" - run: | - set -xe - python -VV - python -m site - python -m pip install --require-hashes -r requirements/tox.pip - - - name: "Run tox coverage for ${{ matrix.python-version }}" - env: - COVERAGE_COVERAGE: "yes" - COVERAGE_CONTEXT: "${{ matrix.python-version }}.${{ matrix.os }}" - run: | - set -xe - python -m tox - - - name: "Upload coverage data" - uses: actions/upload-artifact@v3 - with: - name: metacov - path: .metacov.* - - combine: - name: "Combine coverage data" - needs: coverage - runs-on: ubuntu-latest - outputs: - total: ${{ steps.total.outputs.total }} - env: - COVERAGE_RCFILE: "metacov.ini" - - steps: - - name: "Check out the repo" - uses: "actions/checkout@v3" - - - name: "Set up Python" - uses: "actions/setup-python@v4" - with: - python-version: "3.7" # Minimum of PYVERSIONS - cache: pip - cache-dependency-path: 'requirements/*.pip' - - - name: "Install dependencies" - run: | - set -xe - python -VV - python -m site - python -m pip install -e . - python igor.py zip_mods - - - name: "Download coverage data" - uses: actions/download-artifact@v3 - with: - name: metacov - - - name: "Combine and report" - id: combine - env: - COVERAGE_CONTEXT: "yes" - run: | - set -xe - python igor.py combine_html - - - name: "Upload HTML report" - uses: actions/upload-artifact@v3 - with: - name: html_report - path: htmlcov - - - name: "Get total" - id: total - run: | - echo "total=$(python -m coverage report --format=total)" >> $GITHUB_OUTPUT - - publish: - name: "Publish coverage report" - needs: combine - runs-on: ubuntu-latest - - steps: - - name: "Checkout reports repo" - run: | - set -xe - git clone --depth=1 --no-checkout https://${{ secrets.COVERAGE_REPORTS_TOKEN }}@github.com/nedbat/coverage-reports reports_repo - cd reports_repo - git sparse-checkout init --cone - git sparse-checkout set --skip-checks '/*' '!/reports' - git config user.name nedbat - git config user.email ned@nedbatchelder.com - git checkout main - - - name: "Compute info for later steps" - id: info - run: | - set -xe - export SHA10=$(echo ${{ github.sha }} | cut -c 1-10) - export SLUG=$(date +'%Y%m%d')_$SHA10 - export REPORT_DIR=reports/$SLUG/htmlcov - export REF="${{ github.ref }}" - echo "total=${{ needs.combine.outputs.total }}" >> $GITHUB_ENV - echo "sha10=$SHA10" >> $GITHUB_ENV - echo "slug=$SLUG" >> $GITHUB_ENV - echo "report_dir=$REPORT_DIR" >> $GITHUB_ENV - echo "url=https://nedbat.github.io/coverage-reports/$REPORT_DIR" >> $GITHUB_ENV - echo "branch=${REF#refs/heads/}" >> $GITHUB_ENV - - - name: "Download coverage HTML report" - uses: actions/download-artifact@v3 - with: - name: html_report - path: reports_repo/${{ env.report_dir }} - - - name: "Push to report repo" - env: - COMMIT_MESSAGE: ${{ github.event.head_commit.message }} - run: | - set -xe - # Make the redirect to the latest report. - echo "<html><head>" > reports_repo/latest.html - echo "<meta http-equiv='refresh' content='0;url=${{ env.url }}' />" >> reports_repo/latest.html - echo "<body>Coverage report redirect..." >> reports_repo/latest.html - # Make the commit message. - echo "${{ env.total }}% - $COMMIT_MESSAGE" > commit.txt - echo "" >> commit.txt - echo "${{ env.url }}" >> commit.txt - echo "${{ env.sha10 }}: ${{ env.branch }}" >> commit.txt - # Commit. - cd ./reports_repo - git sparse-checkout set --skip-checks '/*' '${{ env.report_dir }}' - rm ${{ env.report_dir }}/.gitignore - git add ${{ env.report_dir }} latest.html - git commit --file=../commit.txt - git push - - - name: "Create badge" - # https://gist.githubusercontent.com/nedbat/8c6980f77988a327348f9b02bbaf67f5 - uses: schneegans/dynamic-badges-action@5d424ad4060f866e4d1dab8f8da0456e6b1c4f56 - with: - auth: ${{ secrets.METACOV_GIST_SECRET }} - gistID: 8c6980f77988a327348f9b02bbaf67f5 - filename: metacov.json - label: Coverage - message: ${{ env.total }}% - minColorRange: 60 - maxColorRange: 95 - valColorRange: ${{ env.total }} - - - name: "Create summary" - run: | - echo '### Total coverage: ${{ env.total }}%' >> $GITHUB_STEP_SUMMARY - echo '[${{ env.url }}](${{ env.url }})' >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml deleted file mode 100644 index 34b14c39..00000000 --- a/.github/workflows/dependency-review.yml +++ /dev/null @@ -1,20 +0,0 @@ -# Dependency Review Action -# -# This Action will scan dependency manifest files that change as part of a Pull Reqest, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging. -# -# Source repository: https://github.com/actions/dependency-review-action -# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement -name: 'Dependency Review' -on: [pull_request] - -permissions: - contents: read - -jobs: - dependency-review: - runs-on: ubuntu-latest - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v3 - - name: 'Dependency Review' - uses: actions/dependency-review-action@v3 diff --git a/.github/workflows/kit.yml b/.github/workflows/kit.yml deleted file mode 100644 index f835786e..00000000 --- a/.github/workflows/kit.yml +++ /dev/null @@ -1,243 +0,0 @@ -# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 -# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt - -# This file is meant to be processed with cog. -# Running "make prebuild" will bring it up to date. - -# Based on: -# https://github.com/joerick/cibuildwheel/blob/master/examples/github-deploy.yml - -# To test installing wheels without uploading them to PyPI: -# -# $ mkdir /tmp/pypi -# $ cp dist/* /tmp/pypi -# $ python -m pip install piprepo -# $ piprepo build /tmp/pypi -# $ python -m pip install -v coverage --index-url=file:///tmp/pypi/simple -# -# Note that cibuildwheel recommends not shipping wheels for pre-release versions -# of Python: https://cibuildwheel.readthedocs.io/en/stable/options/#prerelease-pythons -# So we don't. - -name: "Kits" - -on: - push: - branches: - # Don't build kits all the time, but do if the branch is about kits. - - "**/*kit*" - workflow_dispatch: - repository_dispatch: - types: - - build-kits - -defaults: - run: - shell: bash - -env: - PIP_DISABLE_PIP_VERSION_CHECK: 1 - -permissions: - contents: read - -concurrency: - group: "${{ github.workflow }}-${{ github.ref }}" - cancel-in-progress: true - -jobs: - wheels: - name: "Build ${{ matrix.os }} ${{ matrix.py }} ${{ matrix.arch }} wheels" - runs-on: ${{ matrix.os }}-latest - strategy: - matrix: - include: - # To change the matrix, edit the choices, then process this file with cog: - # - # $ make workflows - # - # which runs: - # - # $ python -m pip install cogapp - # $ python -m cogapp -crP .github/workflows/kit.yml - # - # Choices come from the table on https://pypi.org/project/cibuildwheel/ - # - # [[[cog - # #----- vvv Choices for the matrix vvv ----- - # - # # Operating systems: - # oss = ["ubuntu", "macos", "windows"] - # - # # For each OS, what arch to use with cibuildwheel: - # os_archs = { - # "ubuntu": ["x86_64", "i686", "aarch64"], - # "macos": ["arm64", "x86_64"], - # "windows": ["x86", "AMD64"], - # } - # # PYVERSIONS. Available versions: - # # https://github.com/actions/python-versions/blob/main/versions-manifest.json - # # Include prereleases if they are at rc stage. - # pys = ["cp37", "cp38", "cp39", "cp310", "cp311"] - # - # # Some OS/arch combinations need overrides for the Python versions: - # os_arch_pys = { - # ("macos", "arm64"): ["cp38", "cp39", "cp310", "cp311"], - # } - # - # #----- ^^^ ---------------------- ^^^ ----- - # - # import json - # for the_os in oss: - # for the_arch in os_archs[the_os]: - # for the_py in os_arch_pys.get((the_os, the_arch), pys): - # them = { - # "os": the_os, - # "py": the_py, - # "arch": the_arch, - # } - # print(f"- {json.dumps(them)}") - # ]]] - - {"os": "ubuntu", "py": "cp37", "arch": "x86_64"} - - {"os": "ubuntu", "py": "cp38", "arch": "x86_64"} - - {"os": "ubuntu", "py": "cp39", "arch": "x86_64"} - - {"os": "ubuntu", "py": "cp310", "arch": "x86_64"} - - {"os": "ubuntu", "py": "cp311", "arch": "x86_64"} - - {"os": "ubuntu", "py": "cp37", "arch": "i686"} - - {"os": "ubuntu", "py": "cp38", "arch": "i686"} - - {"os": "ubuntu", "py": "cp39", "arch": "i686"} - - {"os": "ubuntu", "py": "cp310", "arch": "i686"} - - {"os": "ubuntu", "py": "cp311", "arch": "i686"} - - {"os": "ubuntu", "py": "cp37", "arch": "aarch64"} - - {"os": "ubuntu", "py": "cp38", "arch": "aarch64"} - - {"os": "ubuntu", "py": "cp39", "arch": "aarch64"} - - {"os": "ubuntu", "py": "cp310", "arch": "aarch64"} - - {"os": "ubuntu", "py": "cp311", "arch": "aarch64"} - - {"os": "macos", "py": "cp38", "arch": "arm64"} - - {"os": "macos", "py": "cp39", "arch": "arm64"} - - {"os": "macos", "py": "cp310", "arch": "arm64"} - - {"os": "macos", "py": "cp311", "arch": "arm64"} - - {"os": "macos", "py": "cp37", "arch": "x86_64"} - - {"os": "macos", "py": "cp38", "arch": "x86_64"} - - {"os": "macos", "py": "cp39", "arch": "x86_64"} - - {"os": "macos", "py": "cp310", "arch": "x86_64"} - - {"os": "macos", "py": "cp311", "arch": "x86_64"} - - {"os": "windows", "py": "cp37", "arch": "x86"} - - {"os": "windows", "py": "cp38", "arch": "x86"} - - {"os": "windows", "py": "cp39", "arch": "x86"} - - {"os": "windows", "py": "cp310", "arch": "x86"} - - {"os": "windows", "py": "cp311", "arch": "x86"} - - {"os": "windows", "py": "cp37", "arch": "AMD64"} - - {"os": "windows", "py": "cp38", "arch": "AMD64"} - - {"os": "windows", "py": "cp39", "arch": "AMD64"} - - {"os": "windows", "py": "cp310", "arch": "AMD64"} - - {"os": "windows", "py": "cp311", "arch": "AMD64"} - # [[[end]]] (checksum: ded8a9f214bf59776562d91ae6828863) - fail-fast: false - - steps: - - name: "Setup QEMU" - if: matrix.os == 'ubuntu' - uses: docker/setup-qemu-action@e81a89b1732b9c48d79cd809d8d81d79c4647a18 - with: - platforms: arm64 - - - name: "Check out the repo" - uses: actions/checkout@v3 - - - name: "Install Python 3.8" - uses: actions/setup-python@v4 - with: - python-version: "3.8" - cache: pip - cache-dependency-path: 'requirements/*.pip' - - - name: "Install tools" - run: | - python -m pip install --require-hashes -r requirements/kit.pip - - - name: "Build wheels" - env: - CIBW_BUILD: ${{ matrix.py }}-* - CIBW_ARCHS: ${{ matrix.arch }} - CIBW_ENVIRONMENT: PIP_DISABLE_PIP_VERSION_CHECK=1 - CIBW_TEST_COMMAND: python -c "from coverage.tracer import CTracer; print('CTracer OK!')" - run: | - python -m cibuildwheel --output-dir wheelhouse - - - name: "List wheels" - run: | - ls -al wheelhouse/ - - - name: "Upload wheels" - uses: actions/upload-artifact@v3 - with: - name: dist - path: wheelhouse/*.whl - - sdist: - name: "Build source distribution" - runs-on: ubuntu-latest - steps: - - name: "Check out the repo" - uses: actions/checkout@v3 - - - name: "Install Python 3.8" - uses: actions/setup-python@v4 - with: - python-version: "3.8" - cache: pip - cache-dependency-path: 'requirements/*.pip' - - - name: "Install tools" - run: | - python -m pip install --require-hashes -r requirements/kit.pip - - - name: "Build sdist" - run: | - python -m build - - - name: "List tarballs" - run: | - ls -al dist/ - - - name: "Upload sdist" - uses: actions/upload-artifact@v3 - with: - name: dist - path: dist/*.tar.gz - - pypy: - name: "Build PyPy wheel" - runs-on: ubuntu-latest - steps: - - name: "Check out the repo" - uses: actions/checkout@v3 - - - name: "Install PyPy" - uses: actions/setup-python@v4 - with: - # PYVERSIONS - python-version: "pypy-3.7" - cache: pip - cache-dependency-path: 'requirements/*.pip' - - - name: "Install requirements" - run: | - pypy3 -m pip install -r requirements/kit.pip - - - name: "Build wheel" - run: | - # One wheel works for all PyPy versions. - # yes, this is weird syntax: https://github.com/pypa/build/issues/202 - pypy3 -m build -w -C="--global-option=--python-tag" -C="--global-option=pp36.pp37.pp38" - - - name: "List wheels" - run: | - ls -al dist/ - - - name: "Upload wheels" - uses: actions/upload-artifact@v3 - with: - name: dist - path: dist/*.whl diff --git a/.github/workflows/python-nightly.yml b/.github/workflows/python-nightly.yml deleted file mode 100644 index 88b2b389..00000000 --- a/.github/workflows/python-nightly.yml +++ /dev/null @@ -1,88 +0,0 @@ -# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 -# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt - -name: "Python Nightly Tests" - -on: - push: - branches: - - "**/*nightly*" - schedule: - # Run at 2:22am early every morning Eastern time (6/7:22 UTC) - # so that we get tips of CPython development tested. - # https://crontab.guru/#22_7_%2a_%2a_%2a - - cron: "22 7 * * *" - workflow_dispatch: - -defaults: - run: - shell: bash - -env: - PIP_DISABLE_PIP_VERSION_CHECK: 1 - COVERAGE_IGOR_VERBOSE: 1 - -permissions: - contents: read - -concurrency: - group: "${{ github.workflow }}-${{ github.ref }}" - cancel-in-progress: true - -jobs: - tests: - name: "Python ${{ matrix.python-version }}" - # Choose a recent Ubuntu that deadsnakes still builds all the versions for. - # For example, deadsnakes doesn't provide 3.10 nightly for 22.04 (jammy) - # because jammy ships 3.10, and deadsnakes doesn't want to clobber it. - # https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly/+packages - # https://github.com/deadsnakes/issues/issues/234 - runs-on: ubuntu-20.04 - - strategy: - matrix: - python-version: - # When changing this list, be sure to check the [gh-actions] list in - # tox.ini so that tox will run properly. PYVERSIONS - # Available versions: - # https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly/+packages - - "3.10-dev" - - "3.11-dev" - - "3.12-dev" - # https://github.com/actions/setup-python#available-versions-of-pypy - - "pypy-3.7-nightly" - - "pypy-3.8-nightly" - - "pypy-3.9-nightly" - fail-fast: false - - steps: - - name: "Check out the repo" - uses: "actions/checkout@v3" - - - name: "Install ${{ matrix.python-version }} with deadsnakes" - uses: deadsnakes/action@e3117c2981fd8afe4af79f3e1be80066c82b70f5 - if: "!startsWith(matrix.python-version, 'pypy-')" - with: - python-version: "${{ matrix.python-version }}" - - - name: "Install ${{ matrix.python-version }} with setup-python" - uses: "actions/setup-python@v4" - if: "startsWith(matrix.python-version, 'pypy-')" - with: - python-version: "${{ matrix.python-version }}" - - - name: "Show diagnostic info" - run: | - set -xe - python -VV - python -m site - python -m coverage debug sys - python -m coverage debug pybehave - - - name: "Install dependencies" - run: | - python -m pip install --require-hashes -r requirements/tox.pip - - - name: "Run tox" - run: | - python -m tox -- -rfsEX diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml deleted file mode 100644 index 5483f7b8..00000000 --- a/.github/workflows/quality.yml +++ /dev/null @@ -1,82 +0,0 @@ -# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 -# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt - -name: "Quality" - -on: - push: - branches: - - master - - nedbat/* - pull_request: - workflow_dispatch: - -defaults: - run: - shell: bash - -env: - PIP_DISABLE_PIP_VERSION_CHECK: 1 - -permissions: - contents: read - -concurrency: - group: "${{ github.workflow }}-${{ github.ref }}" - cancel-in-progress: true - -jobs: - lint: - name: "Pylint etc" - # Because pylint can report different things on different OS's (!) - # (https://github.com/PyCQA/pylint/issues/3489), run this on Mac where local - # pylint gets run. - runs-on: macos-latest - - steps: - - name: "Check out the repo" - uses: "actions/checkout@v3" - - - name: "Install Python" - uses: "actions/setup-python@v4" - with: - python-version: "3.7" # Minimum of PYVERSIONS - cache: pip - cache-dependency-path: 'requirements/*.pip' - - - name: "Install dependencies" - run: | - set -xe - python -VV - python -m site - python -m pip install --require-hashes -r requirements/tox.pip - - - name: "Tox lint" - run: | - python -m tox -e lint - - doc: - name: "Build docs" - runs-on: ubuntu-latest - - steps: - - name: "Check out the repo" - uses: "actions/checkout@v3" - - - name: "Install Python" - uses: "actions/setup-python@v4" - with: - python-version: "3.7" # Minimum of PYVERSIONS - cache: pip - cache-dependency-path: 'requirements/*.pip' - - - name: "Install dependencies" - run: | - set -xe - python -VV - python -m site - python -m pip install --require-hashes -r requirements/tox.pip - - - name: "Tox doc" - run: | - python -m tox -e doc diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml deleted file mode 100644 index 30b83856..00000000 --- a/.github/workflows/testsuite.yml +++ /dev/null @@ -1,99 +0,0 @@ -# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0 -# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt - -name: "Tests" - -on: - push: - branches: - - master - - nedbat/* - pull_request: - workflow_dispatch: - -defaults: - run: - shell: bash - -env: - PIP_DISABLE_PIP_VERSION_CHECK: 1 - COVERAGE_IGOR_VERBOSE: 1 - FORCE_COLOR: 1 # Get colored pytest output - -permissions: - contents: read - -concurrency: - group: "${{ github.workflow }}-${{ github.ref }}" - cancel-in-progress: true - -jobs: - tests: - name: "${{ matrix.python-version }} on ${{ matrix.os }}" - runs-on: "${{ matrix.os }}-latest" - - strategy: - matrix: - os: - - ubuntu - - macos - - windows - python-version: - # When changing this list, be sure to check the [gh-actions] list in - # tox.ini so that tox will run properly. PYVERSIONS - # Available versions: - # https://github.com/actions/python-versions/blob/main/versions-manifest.json - # https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#available-versions-of-python-and-pypy - - "3.7" - - "3.8" - - "3.9" - - "3.10" - - "3.11" - - "pypy-3.7" - - "pypy-3.9" - fail-fast: false - - steps: - - name: "Check out the repo" - uses: "actions/checkout@v3" - - - name: "Set up Python" - uses: "actions/setup-python@v4" - with: - python-version: "${{ matrix.python-version }}" - cache: pip - cache-dependency-path: 'requirements/*.pip' - - - name: "Install dependencies" - run: | - set -xe - python -VV - python -m site - python -m pip install --require-hashes -r requirements/tox.pip - # For extreme debugging: - # python -c "import urllib.request as r; exec(r.urlopen('https://bit.ly/pydoctor').read())" - - - name: "Run tox for ${{ matrix.python-version }}" - run: | - python -m tox -- -rfsEX - - - name: "Retry tox for ${{ matrix.python-version }}" - if: failure() - run: | - # `exit 1` makes sure that the job remains red with flaky runs - python -m tox -- -rfsEX --lf -vvvvv && exit 1 - - # This job aggregates test results. It's the required check for branch protection. - # https://github.com/marketplace/actions/alls-green#why - # https://github.com/orgs/community/discussions/33579 - success: - name: Tests successful - if: always() - needs: - - tests - runs-on: ubuntu-latest - steps: - - name: Decide whether the needed jobs succeeded or failed - uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe - with: - jobs: ${{ toJSON(needs) }} |