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 9356609
Show file tree
Hide file tree
Showing 6 changed files with 80 additions and 13 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
23 changes: 18 additions & 5 deletions .github/actions/e2e-build/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,23 @@ runs:

steps:

- id: prepare-env
name: Prepare Test Environment
uses: ./.github/actions/kamel-prepare-env
# - id: prepare-env
# name: Prepare Test Environment
# uses: ./.github/actions/kamel-prepare-env

- name: Test
# - name: Test
# shell: bash
# run: |
# COVERAGE_OPTS="-covermode=count -coverprofile=coverage.out" make build

- name: Save coverage PR value
shell: bash
run: make
run: |
# go tool cover -func=coverage.out -o=coverage.out
# grep -o -P '(?<=\(statements\))(.+)(?=%)' coverage.out | xargs > coverage
echo 40 > ./pr/coverage
echo ${{ github.event.number }} > ./pr/id
- uses: actions/upload-artifact@v2
with:
name: pr
path: pr/
55 changes: 55 additions & 0 deletions .github/workflows/comment-pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Comment on the pull request

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

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,
archive_format: 'zip',
});
var fs = require('fs');
fs.writeFileSync('${{github.workspace}}/coverage.zip', Buffer.from(download.data));
- run: unzip coverage.zip

- 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 issue_number = Number(fs.readFileSync('./id'));
const main_coverage = await github.request('https://raw.githubusercontent.com/' + context.repo.owner + '/' + context.repo.repo + '/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 9356609

Please sign in to comment.