Skip to content

Commit

Permalink
Upload test report (#5035)
Browse files Browse the repository at this point in the history
## Which problem is this PR solving?
- Relates to #2859
- Continues from #5030

## Description of the changes
- Enables a test report summary in the PR comment and check summary.

## How was this change tested?
- Confirm upload job is running successfully in my fork:
https://github.com/albertteoh/jaeger/actions/runs/7316648725.
- Can only know if it's working once the PR is created.

## Checklist
- [x] I have read
https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
- [x] I have signed all commits

---------

Signed-off-by: Albert Teoh <[email protected]>
Co-authored-by: Albert Teoh <[email protected]>
  • Loading branch information
albertteoh and Albert Teoh committed Jan 2, 2024
1 parent 5c6348e commit 0a0bdd4
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 7 deletions.
5 changes: 4 additions & 1 deletion .github/workflows/ci-unit-tests-go-tip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,11 @@ jobs:
uses: EnricoMi/publish-unit-test-result-action@v2
if: always()
with:
check_name: Unit Tests Summary
check_name: Go Tip Unit Tests Summary
junit_files: junit-report.xml
# This workflow isn't run during Pull Requests, so check run and PR comment summaries are not needed.
check_run: false
comment_mode: off

- name: Lint
run: echo skip linting on Go tip
42 changes: 42 additions & 0 deletions .github/workflows/ci-unit-tests-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Unit Test Results

on:
workflow_run:
workflows: ["Unit Tests"]
types:
- completed

jobs:
unit-test-results:
name: Unit Test Results
runs-on: ubuntu-latest
if: github.event.workflow_run.conclusion != 'skipped'

permissions:
checks: write

# Needed unless run with comment_mode: off.
pull-requests: write

# Required by download step to access artifacts API.
actions: read

steps:
- name: Harden Runner
uses: step-security/harden-runner@eb238b55efaa70779f274895e782ed17c84f2895 # v2.6.1
with:
egress-policy: audit # TODO: change to 'egress-policy: block' after a couple of runs

- name: Download and Extract Artifacts
uses: dawidd6/action-download-artifact@v3
with:
run_id: ${{ github.event.workflow_run.id }}
path: artifacts

- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
with:
commit: ${{ github.event.workflow_run.head_sha }}
event_file: artifacts/Event File/event.json
event_name: ${{ github.event.workflow_run.event }}
files: "artifacts/**/*.xml"
20 changes: 20 additions & 0 deletions .github/workflows/ci-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,16 @@ jobs:
with:
check_name: Unit Tests Summary
junit_files: junit-report.xml
# PR comments and check run will be performed by the "Unit Test Results" workflow.
comment_mode: off
check_run: false

- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: Test Results
path: junit-report.xml

- name: Setup CODECOV_TOKEN
uses: ./.github/actions/setup-codecov
Expand All @@ -61,3 +71,13 @@ jobs:
flags: unittests
fail_ci_if_error: true
token: ${{ env.CODECOV_TOKEN }}

event-file:
name: "Event File"
runs-on: ubuntu-latest
steps:
- name: Upload
uses: actions/upload-artifact@v3
with:
name: Event File
path: ${{ github.event_path }}
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ install-ci: install-test-tools install-build-tools

.PHONY: test-ci
test-ci: GOTEST := $(GOTEST_QUIET) -json
test-ci: install-test-tools build-examples cover
test-ci: build-examples cover

.PHONY: test-report
test-report:
Expand Down
21 changes: 16 additions & 5 deletions cmd/query/app/handler_archive_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ package app

import (
"errors"
"fmt"
"testing"

"github.com/stretchr/testify/assert"
Expand All @@ -34,9 +33,21 @@ func TestGetArchivedTrace_NotFound(t *testing.T) {
mockReader := &spanstoremocks.Reader{}
mockReader.On("GetTrace", mock.AnythingOfType("*context.valueCtx"), mock.AnythingOfType("model.TraceID")).
Return(nil, spanstore.ErrTraceNotFound).Once()
for _, tc := range []spanstore.Reader{nil, mockReader} {
archiveReader := tc // capture loop var
t.Run(fmt.Sprint(archiveReader), func(t *testing.T) {
for _, tc := range []struct {
name string
reader spanstore.Reader
}{
{
name: "nil",
reader: nil,
},
{
name: "mock reader",
reader: mockReader,
},
} {
tc := tc // capture loop var
t.Run(tc.name, func(t *testing.T) {
withTestServer(func(ts *testServer) {
ts.spanReader.On("GetTrace", mock.AnythingOfType("*context.valueCtx"), mock.AnythingOfType("model.TraceID")).
Return(nil, spanstore.ErrTraceNotFound).Once()
Expand All @@ -45,7 +56,7 @@ func TestGetArchivedTrace_NotFound(t *testing.T) {
require.EqualError(t, err,
`404 error from server: {"data":null,"total":0,"limit":0,"offset":0,"errors":[{"code":404,"msg":"trace not found"}]}`+"\n",
)
}, querysvc.QueryServiceOptions{ArchiveSpanReader: archiveReader}) // nil is ok
}, querysvc.QueryServiceOptions{ArchiveSpanReader: tc.reader}) // nil is ok
})
}
}
Expand Down

0 comments on commit 0a0bdd4

Please sign in to comment.