Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update misleading note in section-defining-outputs-for-jobs.md #33842

Merged
merged 9 commits into from
Aug 7, 2024

Conversation

piotrekkr
Copy link
Contributor

@piotrekkr piotrekkr commented Jul 7, 2024

Why:

Because note about handling outputs when using strategy matrix is misleading and wrong in multiple places. Here is my overview of what is wrong:

  1. $GITHUB_OUTPUT is shared between all steps in a job. If you use the same output name in multiple steps, the last step to write to the output will override the value

    This is simply not true. Each step has it's own unique outputs file that it can write to. Next steps cannot override previous step outputs which is even show in usage example.

  2. If your job uses a matrix and writes to $GITHUB_OUTPUT, the content will be overwritten for each matrix combination.

    Using $GITHUB_OUTPUT does not override any job outputs. It can only set or override step outputs. Job need to define its own outputs and it can use steps context for this but this is not required for job outputs definition. Author of this note probably mixed step outputs with job outputs. Each job outputs inside matrix are combined, this is true, but author forgot to mention that last finished job in matrix will add new and override matching job outputs from all previous jobs.

  3. You can use the matrix context to create unique output names for each job configuration. For more information, see "AUTOTITLE."

    There is no way to use contexts within job outputs names. I tested it and always had an error from GitHub when trying to run workflow. Something like this is not allowed:

    jobs:
      job1:
        runs-on: ubuntu-latest
        outputs:
          output_${{ matrix.job }}: ${{ steps.gen_output.outputs.output_1 }}
        strategy:
          matrix:
            job: [1, 2, 3]
    
    

What's being changed (if available, include any code snippets, screenshots, or gifs):

I've changed the note content and added an example of how matrix job outputs are combined.

Check off the following:

  • I have reviewed my changes in staging, available via the View deployment link in this PR's timeline (this link will be available after opening the PR).

    • For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.
  • For content changes, I have completed the self-review checklist.

@github-actions github-actions bot added the triage Do not begin working on this issue until triaged by the team label Jul 7, 2024
Copy link
Contributor

github-actions bot commented Jul 7, 2024

Automatically generated comment ℹ️

This comment is automatically generated and will be overwritten every time changes are committed to this branch.

The table contains an overview of files in the content directory that have been changed in this pull request. It's provided to make it easy to review your changes on the staging site. Please note that changes to the data directory will not show up in this table.


Content directory changes

You may find it useful to copy this table into the pull request summary. There you can edit it to share links to important articles or changes and to give a high-level overview of how the changes in your pull request support the overall goals of the pull request.

Source Preview Production What Changed
actions/writing-workflows/choosing-what-your-workflow-does/defining-outputs-for-jobs.md fpt
ghec
ghes@ 3.13 3.12 3.11 3.10
fpt
ghec
ghes@ 3.13 3.12 3.11 3.10
from reusable
actions/writing-workflows/workflow-syntax-for-github-actions.md fpt
ghec
ghes@ 3.13 3.12 3.11 3.10
fpt
ghec
ghes@ 3.13 3.12 3.11 3.10
from reusable

fpt: Free, Pro, Team
ghec: GitHub Enterprise Cloud
ghes: GitHub Enterprise Server

@piotrekkr piotrekkr marked this pull request as ready for review July 7, 2024 12:48
@nguyenalex836 nguyenalex836 added content This issue or pull request belongs to the Docs Content team actions This issue or pull request should be reviewed by the docs actions team waiting for review Issue/PR is waiting for a writer's review and removed triage Do not begin working on this issue until triaged by the team labels Jul 8, 2024
@nguyenalex836
Copy link
Contributor

@piotrekkr Thanks so much for opening a PR! I'll get this triaged for review ✨

@jc-clark jc-clark added the needs SME This proposal needs review from a subject matter expert label Jul 25, 2024
Copy link
Contributor

Thanks for opening a pull request! We've triaged this issue for technical review by a subject matter expert 👀

Copy link
Contributor

@thyeggman thyeggman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, thanks for the contribution! I think it's worth adding, if only for the fact that it's removing incorrect information. The example should be the base use case though, as users might inadvertently copy it without knowing what it's supposed to do. The warning can be added separately 👍

@nguyenalex836 nguyenalex836 added more-information-needed More information is needed to complete review SME reviewed An SME has reviewed this issue/PR and removed waiting for review Issue/PR is waiting for a writer's review needs SME This proposal needs review from a subject matter expert labels Jul 31, 2024
Copy link
Contributor

@thyeggman thyeggman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few more corrections to the workflow to match the new matrix strategy 👍

piotrekkr and others added 3 commits August 6, 2024 20:19
Co-authored-by: Jacob Wallraff <thyeggman@github.com>
Co-authored-by: Jacob Wallraff <thyeggman@github.com>
Co-authored-by: Jacob Wallraff <thyeggman@github.com>
@piotrekkr
Copy link
Contributor Author

Just a few more corrections to the workflow to match the new matrix strategy 👍

@thyeggman All is be done I think. Should I resolve discussions or should it be you?

@nguyenalex836
Copy link
Contributor

@piotrekkr Thank you so much for working with @thyeggman on those suggestions! 💛 I'll update the branch and get this merged once tests are passing 🍏

@nguyenalex836 nguyenalex836 removed the more-information-needed More information is needed to complete review label Aug 7, 2024
@nguyenalex836 nguyenalex836 added this pull request to the merge queue Aug 7, 2024
Merged via the queue into github:main with commit 206cf74 Aug 7, 2024
41 checks passed
Copy link
Contributor

github-actions bot commented Aug 7, 2024

Thanks very much for contributing! Your pull request has been merged 🎉 You should see your changes appear on the site in approximately 24 hours. If you're looking for your next contribution, check out our help wanted issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
actions This issue or pull request should be reviewed by the docs actions team content This issue or pull request belongs to the Docs Content team SME reviewed An SME has reviewed this issue/PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants