-
-
Notifications
You must be signed in to change notification settings - Fork 431
Migrate workflows from deprecated set-output
commands
#1604
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The number of deprecated set-output
warnings are significantly less than for other builds. 🎉 But there are still a few warnings. Do you happen to know where they're coming from? I found the same set of ::set-output
calls you have already changed, so I could not figure out why there are still warnings. Thanks!
A few examples:
@kittaakos In addition to use directly in workflows, the commands are also used by the So actions used in the workflows can also produce these warnings. Those warnings are resolved by updating to newer versions of the actions which have updated their I triggered the workflow again after merging the first set of action bump PRs from Dependabot and there are no more warnings about use of https://github.com/arduino/arduino-ide/actions/runs/3389582993 So I think we are all set now. There are still some outdated actions because the Dependabot only submits 5 PRs at a time by default, but it looks like those actions only produce the Node.js 12 deprecation warnings. |
GitHub Actions provides the capability for workflow authors to use the capabilities of the GitHub Actions ToolKit package directly in the `run` keys of workflows via "workflow commands". One such command is `set-output`, which allows data to be passed out of a workflow step as an output. It has been determined that this command has potential to be a security risk in some applications. For this reason, GitHub has deprecated the command and a warning of this is shown in the workflow run summary page of any workflow using it: The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ The identical capability is now provided in a safer form via the GitHub Actions "environment files" system. Migrating the use of the deprecated workflow commands to use the `GITHUB_OUTPUT` environment file instead fixes any potential vulnerabilities in the workflows, resolves the warnings, and avoids the eventual complete breakage of the workflows that would result from GitHub's planned removal of the `set-output` workflow command 2023-05-31.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I think we are all set now.
Yes, we are. Thank you! After you've merged #1605, I've understood where the other warnings are coming from.
Motivation
GitHub Actions provides the capability for workflow authors to use the capabilities of the GitHub Actions ToolKit package directly in the
run
keys of workflows via "workflow commands". One such command isset-output
, which allows data to be passed out of a workflow step as an output.It has been determined that this command has potential to be a security risk in some applications. For this reason, GitHub has deprecated the command and a warning of this is shown in the workflow run summary page of any workflow using it:
The
set-output
command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/The identical capability is now provided in a safer form via the GitHub Actions "environment files" system.
Change description
Migrate the use of the deprecated workflow commands to use the
GITHUB_OUTPUT
environment file to fix any potential vulnerabilities in the workflows, resolve the warnings, and avoid the eventual complete breakage of the workflows that would result from GitHub's planned removal of theset-output
workflow command 2023-05-31.Other information
Upstream migration of the "template" workflows: arduino/tooling-project-assets#281
Equivalent migration for Arduino CLI repository: arduino/arduino-cli#1940
Reviewer checklist