github-action icon indicating copy to clipboard operation
github-action copied to clipboard

Output summary results

Open rajeshshou opened this issue 2 years ago • 8 comments

Is it possible to support setting the summary results in the output of the github so they can be used in other jobs?

As a workaround, I have to parse the results from junit xml which is fine but it would be great to just consume it from cypress github action as cypress github action is already parsing it and setting it as summary of the action.

rajeshshou avatar Feb 26 '23 14:02 rajeshshou

@rajeshshou

The action uses "core.summary Accessible using environment file GITHUB_STEP_SUMMARY". See Workflow commands for GitHub Actions and Adding a job summary which gives more detail on what is being used.

The GITHUB_STEP_SUMMARY is lost when the workflow moves to the next step, so what you are asking for would need to be added to the action to preserve the summary details somewhere else.

MikeMcC399 avatar Mar 03 '23 12:03 MikeMcC399

@MikeMcC399 Exactly. One possible and easy solution is adding it to output similar to what is done for dashboard url here. https://github.com/cypress-io/github-action/blob/master/index.js#L759

https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter

rajeshshou avatar Mar 08 '23 08:03 rajeshshou

@rajeshshou

If you have a tested solution for your request you could submit this as a Pull Request, or are you requesting that somebody else implement your idea?

MikeMcC399 avatar Mar 10 '23 17:03 MikeMcC399

@MikeMcC399 I have this PoC PR. Can you please take a quick look and let me know if I'm on the right path with this, before creating a PR in this project? Thanks!

mihaisee avatar Jun 15 '23 08:06 mihaisee

@mihaisee

I took a look at your PoC, however I can't really judge just looking at the code.

This new functionality should be tested and demonstrated in a workflow. Probably .github/workflows/example-recording.yml would be the best place to put that. You don't have to worry about the v9 examples, only the current version is relevant for new functionality.

When you are ready, you could go ahead and submit a PR to get feedback from the Cypress team.

MikeMcC399 avatar Jun 15 '23 09:06 MikeMcC399

please can this feature be reviewed and approved

Dale-777 avatar Jul 07 '23 17:07 Dale-777

Not sure why you're mentioning GITHUB_STEP_SUMMARY and this in the same solution:

Is it possible to support setting the summary results in the output of the github so they can be used in other jobs?

I'm not sure you can utilise the information printed from one job into GITHUB_STEP_SUMMARY in another job.

What you really wanted was GITHUB_OUTPUT


jobs:
  One:
    runs-on: ubuntu-latest

    outputs:
      Foo: steps.some-action.outputs.Something

    steps:
      - uses: actions/checkout@v3
      - name: get something
        id: some-action
        run: |
          echo "Something=aye" >> "$GITHUB_OUTPUT"

  Two:
    runs-on: ubuntu-latest

    outputs:
      Bar: steps.another-action.outputs.Thing

    steps:
      - uses: actions/checkout@v3
      - name: get another thing
        id: another-action
        run: |
          echo "Thing=lmao" >> "$GITHUB_OUTPUT"

  Three:
    runs-on: ubuntu-latest

    needs: 
      - One
      - Two

    steps:
      - uses: actions/checkout@v3
      - run: |
          echo "${{ needs.One.outputs.Foo }}"
          echo "${{ needs.Two.outputs.Bar }}"

If how ever you meant to say "Workflows" instead of "Jobs", then you really need define what the circumstances are.

if you have separate workflow files that need outputs from other workflow files, then you should probably be thinking about abstracting those workflow files into callable workflows that accept inputs.

airtonix avatar Jul 19 '24 01:07 airtonix