YunaBraska / github-workflow-plugin

Your Ultimate Wingman for GitHub Workflows and Actions! 🚀
https://github.com/YunaBraska/github-workflow-plugin
Apache License 2.0
41 stars 8 forks source link

Cannot resolve step-id in job outputs #24

Closed cgrabmann closed 9 months ago

cgrabmann commented 10 months ago

What happened? When defining a job output based on a step output the following error is shown: image

How can we reproduce the issue? Steps to reproduce the behavior:

  1. Just create a workflow file and paste this as content:
    
    name: Generate next Build Number

on: workflow_call: inputs: concurrency-suffix: type: string default: '' outputs: build_number: description: 'The generated build number' value: ${{ jobs.build_number.outputs.build_number }}

jobs: build_number: name: Generate next Build Number runs-on: ubuntu-latest concurrency: generate_build_number-${{ inputs.concurrency-suffix }} outputs: build_number: ${{ steps.buildnumber.outputs.build_number }} permissions: contents: write steps:

Relevant log output I don't know if this exception is the cause of this, but I also have the following exception in the internal IDE-Errors dialog:

In file: file://C:/project/.github/workflows/job_build_number.yml

java.lang.NullPointerException at java.base/java.util.HashMap.merge(HashMap.java:1355) at java.base/java.util.stream.Collectors.lambda$toMap$68(Collectors.java:1673) at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at com.github.yunabraska.githubworkflow.model.CompletionItem.lambda$listSteps$5(CompletionItem.java:63) at java.base/java.util.Optional.map(Optional.java:260) at com.github.yunabraska.githubworkflow.model.CompletionItem.listSteps(CompletionItem.java:60) at com.github.yunabraska.githubworkflow.highlights.HighlightAnnotator.lambda$processBracketItems$35(HighlightAnnotator.java:246) at com.github.yunabraska.githubworkflow.highlights.HighlightAnnotator.ifEnoughItems(HighlightAnnotator.java:396) at com.github.yunabraska.githubworkflow.highlights.HighlightAnnotator.processBracketItems(HighlightAnnotator.java:245) at com.github.yunabraska.githubworkflow.highlights.HighlightAnnotator.lambda$annotate$24(HighlightAnnotator.java:134) at java.base/java.util.Optional.ifPresent(Optional.java:178) at com.github.yunabraska.githubworkflow.highlights.HighlightAnnotator.annotate(HighlightAnnotator.java:65) at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.runAnnotators(DefaultHighlightVisitor.java:130) at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:107) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.runVisitors(GeneralHighlightingPass.java:360) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$collectHighlights$7(GeneralHighlightingPass.java:291) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:320) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$8(GeneralHighlightingPass.java:323) at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:92) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:323) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectHighlights(GeneralHighlightingPass.java:286) at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:234) at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:95) at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:57) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$1(PassExecutorService.java:390) at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.runWithSpanIgnoreThrows(trace.kt:77) at com.intellij.platform.diagnostic.telemetry.helpers.TraceUtil.runWithSpanThrows(TraceUtil.java:24) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:386) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1133) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$3(PassExecutorService.java:377) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:376) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:352) at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:201) at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:207) at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:350) at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:190) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

Operating System

Windows 10

Project Version

2.2.7 image

Expected behavior The step should be resolved by its id.

Screenshots If applicable, add screenshots to help explain your problem.

Additional context Add any other context about the problem here.

YunaBraska commented 10 months ago

Thx 🙏 I will have a look on it.
You can try to make changes, change some node order, press save or restart the IDE. If these things doesn’t help, then you need to wait a bit, since I do a big refactoring for stabilization and memory leaks. #18 I guess it will also fix this issue automatically

YunaBraska commented 9 months ago

Thx for reporting. It should be fixed now 3.0.0 Feel free to open new tickets on any bugs or feature requests.