-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Describe the bug
The inputs from a composite action are used by a called node action in the post phase instead of the inputs passed to the called node action.
To Reproduce
-
workflow has a job with steps: https://github.com/check-spelling-sandbox/symmetrical-guide/blob/da624a50ec50529dfe6653d037b992fa07723b14/.github/workflows/test.yml#L9-L14
-
workflow has a step which calls an action: https://github.com/check-spelling-sandbox/symmetrical-guide/blob/da624a50ec50529dfe6653d037b992fa07723b14/.github/workflows/test.yml#L9-L11
-
which calls an action: https://github.com/check-spelling-sandbox/symmetrical-guide/blob/da624a50ec50529dfe6653d037b992fa07723b14/composite/action.yml#L18-L20
-
which has inputs: https://github.com/check-spelling-sandbox/symmetrical-guide/blob/da624a50ec50529dfe6653d037b992fa07723b14/call-node/action.yml#L1-L4
-
and calls an action: https://github.com/check-spelling-sandbox/symmetrical-guide/blob/da624a50ec50529dfe6653d037b992fa07723b14/call-node/action.yml#L8-L10
-
which has a required input: https://github.com/check-spelling-sandbox/symmetrical-guide/blob/da624a50ec50529dfe6653d037b992fa07723b14/node/action.yml#L2-L4
-
and has a main and a post: https://github.com/check-spelling-sandbox/symmetrical-guide/blob/da624a50ec50529dfe6653d037b992fa07723b14/node/action.yml#L7-L8
-
the main reports the input it was given: https://github.com/check-spelling-sandbox/symmetrical-guide/blob/da624a50ec50529dfe6653d037b992fa07723b14/node/main.js#L9
-
which logs that value: https://github.com/check-spelling-sandbox/symmetrical-guide/actions/runs/11422876413/job/31781374640#step:3:31
node (main) 4
-
the post run dies: https://github.com/check-spelling-sandbox/symmetrical-guide/actions/runs/11422876413/job/31781374640#step:7:4
Post job cleanup. Post job cleanup. /home/runner/work/symmetrical-guide/symmetrical-guide/node/main-post.js:4 throw new Error(`Input required and not supplied: ${name}`); ^ Error: Input required and not supplied: test at getInput (/home/runner/work/symmetrical-guide/symmetrical-guide/node/main-post.js:4:11) at Object.<anonymous> (/home/runner/work/symmetrical-guide/symmetrical-guide/node/main-post.js:9:30) at Module._compile (node:internal/modules/cjs/loader:1358:14) at Module._extensions..js (node:internal/modules/cjs/loader:1416:10) at Module.load (node:internal/modules/cjs/loader:1[2](https://github.com/check-spelling-sandbox/symmetrical-guide/actions/runs/11422876413/job/31781374640#step:7:2)08:32) at Module._load (node:internal/modules/cjs/loader:1024:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12) at node:internal/main/run_main_module:28:49 Node.js v20.1[3](https://github.com/check-spelling-sandbox/symmetrical-guide/actions/runs/11422876413/job/31781374640#step:7:3).1 Post job cleanup. node (post) 3
You can see a previous run where the code was slightly different https://github.com/check-spelling-sandbox/symmetrical-guide/actions/runs/11422865129/job/31781351496
Prepare all required actions
Getting action download info
Run ./composite
Run : composite
composite (1)
Run ./node
node (main) 3
Prepare all required actions
Getting action download info
Run ./call-node
Run ./node
node (main) 4
Run ./node
node (main) 2
Post job cleanup.
node (post) 2
Post job cleanup.
Post job cleanup.
node (post) 1 <-- note that this matches the value seen for `composite (1)` but should have matched the value for `node (main) 4`
Post job cleanup.
node (post) 3Expected behavior
The input provided to the action should be present in the environment for the post action as well. And not the inputs provided to some other action (the caller of the action).
Runner Version and Platform
Version of your runner? 2.320.0
OS of the machine running the runner? Ubuntu 22.04.5 LTS
What's not working?
Job Log Output
Runner and Worker's Diagnostic Logs
This is the reason I filed #3510