Skip to content

Commit

Permalink
ci: switch to Coveralls' first-party GitHub Action
Browse files Browse the repository at this point in the history
Dropped `coveralls` dev-requirement in favor of using the `coverage`
package directly, and upgraded it to the latest release series (7.x).

The `line_bits` table in .coverage (SQLite DB of results, generated by
`coverage`) isn't populated. coverallsapp/coverage-reporter tries an SQL
query against the database based on this empty table, and fails because
there aren't any coverage results to upload.

We work around this by having `coverage xml` generate a file format that
the reporter can understand.

In `.coveragerc`, switched from setting the `source` option to using the
`include` option instead; this fixes incorrect relative paths being
reported to Coveralls (which breaks both source-fetching and the tree).
  • Loading branch information
dgw committed Nov 13, 2023
1 parent 16871a7 commit 141eccb
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 13 deletions.
3 changes: 2 additions & 1 deletion .coveragerc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Sample conf file from http://nedbatchelder.com/code/coverage/config.html
[run]
source = sopel
include =
sopel/*
branch = True
omit =
sopel/web.py
Expand Down
24 changes: 13 additions & 11 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,16 @@ jobs:
run: make lint
- name: Run pytest
run: make test_norecord
- name: Generate XML coverage report
# Coveralls reporter doesn't understand branch coverage in .coverage DB
# and conversion to LCOV doesn't work right either
run: coverage xml
- name: Upload coverage data to coveralls.io
run: coveralls --service=github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_FLAG_NAME: ${{ matrix.python-version }}
COVERALLS_PARALLEL: true
uses: coverallsapp/github-action@v2
with:
flag-name: ${{ matrix.python-version }}
parallel: true
file: coverage.xml

coveralls:
if: ${{ github.repository_owner == 'sopel-irc' }}
Expand All @@ -55,11 +59,9 @@ jobs:
name: Finalize job on coveralls.io
needs: tests
runs-on: ubuntu-latest
container: python:3-slim
steps:
- name: Notify coveralls.io
run: |
pip install --upgrade coveralls
coveralls --finish
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: coverallsapp/github-action@v2
with:
parallel-finished: true
carryforward: all
2 changes: 1 addition & 1 deletion dev-requirements.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# These are requirements to develop Sopel itself.
coveralls>=2.0
coverage~=7.0
flake8>=5
flake8-coding
flake8-future-import
Expand Down

0 comments on commit 141eccb

Please sign in to comment.