kishikawakatsumi/xcresulttool

Report displays wrong workflow name

valeriiatym opened this issue · 4 comments

I have several yml files with workflows

1 Workflow with name "Build App"
2. Workflow with name "Run Unit Tests" + publish xcresulttool report -> if: failure()
3. Workflow with name "Run Integration Tests" + publish xcresulttool report -> if: success() || failure()
4. Workflow with name "Run UI Tests" + publish xcresulttool report -> if: success() || failure()

I use xcresulttool as a step of the job inside one workflow, e.g.:

name: RegressionTests

on:
 workflow_run:
    workflows: ["RunBuild"]
    types:
      - completed
 repository_dispatch:
    types: [trigger-tests]
 pull_request:
    branches: [ 'develop' ]

concurrency:
 group: run-tests-${{ github.head_ref }}
 cancel-in-progress: true

jobs:
  TestSuite:
    runs-on: self-hosted

    steps:
      - name: Set Global Variables
        run: |
          echo "LC_ALL=en_US.UTF-8" >> $GITHUB_ENV
          echo "LANG=en_US.UTF-8" >> $GITHUB_ENV
      - uses: actions/checkout@v2
        with:
          ref: ${{ github.event.client_payload.ref }}
      - run: echo ${{ github.event.client_payload.sha }}
    
      - name: Gem caching
        id: gem_cache
        uses: actions/cache@v2
        continue-on-error: true
        with:
          path: vendor/bundle
          key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
          restore-keys: |
            ${{ runner.os }}-gems-
            
      - name: Running Test Suite
        uses: maierj/fastlane-action@v2.0.1
        with:
          lane: "run_tests"
          bundle-install-path: "vendor/bundle"
        
      - name: Publish Test Report
        uses: kishikawakatsumi/xcresulttool@v1.0.3
        if: success() || failure()
        with:
          title: TestReport
          path: build/DerivedData/test_output/report.xcresult
  
      - name: Trigger Next Step
        if: success()
        uses: peter-evans/repository-dispatch@v1
        with:
          token: ${{ secrets.REPO_TRIGGER_PAT }}
          repository: ${{ github.repository }}
          event-type: trigger-build
          client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'

When I push some changes it triggers the run of these workflows.
But when the report publishes, it contains the wrong workflow name

(-) Actual Result:

Run Unit Tests / IntegrationTestReport (pull_request) — Xcode test results
Run Integration Tests / UnitTestReport (pull_request) — Xcode test results

(+) Expected Result:

Run Unit Tests / UnitTestReport (pull_request) — Xcode test results
Run Integration Tests / IntegrationTestReport (pull_request) — Xcode test results

Not sure if this is the same problem, but I have something similar
We have a job to cancel previously started workflows and report is added to that job instead of CI job who actually called it
image

Yes, it's the same case.

Experiencing same problem

Me too.
Here's what I found: xcresulttool uses octokit, which offers a method to call this API endpoint.
Unfortunately, there is no argument to specify which check suite the check should be added to.

In fact, as stated in this discussion, it's currently impossible to do. Please show activity on that thread, maybe the priority team will re-evaluate their decisions...