You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Having some issues with deprecated "set-output" using Github Files and this action #353
Is your feature request related to a problem? Please describe.
We use this action to output vars to other parts of our workflow, but we are having difficulty getting this action to output when switching from the current usage to the new format.
Here is the current excerpt from a workflow where we use this action. The issue is when we try to change the last line to the new format, removing "set-output". We suspect that since it's embedded inside of Node.js that it doesn't like being flipped around.
steps:
- name: "Filter workspace"
id: filter_workspace
uses: actions/github-script@v3
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
var command = '${{ github.event.inputs.TERRAFORM_COMMAND }}'
var execute = false
if (command != 'no-op') {
var workspace = '${{ matrix.workspace }}'
execute = true
var filter = '${{ github.event.inputs.WORKSPACE_FILTER }}'
if (filter.trim().length > 0) {
var filter_array = '${{ github.event.inputs.WORKSPACE_FILTER }}'.split(',').map(function(item) {
return item.trim()
})
if (filter_array.length > 0) {
execute = false
if (filter_array.includes(workspace)) {
execute = true
}
}
}
}
console.log("::set-output name=execute::" + execute)
Here is the github documentation suggesting refactor of the set-output command.
Is there a recommended way to change this set-output command that will still work with your action? Does your action support Python? Are you aware of any that do? I know that I have not provided much more of a code reference, but it is not a public repository. What I can say is that the
Activity
joshmgross commentedon Mar 18, 2023
👋 This action includes
@actions/core, which you can use to set outputs:setOutputFor your example, it would look like:
Internally,
setOutputhandles writing to theGITHUB_OUTPUTfile for you - https://github.com/actions/toolkit/blob/457303960f03375db6f033e214b9f90d79c3fe5c/packages/core/src/core.ts#L192-L200.actions/github-script@v3will include the correct version of@actions/core, since it was backported in #348You could write a python script and execute it directly in a
runstep. I'm not super familiar with Python, but I think this is roughly equivalent:If this is on a self-hosted runner, you'd also want to ensure Python is installed - https://github.com/actions/setup-python
For inputs and outputs, we can set them as
envvariables on therunstep:GITHUB_OUTPUTshould already be available in the step's environment.william-mcdaniels commentedon Mar 26, 2023
Thanks! I will give this a try and let you know how it works for me (the setOutput change)
william-mcdaniels commentedon Mar 26, 2023
core.setOutput worked beautifully. Thanks again :)