Skip to content

Commit

Permalink
feat(ci): new coverage flow
Browse files Browse the repository at this point in the history
  • Loading branch information
squakez committed Jan 11, 2024
1 parent 2369799 commit 47330be
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 9 deletions.
3 changes: 2 additions & 1 deletion .github/actions/automatic-updates/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ runs:
run: |
go test -v ./... -covermode=count -coverprofile=coverage.out
go tool cover -func=coverage.out -o=coverage.out
grep -o -P '(?<=\(statements\))(.+)(?=%)' coverage.out | xargs > coverage
touch badge.out
- name: Go Coverage Badge
uses: ./.github/actions/coverage-badge
Expand All @@ -89,7 +90,7 @@ runs:
run: |
git config --local user.email "$CI_EMAIL"
git config --local user.name "$CI_USER"
git add -A && git commit -m 'chore: nightly coverage badge update' && echo "badge=1" >> $GITHUB_ENV || echo "No changes to coverage badge"
git add -A -f && git commit -m 'chore: nightly coverage changed' && echo "badge=1" >> $GITHUB_ENV || echo "No changes to coverage"
# Git push
- name: Push changes
Expand Down
13 changes: 12 additions & 1 deletion .github/actions/e2e-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,15 @@ runs:

- name: Test
shell: bash
run: make
run: |
COVERAGE_OPTS="-covermode=count -coverprofile=coverage.out" make build
- name: Save coverage PR value
shell: bash
run: |
go tool cover -func=coverage.out -o=coverage.out
grep -o -P '(?<=\(statements\))(.+)(?=%)' coverage.out | xargs > coverage
- uses: actions/upload-artifact@v2
with:
name: coverage
path: coverage
49 changes: 49 additions & 0 deletions .github/workflows/comment-pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Comment on the pull request

on:
workflow_run:
workflows: ["build"]
types:
- completed

jobs:
upload:
runs-on: ubuntu-latest
if: >
github.event.workflow_run.event == 'pull_request' &&
github.event.workflow_run.conclusion == 'success'
steps:
- name: 'Download coverage artifact'
uses: actions/[email protected]
with:
script: |
var artifacts = await github.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{github.event.workflow_run.id }},
});
var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name == "coverage"
})[0];
var download = await github.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
});
var fs = require('fs');
fs.writeFileSync('${{github.workspace}}/coverage', Buffer.from(download.data));
- name: 'Comment on PR'
uses: actions/github-script@v3
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
var fs = require('fs');
const coverage = Number(fs.readFileSync('./coverage'));
const main_coverage = await github.request('https://raw.githubusercontent.com/apache/camel-k/main/coverage')
await github.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue_number,
body: 'Test coverage: ' + coverage + '. Camel K main coverage: ' + main_coverage
});
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,9 @@ anaconda-mode/
# Test binary, build with 'go test -c'
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Output of the go coverage tool
coverage.out
coverage

### Vim ###
# swap
Expand Down
1 change: 1 addition & 0 deletions coverage
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
33.6
6 changes: 1 addition & 5 deletions script/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -243,11 +243,7 @@ endif

test: do-build
@echo "####### Running unit test..."
go test ./...

test-fmt: do-build
@echo "####### Running unit test..."
go test -v ./... -json 2>&1 | gotestfmt
go test ./... $(COVERAGE_OPTS)

#
# Common tests that do not require any customized operator setting. They can leverage a unique namespaced operator installation to reduce
Expand Down

0 comments on commit 47330be

Please sign in to comment.