Skip to content

Commit

Permalink
Action: Replace deprecated set-output command (#668)
Browse files Browse the repository at this point in the history
* Action: Replace deprecated set-output command

The set-output workflow command has been deprecated [1] and replaced
with writing to an environment file. Update .github/action_helper.py
to use the new file.

[1] https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

* Run "Action" workflow if PR changes helper script

Changing .github/action_helper.py changes the behavior of the action
even if action.yml doesn't change. This makes tests run anyway.
  • Loading branch information
airtower-luna committed Oct 31, 2022
1 parent 3fad6a5 commit e7cf847
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 30 deletions.
4 changes: 2 additions & 2 deletions .github/action_helper.py
Expand Up @@ -65,9 +65,9 @@ def setup_action(input_: str) -> None:
if len(versions) > 20:
raise ValueError(f"too many interpreters to install: {len(versions)} > 20")

print(f"::set-output name=interpreter_count::{len(versions)}")
print(f"interpreter_count={len(versions)}")
for i, version in enumerate(versions):
print(f"::set-output name=interpreter_{i}::{version}")
print(f"interpreter_{i}={version}")


if __name__ == "__main__":
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/action.yml
Expand Up @@ -7,6 +7,7 @@ on:
pull_request:
paths:
- '.github/workflows/action.yml'
- '.github/action_helper.py'
- 'action.yml'
env:
FORCE_COLOR: "1"
Expand Down
2 changes: 1 addition & 1 deletion action.yml
Expand Up @@ -21,7 +21,7 @@ runs:
- name: "Validate input"
id: helper
run: >
'${{ steps.localpython.outputs.python-path }}' '${{ github.action_path }}/.github/action_helper.py' '${{ inputs.python-versions }}'
'${{ steps.localpython.outputs.python-path }}' '${{ github.action_path }}/.github/action_helper.py' '${{ inputs.python-versions }}' >>${GITHUB_OUTPUT}
shell: bash

- uses: actions/setup-python@v4
Expand Down
52 changes: 25 additions & 27 deletions tests/test_action_helper.py
Expand Up @@ -43,45 +43,43 @@ def test_filter_version_invalid_minor():

VALID_VERSION_LISTS = {
"3.7, 3.8, 3.9, 3.10, 3.11, pypy-3.7, pypy-3.8, pypy-3.9": [
"::set-output name=interpreter_count::8",
"::set-output name=interpreter_0::pypy-3.7",
"::set-output name=interpreter_1::pypy-3.8",
"::set-output name=interpreter_2::pypy-3.9",
"::set-output name=interpreter_3::3.7",
"::set-output name=interpreter_4::3.8",
"::set-output name=interpreter_5::3.9",
"::set-output name=interpreter_6::3.10",
"::set-output name=interpreter_7::3.11",
"interpreter_count=8",
"interpreter_0=pypy-3.7",
"interpreter_1=pypy-3.8",
"interpreter_2=pypy-3.9",
"interpreter_3=3.7",
"interpreter_4=3.8",
"interpreter_5=3.9",
"interpreter_6=3.10",
"interpreter_7=3.11",
],
"": [
"::set-output name=interpreter_count::1",
"::set-output name=interpreter_0::3.11",
"interpreter_count=1",
"interpreter_0=3.11",
],
"3.11.4": [
"::set-output name=interpreter_count::1",
"::set-output name=interpreter_0::3.11.4",
"interpreter_count=1",
"interpreter_0=3.11.4",
],
"3.9-dev,pypy3.9-nightly": [
"::set-output name=interpreter_count::3",
"::set-output name=interpreter_0::pypy3.9-nightly",
"::set-output name=interpreter_1::3.9-dev",
"::set-output name=interpreter_2::3.11",
"interpreter_count=3",
"interpreter_0=pypy3.9-nightly",
"interpreter_1=3.9-dev",
"interpreter_2=3.11",
],
"3.11, 3.10, 3.9, 3.8": [
"::set-output name=interpreter_count::4",
"::set-output name=interpreter_0::3.10",
"::set-output name=interpreter_1::3.9",
"::set-output name=interpreter_2::3.8",
"::set-output name=interpreter_3::3.11",
"interpreter_count=4",
"interpreter_0=3.10",
"interpreter_1=3.9",
"interpreter_2=3.8",
"interpreter_3=3.11",
],
",".join(f"3.{minor}" for minor in range(20)): [
"::set-output name=interpreter_count::20"
]
",".join(f"3.{minor}" for minor in range(20)): ["interpreter_count=20"]
+ [
f"::set-output name=interpreter_{i}::3.{minor}"
f"interpreter_{i}=3.{minor}"
for i, minor in enumerate(minor_ for minor_ in range(20) if minor_ != 11)
]
+ ["::set-output name=interpreter_19::3.11"],
+ ["interpreter_19=3.11"],
}


Expand Down

0 comments on commit e7cf847

Please sign in to comment.