11name : Test Coverage
22
3+ permissions :
4+ contents : read
5+ pull-requests : write
6+
37env :
48 K_SOUP_COV_MIN_BRANCH : 100
59 K_SOUP_COV_MIN_LINE : 100
610 K_SOUP_COV_MIN_HARD : true
7- K_SOUP_COV_FORMATTERS : " html,rcov,lcov,json,tty"
11+ K_SOUP_COV_FORMATTERS : " html,xml, rcov,lcov,json,tty"
812 K_SOUP_COV_DO : true
913 K_SOUP_COV_MULTI_FORMATTERS : true
1014 K_SOUP_COV_COMMAND_NAME : " RSpec Coverage"
2226 # Allow manually triggering the workflow.
2327 workflow_dispatch :
2428
25- permissions :
26- contents : read
27-
2829# Cancels all previous workflow runs for the same branch that have not yet completed.
2930concurrency :
3031 # The concurrency group contains the workflow name and the branch name.
7374 - name : Tests for ${{ matrix.ruby }}@current via ${{ matrix.exec_cmd }}
7475 run : bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }}
7576
77+ # Do SaaS coverage uploads first
78+ - name : Upload coverage to Coveralls
79+ uses : coverallsapp/github-action@master
80+ with :
81+ github-token : ${{ secrets.GITHUB_TOKEN }}
82+ continue-on-error : ${{ matrix.experimental != 'false' }}
83+
84+ - name : Upload coverage to QLTY
85+ uses : qltysh/qlty-action/coverage@main
86+ with :
87+ token : ${{secrets.QLTY_COVERAGE_TOKEN}}
88+ files : coverage/.resultset.json
89+ continue-on-error : ${{ matrix.experimental != 'false' }}
90+
91+ # Build will fail here if coverage upload fails
92+ # which will hopefully be noticed for the lack of code coverage comments
93+ - name : Upload coverage to CodeCov
94+ uses : codecov/codecov-action@v5
95+ with :
96+ fail_ci_if_error : true # optional (default = false)
97+ token : ${{ secrets.CODECOV_TOKEN }}
98+ verbose : true # optional (default = false)
99+
100+ # Then PR comments
76101 - name : Code Coverage Summary Report
7710278103 if : ${{ github.event_name == 'pull_request' }}
@@ -95,23 +120,3 @@ jobs:
95120 recreate : true
96121 path : code-coverage-results.md
97122 continue-on-error : ${{ matrix.experimental != 'false' }}
98-
99- - name : Upload coverage to Coveralls
100- uses : coverallsapp/github-action@master
101- with :
102- github-token : ${{ secrets.GITHUB_TOKEN }}
103- continue-on-error : ${{ matrix.experimental != 'false' }}
104-
105- - name : Upload coverage to QLTY
106- uses : qltysh/qlty-action/coverage@main
107- with :
108- coverage-token : ${{secrets.QLTY_COVERAGE_TOKEN}}
109- files : coverage/.resultset.json
110- continue-on-error : ${{ matrix.experimental != 'false' }}
111-
112- - name : Upload coverage to CodeCov
113- uses : codecov/codecov-action@v5
114- with :
115- fail_ci_if_error : true # optional (default = false)
116- token : ${{ secrets.CODECOV_TOKEN }}
117- verbose : true # optional (default = false)
0 commit comments