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

Error/warning messages are added to a completely different job

Open tristan957 opened this issue 3 years ago • 6 comments

Context

Recently I have been working on this PR: https://github.com/hse-project/hse/pull/316. During my work, I have created an OpenAPI document at https://github.com/hse-project/hse/blob/tristan957/rest/docs/openapi.yaml. I thought I would add some linting for the file, and this action was the best one I could find (nice job by the way, really useful, also installed the VSCode extension). The GitHub Action workflow is defined at https://github.com/hse-project/hse/blob/tristan957/rest/.github/workflows/openapi.yaml. You can see the workflow's name is "OpenAPI" and the singular job's name is "lint". During the course of my development, I have discovered this interesting behavior from this action.

Here is my spectral config file: https://github.com/hse-project/hse/blob/tristan957/rest/.spectral.yaml

Current Behavior

What is currently happening is that the messages that this action generates get added to a job that doesn't exist.

image

Note the uppercase "Lint". In my multiple revisions of this PR, I have also seen this job get added to other workflows that aren't the "OpenAPI" workflow described above.

https://github.com/hse-project/hse/runs/7460788923

Note that there are currently no issues with the file, so no messages were added.

Edit: image

Expected Behavior

I would have expected the messages to be included in the job that actually generates them.

Steps to Reproduce

  1. Create workflow to run spectral
  2. Run the workflow
  3. Denote job that was created that hasn't previously existed

This seems partially related to #506. At least that also mentions a "Lint" job.

tristan957 avatar Jul 22 '22 01:07 tristan957

I'm pretty sure the issue is that the extension is creating a check and not updating a check after reading the source code.

tristan957 avatar Jul 24 '22 04:07 tristan957

Ok. Since I created this issue, I have become a little bit more knowledgeable about how checks like this one are supposed to work.

I recently integrated CodeQL into our CI using github/codeql-action. The CodeQL workflow that I wrote runs green all the time regardless of whether CodeQL actually found any issues or now. The workflow would fail if it couldn't download the docker image however or some other infrastructure issue like that.

The codeql-action then creates a new check like this:

image

And depending on whether the CodeQL analysis turned anything up, it'll be red or green with the annotations attached to that check. Note that I didn't create this workflow or job.

tristan957 avatar Aug 17 '22 19:08 tristan957

@tristan957 do you have any update on this? I am experiencing the same. Sometimes the annotations just do not get added at all.

For example here: https://github.com/t-huyeng/hlnug-api/actions/runs/3356154510

Sometimes twice: https://github.com/t-huyeng/api-doc-template/actions/runs/3306486009

t-huyeng avatar Oct 30 '22 16:10 t-huyeng

No updates. I just kind of live with this broken action for now...

tristan957 avatar Oct 31 '22 14:10 tristan957

Maybe @kaylachun (most recent pull-request) or @P0lip can help? Is this action still maintained by Stoplight?

t-huyeng avatar Oct 31 '22 15:10 t-huyeng

Seems like there has been action on this repo recently. Perhaps someone will see this issue.

tristan957 avatar Jan 23 '23 19:01 tristan957