-
Notifications
You must be signed in to change notification settings - Fork 55
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: add a monthly (or on demand) TIOBE reporting workflow (#494)
Once a month, send the latest code quality (including coverage) data to TIOBE for central storage. --------- Co-authored-by: Ben Hoyt <[email protected]>
- Loading branch information
1 parent
5c8a9ab
commit 6b7d6b5
Showing
1 changed file
with
39 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
name: TIOBE Quality Checks | ||
|
||
on: | ||
workflow_dispatch: | ||
schedule: | ||
- cron: '0 7 1 * *' | ||
|
||
jobs: | ||
TICS: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Set up Go | ||
uses: actions/setup-go@v4 | ||
|
||
- name: Install dependencies | ||
run: | | ||
go install honnef.co/go/tools/cmd/[email protected] | ||
go install github.com/axw/gocov/[email protected] | ||
go install github.com/AlekSi/[email protected] | ||
# We could store a report from the regular run, but this is cheap to do and keeps this isolated. | ||
- name: Test and generate coverage report | ||
run: | | ||
go test -coverprofile=coverage.out ./... | ||
gocov convert coverage.out > coverage.json | ||
# Annoyingly, the coverage.xml file needs to be in a .coverage folder. | ||
mkdir .coverage | ||
gocov-xml < coverage.json > .coverage/coverage.xml | ||
- name: TICS GitHub Action | ||
uses: tiobe/tics-github-action@v3 | ||
with: | ||
mode: qserver | ||
viewerUrl: https://canonical.tiobe.com/tiobeweb/TICS/api/cfg?name=default | ||
ticsAuthToken: ${{ secrets.TICSAUTHTOKEN }} | ||
project: pebble | ||
installTics: true |