github-issue-parser icon indicating copy to clipboard operation
github-issue-parser copied to clipboard

3.2.2 file not found regression

Open jrobison-sb opened this issue 1 year ago • 8 comments

When I attempt to use the newly released version 3.2.2 of this action, it fails. This was working nicely for us on prior versions for a long time.

Reproduction case

This workflow: https://github.com/jrobison-sb/devops-3113/blob/main/.github/workflows/example.yml

This issue form: https://github.com/jrobison-sb/devops-3113/blob/main/.github/ISSUE_TEMPLATE/example.yml?plain=1

Results in this workflow / this error: https://github.com/jrobison-sb/devops-3113/actions/runs/9320842003/job/25658517099#step:3:8

Thanks.

jrobison-sb avatar May 31 '24 15:05 jrobison-sb

hmm the reason is that the dist/ folder does not exist in https://github.com/stefanbuck/github-issue-parser/tree/v3.2.0. Compare to https://github.com/stefanbuck/github-issue-parser/tree/v3.1.1 where it does exist.

I recommend to use stefanbuck/[email protected] for the time being. In order to fix this problem for good, I recommend we mirror the setup of https://github.com/actions/create-github-app-token. I won't have time to look into it myself right now though

gr2m avatar May 31 '24 16:05 gr2m

or better, use stefanbuck/github-issue-parser@v3

gr2m avatar May 31 '24 17:05 gr2m

@gr2m thanks for your reply.

Yes, pinning stefanbuck/[email protected] unblocked us on this, at least for now.

I would expect stefanbuck/github-issue-parser@v3 to be the same thing as v3.2.0, since v3.2.0 is currently the latest release, though our desire to pin v3.2.0 isn't necessarily the same thing as pinning v3. We previously did use @v3, and got bit by a breaking change which shipped with v3.2.0. So as part of modifying our usage to fix that breaking change, we wanted specific version pins which will help us avoid similar breaking changes in the future.

jrobison-sb avatar May 31 '24 17:05 jrobison-sb

what is the breaking change though? It was definitely not intended, I thought this was an internal implementation detail

gr2m avatar May 31 '24 17:05 gr2m

@gr2m

The breaking change is that the json result isn't in the home directory anymore, so cat ${HOME}/issue-parser-result.json doesn't work anymore. We had been successfully using this for a long time:

      - uses: stefanbuck/github-issue-parser@v3
        id: issue-parser
        with:
          template-path: .github/ISSUE_TEMPLATE/prep-for-software-update.yml # optional but recommended

      - name: Read input from the issue, just for ease of troubleshooting if something was wrong
        run: cat ${HOME}/issue-parser-result.json | jq -S .

But upon the release of v3.2.0, it broke (this comes from a non-public repo, not the same one I linked initially): image

On 3.2.0 the json result should now be referenced by way of cat ${{ runner.temp }}/issue-parser-result.json. We attempted to modify our usage and pin 3.2.0 at the same time, to protect us from similar issues in the future, and that's how I arrived at the missing dist folder.

Thanks again for following up on this.

jrobison-sb avatar May 31 '24 17:05 jrobison-sb

reverting via #75

gr2m avatar May 31 '24 23:05 gr2m

See also https://github.com/actions/create-github-app-token

gr2m avatar May 31 '24 23:05 gr2m

Ahh. I see how this could have caused an issue for folks referencing the parsed json file. Bummer!

I think it makes a lot of sense for the runner.temp to be a v4 instead. And also in v4, there should be an additional output parameter for the file path so that people can use the output vs a ‘hardcoded’ file path.

joshjohanning avatar Jun 02 '24 03:06 joshjohanning

Finally fixed

stefanbuck avatar Dec 28 '24 21:12 stefanbuck