Giter Site home page Giter Site logo

scacap / action-surefire-report Goto Github PK

View Code? Open in Web Editor NEW
86.0 86.0 57.0 2.29 MB

Reports surefire test results as GitHub Pull Request Check

License: Apache License 2.0

JavaScript 82.80% Java 14.35% Kotlin 1.89% Python 0.48% Go 0.48%
github-actions go gradle maven python

action-surefire-report's People

Contributors

dependabot[bot] avatar ghaiszaher avatar hyukjinkwon avatar jmisur avatar justanotherdev avatar nineinchnick avatar quietbird avatar renatoabreu11 avatar renatoathaydes avatar scalable-atlantis[bot] avatar yeikel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

action-surefire-report's Issues

Support for event 'workflow_dispatch'

I don't see any tab in workflow summary/job summary even if it ends with success :(

I mean... I want to process test results also for workflow run on-demand / not in PR context.

No tests found when gradle cache entry is used

We are using gradle as a build tool. For our CI Setup we use GitHub actions and that includes this one, which generally we like.

Unfortunately now we ran into the issue for the first time, that the action reported a failure because there were no tests found. I like that feature, because it actually prevented me disabling all test by accident once. But in this case we used a gradle cache and so we expected that there might not be any tests.

Any idea how we can accommodate that without disabling the check of missing tests?

Cannot parse surefire-report XML

When using this action with this configuration:

- name: Publish Test Report
  if: failure()
  uses: scacap/action-surefire-report@v1
  with:
    github_token: ${{ secrets.GITHUB_TOKEN }}
    check_name: Test Report for ${{ matrix.module }} on ${{ matrix.database }}
    fail_if_no_tests: false

We get the following error:

Run scacap/action-surefire-report@v1
Going to parse results form **/surefire-reports/TEST-*.xml
 **/failsafe-reports/TEST-*.xml
Error: ((testcase.failure && testcase.failure._cdata) || (testcase.failure && testcase.failure._text) || (testcase.error && testcase.error._cdata) || (testcase.error && testcase.error._text) || "").trim is not a function

example build: https://github.com/mustaphazorgati/taskana/runs/1818385382?check_suite_focus=true

XML Report (extracted from the example build): surefire-xml-report.zip

Resource not accessible by integration when using from fork PRs

Getting this error here when this action runs from a PR from a fork:

Posting status 'completed' with conclusion 'failure' to https://github.com/microsoft/vscode-python/pull/14326 (sha: f4e60b0f743a056b5bfdfe4c85388eeff145b22e)
Error: Resource not accessible by integration

I believe that's because of this:
https://docs.github.com/en/free-pro-team@latest/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token

Fork PRs don't get write access.

Is there a way to get the report to work without requiring write access?

"No test results found!" after some time or after new run?

In a run some 20 minutes ago I did see test results until maybe 10 minutes ago, but now there is only:
grafik

See: https://github.com/famod/quarkus/runs/2107048073?check_suite_focus=true

I am 100% sure there were all those nice annotations before and this also contradicts the output of the action:

Result: 5227 tests run, 12 skipped, 96 failed.
Posting status 'completed' with conclusion 'failure' to refs/heads/main (sha: ed8726ac023fddc086a873d10ed85f84ce4622f7)

Why have those results vanished? Is it because I worked on the workflow file (I also added a second invocation of the action for gradle) via amend, force push and triggered a new run manually?

PS: Thanks for this handy action!

Report check item appears under the wrong workflow name

Originally I was just using this action in a backend focused workflow, and even then, the report/check item was appearing under one of my other workflows.

I've since add it to both frontend/backend workflows, but both check items appear under the same workflow. "Jest Test Results" should appear under "Frontend Development CI" and "Grails Test Results" should appear under "Backend Development CI".

Screen Shot 2021-01-07 at 12 09 33 PM

Documentation lacking on github token permissions

If you lock down the job permissions for the GITHUB_TOKEN more granularly then you will need to be aware of what permission scope this action requires within that job.

As a result the README should be updated with a short line on the action needed checks: 'write'

TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator)) on Mac OS runner

The default Mac OS runner does no longer seem to be compatible with this action. It emits

Run scacap/action-surefire-report@v1
  with:
    check_name: Test report (macOS-latest, JDK 8)
    github_token: ***
    report_paths: **/surefire-reports/TEST-*.xml, **/failsafe-reports/TEST-*.xml
    fail_on_test_failures: false
    fail_if_no_tests: true
    skip_publishing: false
  env:
    JAVA_HOME: /Users/runner/hostedtoolcache/Java_Temurin-Hotspot_jdk/8.0.345-1/x64/Contents/Home
    MVN_ADDITIONAL_OPTS: 
    MVN_GOAL: clean verify
/Users/runner/work/_actions/scacap/action-surefire-report/v1/dist/index.js:15798
    throw error;
    ^

TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))
    at macosRelease (/Users/runner/work/_actions/scacap/action-surefire-report/v1/dist/index.js:[2](https://github.com/Adobe-Consulting-Services/acs-aem-commons/actions/runs/3385000713/jobs/5622637838#step:6:2)98[3](https://github.com/Adobe-Consulting-Services/acs-aem-commons/actions/runs/3385000713/jobs/5622637838#step:6:3)3:26)
    at osName (/Users/runner/work/_actions/scacap/action-surefire-report/v1/dist/index.js:7110:18)
    at getUserAgent (/Users/runner/work/_actions/scacap/action-surefire-report/v1/dist/index.js:15792:53)
    at parseOptions (/Users/runner/work/_actions/scacap/action-surefire-report/v1/dist/index.js:793[4](https://github.com/Adobe-Consulting-Services/acs-aem-commons/actions/runs/3385000713/jobs/5622637838#step:6:4):[5](https://github.com/Adobe-Consulting-Services/acs-aem-commons/actions/runs/3385000713/jobs/5622637838#step:6:5)7)
    at new Octokit (/Users/runner/work/_actions/scacap/action-surefire-report/v1/dist/index.js:7[6](https://github.com/Adobe-Consulting-Services/acs-aem-commons/actions/runs/3385000713/jobs/5622637838#step:6:6)24:31)
    at Object.858 (/Users/runner/work/_actions/scacap/action-surefire-report/v1/dist/index.js:15253:28)
    at __webpack_require__ (/Users/runner/work/_actions/scacap/action-surefire-report/v1/dist/index.js:24:31)
    at Object.8[7](https://github.com/Adobe-Consulting-Services/acs-aem-commons/actions/runs/3385000713/jobs/5622637838#step:6:7)2 (/Users/runner/work/_actions/scacap/action-surefire-report/v1/dist/index.js:1544[8](https://github.com/Adobe-Consulting-Services/acs-aem-commons/actions/runs/3385000713/jobs/5622637838#step:6:8):16)
    at __webpack_require__ (/Users/runner/work/_actions/scacap/action-surefire-report/v1/dist/index.js:24:31)
    at Object.507 (/Users/runner/work/_actions/scacap/action-surefire-report/v1/dist/index.js:7[9](https://github.com/Adobe-Consulting-Services/acs-aem-commons/actions/runs/3385000713/jobs/5622637838#step:6:9)70:[16](https://github.com/Adobe-Consulting-Services/acs-aem-commons/actions/runs/3385000713/jobs/5622637838#step:6:17))

The runners for other operating systems are not affected. Probably related to #85.
macOS-latest comes with NodeJS 16: https://github.com/actions/runner-images/blob/main/images/macos/macos-11-Readme.md

Provide access to test <system-out>

It would be nice if the annotation provides a quick access to the test logs (system out) in addition to the existing "raw output". This would be very handy to troubleshoot failing tests, especially when the project has many and output is redirected into file to avoid polluting the build console.

Test logs are available under the <system-out> XML tag or in a separate -output.txt file when the surefire plugin is configured to redirect console output in a file.

I got "Parameter token or opts.auth is required" at the end of run.

hi, I uses "ScaCap/[email protected]" after my maven test.

but for some reason, the github actions for my repo always report "Parameter token or opts.auth is required" error.

i try put GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} into my yml, but github complain GITHUB_TOKEN is not allowed. :(

here is code snipper

    - name: Build cxth-wasp without tests
      run: mvn clean install -DskipTests=true -DskipIntegrationTests=true #skip all tests first to speed up the build process at the moment
    - name: Run unit test against wasp
      run: mvn test --fail-at-end
    - name: Surefire Report
      uses: ScaCap/[email protected]
      env:
        GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}

Error: internal error: Huge input lookup

My build starts failing since v1.6.0.
Screenshot 2023-03-10 at 12 16 40

If I point my build specifically to plugin v1.5.0, it is working again
Screenshot 2023-03-10 at 12 17 23

I suspect the xml parsing library has been changed since then - https://github.com/ScaCap/action-surefire-report/releases/tag/v1.6.0

Could that be a possibility that the XML_PARSE_HUGE option did not pass properly to the underlying logic of the new library libxmljs? - https://github.com/libxmljs/libxmljs/blob/23da4cf9eca569a37cc36a26977fa7ab0b53d875/src/xml_document.cc#L338

Bazel test reports can't be parsed

The glob expression sets followSymLinks to false, but Bazel uses symlinks extensively, and the testlogs are placed in a symlink along the lines of bazel-testlogs -> /private/var/tmp/_bazel_iulian.dragos/8ef0a16ed66666ff343fb34c1fdc0021/execroot/intellij_with_bazel/bazel-out/darwin-fastbuild/testlogs

[bug] Cannot parse report from jest junit

The action worked as expected when the tests pass, but on a test failure the action fails on parsing...

Run scacap/action-surefire-report@v1
Going to parse results form /home/runner/work/workers/workers/services/buy-label-worker/junit.xml
Error: Cannot read property 'message' of undefined

This is the report it tried to parse above...

<?xml version="1.0" encoding="UTF-8"?>
<testsuites name="jest tests" tests="2" failures="1" errors="0" time="2.856">
  <testsuite name="Buy Label Worker" errors="0" failures="1" skipped="0" timestamp="2020-10-07T02:37:17" time="1.112" tests="2">
    <testcase classname="Buy Label Worker it buys a label" name="Buy Label Worker it buys a label" time="0.001">
    </testcase>
    <testcase classname="Buy Label Worker fails" name="Buy Label Worker fails" time="0.002">
      <failure>Error: expect(received).toEqual(expected) // deep equality

Expected: true
Received: false
    at Object.&lt;anonymous&gt; (/Users/matt/code/workers/services/buy-label-worker/__tests__/unit/index.test..js:25:19)
    at Object.asyncJestTest (/Users/matt/code/workers/.yarn/cache/jest-jasmine2-npm-26.5.2-5ec0f6a601-5aacb6b0c8.zip/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:106:37)
    at /Users/matt/code/workers/.yarn/cache/jest-jasmine2-npm-26.5.2-5ec0f6a601-5aacb6b0c8.zip/node_modules/jest-jasmine2/build/queueRunner.js:45:12
    at new Promise (&lt;anonymous&gt;)
    at mapper (/Users/matt/code/workers/.yarn/cache/jest-jasmine2-npm-26.5.2-5ec0f6a601-5aacb6b0c8.zip/node_modules/jest-jasmine2/build/queueRunner.js:28:19)
    at /Users/matt/code/workers/.yarn/cache/jest-jasmine2-npm-26.5.2-5ec0f6a601-5aacb6b0c8.zip/node_modules/jest-jasmine2/build/queueRunner.js:75:41
    at processTicksAndRejections (internal/process/task_queues.js:97:5)</failure>
    </testcase>
  </testsuite>
</testsuites>

The generated annotations have wrong line, file and test name properties

If you might have a look at https://github.com/Vampire/svn2git/actions/runs/167642031
There are three tests failing
Your action generates three annotations for that
But the annotations are somewhat wrong
Line and File are wrong
test name is wrong
As the report generated by the AutoModality/action-xunit-viewer action seems to be fine, I guess it is not a problem of the XML files being wrong.
The XML reports are uploaded as artifacts, so you can have a look at them.

JavaScript heap out of memory

Hi, we just started using this test reporter with our project and love it! Sometimes the reporter throws a heap out of memory error - is there anything we can configure to help with this? We are running a kotlin and run tests with junit. this is the step:

      - name: Surefire Report
        if: ${{ failure() }}
        uses: ScaCap/action-surefire-report@v1
        with:
          github_token: ${{ secrets.github_token }}
          report_paths: '**/build/test-results/test/TEST-*.xml'

this is the task in our gradle file:

    tasks.withType<Test> {
        reports.junitXml.isEnabled = true
    }
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

<--- Last few GCs --->

[1937113:0x2c650d0]   137686 ms: Scavenge 2028.3 (2034.9) -> 2028.2 (2040.2) MB, 7.4 / 0.0 ms  (average mu = 0.214, current mu = 0.244) allocation failure 
[1937113:0x2c650d0]   137706 ms: Scavenge 2031.5 (2040.2) -> 2031.9 (2040.9) MB, 11.7 / 0.0 ms  (average mu = 0.214, current mu = 0.244) allocation failure 
[1937113:0x2c650d0]   137719 ms: Scavenge 2032.1 (2040.9) -> 2031.7 (2052.2) MB, 12.1 / 0.0 ms  (average mu = 0.214, current mu = 0.244) allocation failure 


 1: 0x9da7c0 node::Abort() [/home/ubuntu/actions-runner/externals/node12/bin/node]
<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0x1374fd9]
Security context: 0x0ce84d3408a1 <JSObject>
    1: write [0x2b782946e3a9] [/home/ubuntu/actions-runner/_work/_actions/ScaCap/action-surefire-report/v1/dist/index.js:~2942] [pc=0x19647738b311](this=0x2ba0bf6a7ba1 <SAXParser map = 0x36e25b3f11c1>,0x2ba0bf6a7b41 <Uint8Array map = 0x2027dce65191>)
    2: /* anonymous */ [0x1fdda25d8fa9] [/home/ubuntu/actions-runner/_work/_actions/ScaCap/action-surefire-report/...

 2: 0x9db976 node::OnFatalError(char const*, char const*) [/home/ubuntu/actions-runner/externals/node12/bin/node]
 3: 0xb39f1e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/home/ubuntu/actions-runner/externals/node12/bin/node]
 4: 0xb3a299 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/home/ubuntu/actions-runner/externals/node12/bin/node]
 5: 0xce5635  [/home/ubuntu/actions-runner/externals/node12/bin/node]
 6: 0xce5cc6 v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/home/ubuntu/actions-runner/externals/node12/bin/node]
 7: 0xcf1b5a v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/home/ubuntu/actions-runner/externals/node12/bin/node]
 8: 0xcf2a65 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/home/ubuntu/actions-runner/externals/node12/bin/node]
 9: 0xcf410f v8::internal::Heap::HandleGCRequest() [/home/ubuntu/actions-runner/externals/node12/bin/node]
10: 0xca30f4 v8::internal::StackGuard::HandleInterrupts() [/home/ubuntu/actions-runner/externals/node12/bin/node]
11: 0xff1af7 v8::internal::Runtime_StackGuard(int, unsigned long*, v8::internal::Isolate*) [/home/ubuntu/actions-runner/externals/node12/bin/node]
12: 0x1374fd9  [/home/ubuntu/actions-runner/externals/node12/bin/node]

please let me know if there's any additional useful information i can provide!

Test results of submodules not scanned.

Hi,

I have this structure on my project :

root (pom)
|- common (jar) <- has tests !
\ parent (pom)

In my case the report ends with this error :

Going to parse results form **/surefire-reports/TEST-*.xml
Result: No test results found!
Posting status 'completed' with conclusion 'failure' to refs/heads/master (sha: ff208c6cb397bf448ffd683191cac15b7777d933)

I've tried specifying the folder and it doesn't work :

Going to parse results form commons/target/surefire-reports/TEST-*.xml
Result: No test results found!
Posting status 'completed' with conclusion 'failure' to refs/heads/master (sha: 0e5d9ad53dea9a5e55f57f3545ec47669442f3d9)

I've added a step to list the surefire reports and there are present in the target folder.

Not always publish report

When creating a report, it is not always available in the GIU github. Where could the problem be?

image

but in GUI:

image

Step publish is only send notification to teams.

Update to actions/[email protected]

We are getting warnings when using this action that the set-output commands via standard out have been deprecated. The release note makes it sound like for actions using actions/core, the only action required is to update to v1.10.0.

Instead of recommending `maven.test.failure.ignore`, use always() for publish test reports

Instead of ignoring the test failures in the stage where the tests are run, it may be better to recommend that the if: ${{ always() }} condition for the Publish Test Report stage.

This is especially true for builds where the tests are run as part of a stage that also publishes a snapshot artifact, and having the tests fail should mean that the snapshot should not be published. It's also worth noting that the example usage will 'pass' a build even if tests fail (it isn't using the fail_on_test_failures option)

Example with if always():

name: build
on:
  pull_request:

jobs:
  build:
    name: Build and Run Tests
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v1
      - name: Build and Run Tests
        run: mvn test --batch-mode
      - name: Publish Test Report
        if: ${{ always() }}
        uses: scacap/action-surefire-report@v1
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}

Error: request to https://api.github.com/repos/xxx/check-runs failed, reason: tunneling socket could not be established, statusCode=407

Hi experts,
I'm running job in the self-hosted runners, when I use scacap/action-surefire-report@v1 to publish report, I always get the error Error: request to https://api.github.com/repos/intel-analytics/BigDL/check-runs failed, reason: tunneling socket could not be established, statusCode=407 https://github.com/intel-analytics/BigDL/runs/7790266534?check_suite_focus=true

    - name: Publish Test Report
      if: ${{ always() }}
      uses: scacap/action-surefire-report@v1
      with:
        check_name: Example mvn Report
        report_paths: scala/dllib/target/surefire-reports/*.xml

image

I tried to add env to set the proxy then I got Error: request to https://api.github.com/repos/intel-analytics/BigDL/check-runs failed, reason: connect ETIMEDOUT 140.82.114.6:443 https://github.com/intel-analytics/BigDL/runs/7836407257?check_suite_focus=true

    - name: Publish Test Report
      env:
        https_proxy: http://xxx.com:913
        http_proxy: http://xxx.com:913
        no_proxy: api.github.com
      if: ${{ always() }}
      uses: scacap/action-surefire-report@v1
      with:
        check_name: Example mvn Report
        github_token: ${{ secrets.GITHUB_TOKEN }}
        report_paths: scala/dllib/target/surefire-reports/TEST*.xml

image

Where could the problem be?

Make no-JUnit test file case as successful case with a warning

In my case, I dynamically skip and only run the relevant tests (and therefore don't generate JUnit XML files at all if all are skipped). In this case, the current plugin reports it as a failure (see https://github.com/apache/spark/runs/1196319934 as an example).

Result: No test results found!
Posting status 'completed' with conclusion 'failure' to refs/heads/master (sha: 4c712f370e299fe5097bf988107726587ece90fc)

Should we maybe issue a warning and make it as a successful case at https://github.com/ScaCap/action-surefire-report/blob/master/action.js#L16, or at least have a way to ignore this error?

Error: Validation Failed

Hi,
trying to use this action. Added it with:

      - name: Publish Test Report
        if: success() || failure()
        uses: scacap/action-surefire-report@v1

however, no test report is created. I get the following in the logs of the action:

Result: 4522 tests run, 28 skipped, 6 failed.
Posting status 'completed' with conclusion 'failure' to refs/heads/minimize (sha: d343f8acf441370d10b7c74c4bad42f46c2fd404)
Error: Validation Failed: {"resource":"CheckRun","code":"invalid","field":"annotations"}

currently running on a branch. Am I doing something wrong? or is it a bug?

Failsafe

Hey, thanks for this great action!
Just one improvement I'd suggest is to include Failsafe into the paths by default for IT tests, as it follows the same reports structure anyway.

New release v1.6.0 error loading shared library

Hi, after new release, we have observed an issue:

Run scacap/action-surefire-report@v1
with:
check_name: All Tests Result
github_token: ***
report_paths: **/surefire-reports/TEST-.xml, **/failsafe-reports/TEST-.xml
create_check: true
fail_on_test_failures: false
fail_if_no_tests: true
skip_publishing: false
file_name_in_stack_trace: false

node:internal/modules/cjs/loader:1189
return process.dlopen(module, path.toNamespacedPath(filename));
Error: Error loading shared library libstdc++.so.6: No such file or directory (needed by /__w/_actions/scacap/action-surefire-report/v1/dist/build/Release/xmljs.node) at Object.Module._extensions..node (node:internal/modules/cjs/loader:1189:18) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:[10] 05:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.1463 (/__w/_actions/scacap/action-surefire-report/v1/dist/index.js:10137:18) at __nccwpck_require__ (/__w/_actions/scacap/action-surefire-report/v1/dist/index.js:16797:43) at Object.6737 (/__w/_actions/scacap/action-surefire-report/v1/dist/index.js:10091:16) at __nccwpck_require__ (/__w/_actions/scacap/action-surefire-report/v1/dist/index.js:16797:43) at Object.[12] { code: 'ERR_DLOPEN_FAILED' }

Add support for Github Enterprise

While running this action in an Enterprise Environment, it fails to create the check because it assumes that the Github API url is https://api.github.com/

Example error:

Error: request to https://api.github.com/repos/myOrg/myRepo/check-runs failed, reason: connect ETIMEDOUT

We should add a configuration parameter that defaults to https://api.github.com and allows users to pass an alternative base url

See :

https://github.com/amannn/action-semantic-pull-request/blob/6282ee339b067cb8eab05026f91153f873ad37fb/action.yml#L35-L37

https://github.com/amannn/action-semantic-pull-request/blob/348e2e6922130ee27d6d6a0a3b284890776d1f80/src/index.js#L24-L26

Fails on `testcase`

Hello!
Action fails on parsing junit xml output from Checkov

Снимок экрана 2020-09-10 в 15 21 14

And output is like:
<?xml version="1.0" ?> <testsuites failures="7" errors="0" tests="24" disabled="0" time="0.0"> <testsuite name="Ensure no hard coded AWS access key and and secret key exists in provider" disabled="0" failures="0" errors="0" skipped="0" time="0" tests="3" package="checkov.terraform.checks.provider.aws.credentials"> <testcase name="terraform Ensure no hard coded AWS access key and and secret key exists in provider aws.default"

Can you help me with this issue?

Thank you.

The same workflow for `push` and `pull_request` doesn't produce "Test Report" when run on `pull_request`

Hi!
I've got a workflow which worked just fine on push.
But when I tried to add a pull_request trigger, it didn't produce "Test Report" with error annotations.
To clarify more, in my configuration exactly the same workflow causes two builds to be run. One of these builds (on push) ends up with "Test Report" present but the other one (on pull_request) doesn't have "Test Report".
Project is Java, built with Gradle.

Feature request - Ability to skip publishing report

I've got a use case that is somewhat related to #31 - I'm uploading the xml artifacts from one job, and having action-surefire-report publish them from another job (due to workflow security).

That said, I'd like the first job to fail if there are any failures in the xml artifacts. I think it could be an interesting use case for action-surefire-report to have an option skip_publishing; setting skip_publishing and fail_on_test_failures to true would achieve what I'm hoping to accomplish.

Let me know if you think this would be useful.

v1.6.1 broke running action on macOS and Windows

GitHub Actions of type Docker container only work on Linux.
https://docs.github.com/en/actions/creating-actions/about-custom-actions#types-of-actions

The change in action-surefire-report 1.6.1 broke running in workflows executed on macOS and Windows.

Example: https://github.com/dropwizard/dropwizard/actions/runs/4382796006/jobs/7672260302

Run scacap/action-surefire-report@01b27826d208fcb14a8c92a40cb01865c160b825
  with:
    github_token: ***
    check_name: Test Report (windows-latest - Java 17)
    report_paths: **/*-reports/TEST-*.xml
    create_check: true
    fail_on_test_failures: false
    fail_if_no_tests: true
    skip_publishing: false
    file_name_in_stack_trace: false
  env:
    JAVA_OPTS: -XX:+TieredCompilation -XX:TieredStopAtLevel=1
    JAVA_HOME: C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\17.0.6-10\x6[4](https://github.com/dropwizard/dropwizard/actions/runs/4382796006/jobs/7672260302#step:7:4)
    JAVA_HOME_17_X[6](https://github.com/dropwizard/dropwizard/actions/runs/4382796006/jobs/7672260302#step:7:6)4: C:\hostedtoolcache\windows\Java_Temurin-Hotspot_jdk\1[7](https://github.com/dropwizard/dropwizard/actions/runs/4382796006/jobs/7672260302#step:7:7).0.6-[10](https://github.com/dropwizard/dropwizard/actions/runs/4382796006/jobs/7672260302#step:7:10)\x64
Error: Container action is only supported on Linux

Refs #141

This repo appears to have been abandoned

There hasn't been a push or merge in well over a year.

Critical issues like #85 and #94 have languished.

Please do the decent thing and archive the repo, as an indicator to others that they shouldn't get their hopes up. Several recently updated forks are available.

Annotation shows wrong class path on multi-module project

I work on a large multi-module Maven project. In some cases, a given class and method name are used in more than one module.

We've begun using this action for our JUnit 4 test reporting quite effectively, but recently ran across a case where the annotation for a unit test failure reported the wrong class path:

image

The first line of annotation reported that the error occurred in the azure module, but if you download the logs or even just click on the "Raw output" button in the annotation you can see the error was actually in the mq module.

Each of these modules does have a WorkProviderTest.messageToTask method. The log and raw output correctly report which one had the failure, but the first line of the annotation gets it wrong.

Document the necessary scopes of ${{ secrets.GITHUB_TOKEN }}

My setup is as follows

name: My CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      working-directory: resources
    steps:
      - uses: actions/checkout@v1
      - name: "Run Tests" 
        working-directory: ${{env.working-directory}}
        run: |
           my_test_scripts
      - name: "Publish test results"
        uses: scacap/action-surefire-report@v1
        if: always()
        with:
          report_paths: "**/resources/*.xml"
          github_token: ${{ secrets.GITHUB_TOKEN }}

When using the action I'm ending up in

2020-12-01T13:26:35.0749011Z ##[group]Run scacap/action-surefire-report@v1
2020-12-01T13:26:35.0749663Z with:
2020-12-01T13:26:35.0750399Z   report_paths: **/resources/*.xml
2020-12-01T13:26:35.0751785Z   github_token: ***
2020-12-01T13:26:35.0752313Z   check_name: Test Report
2020-12-01T13:26:35.0752877Z   fail_on_test_failures: false
2020-12-01T13:26:35.0753369Z   fail_if_no_tests: true
2020-12-01T13:26:35.0753836Z env:
2020-12-01T13:26:35.0754357Z   working-directory: resources
2020-12-01T13:26:35.0754955Z ##[endgroup]
2020-12-01T13:26:35.5152782Z Going to parse results form **/resources/*.xml
2020-12-01T13:26:35.6039371Z Result: 23 tests run, 0 skipped, 0 failed.
2020-12-01T13:26:35.6040897Z Posting status 'completed' with conclusion 'success' to refs/heads/my_branch (sha: XXXX )
2020-12-01T13:26:35.7708282Z ##[error]Not Found

I assume that these might be due to some Scopes of the Token.
Can you pls document, which scopes this token needs, or what else I'm doing wrong?
Thx
N

Can't reproduce build

In order to use this action, I must first reproduce the build to make sure it has been built from the source code.
However, The files I get when trying to build are different from those in the dist folder.

Could you elaborate on your build process?

Various security vulnerabilities

Hi team,

The action is currently exposed to the following vulnerabilities:

[
  {
    "createdAt": "2022-10-29T21:07:37Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "tmpl"
      },
      "severity": "HIGH"
    }
  },
  {
    "createdAt": "2022-10-29T21:07:37Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "nth-check"
      },
      "severity": "HIGH"
    }
  },
  {
    "createdAt": "2022-10-29T21:07:37Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "json-schema"
      },
      "severity": "CRITICAL"
    }
  },
  {
    "createdAt": "2022-10-29T21:07:37Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "node-fetch"
      },
      "severity": "HIGH"
    }
  },
  {
    "createdAt": "2022-10-29T21:07:37Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "ansi-regex"
      },
      "severity": "HIGH"
    }
  },
  {
    "createdAt": "2022-10-29T21:07:37Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "ansi-regex"
      },
      "severity": "HIGH"
    }
  },
  {
    "createdAt": "2022-10-29T21:07:38Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "minimist"
      },
      "severity": "CRITICAL"
    }
  },
  {
    "createdAt": "2022-10-29T21:07:38Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "jsdom"
      },
      "severity": "MODERATE"
    }
  },
  {
    "createdAt": "2022-10-29T21:07:38Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "@actions/core"
      },
      "severity": "MODERATE"
    }
  },
  {
    "createdAt": "2022-10-29T21:07:38Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "minimatch"
      },
      "severity": "HIGH"
    }
  },
  {
    "createdAt": "2022-12-01T23:05:14Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "decode-uri-component"
      },
      "severity": "LOW"
    }
  },
  {
    "createdAt": "2022-12-06T15:03:30Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "qs"
      },
      "severity": "HIGH"
    }
  },
  {
    "createdAt": "2023-01-03T16:04:55Z",
    "dismissedAt": null,
    "securityVulnerability": {
      "package": {
        "name": "json5"
      },
      "severity": "HIGH"
    }
  }
]

I believe that the current dependabot Pull requests open should fix most if not all

In particular #118

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.