Skip to content

Commit

Permalink
Action: Replace deprecated set-output command
Browse files Browse the repository at this point in the history
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/
  • Loading branch information
airtower-luna committed Oct 28, 2022
1 parent 801455b commit e3b9f09
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 28 deletions.
4 changes: 2 additions & 2 deletions .github/action_helper.py
Original file line number Diff line number Diff line change
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
2 changes: 1 addition & 1 deletion action.yml
Original file line number Diff line number Diff line change
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
48 changes: 23 additions & 25 deletions tests/test_action_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,43 +43,41 @@ def test_filter_version_invalid_minor():

VALID_VERSION_LISTS = {
"3.7, 3.8, 3.9, 3.10, pypy-3.7, pypy-3.8, pypy-3.9": [
"::set-output name=interpreter_count::7",
"::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",
"interpreter_count=7",
"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",
],
"": [
"::set-output name=interpreter_count::1",
"::set-output name=interpreter_0::3.10",
"interpreter_count=1",
"interpreter_0=3.10",
],
"3.10.4": [
"::set-output name=interpreter_count::1",
"::set-output name=interpreter_0::3.10.4",
"interpreter_count=1",
"interpreter_0=3.10.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.10",
"interpreter_count=3",
"interpreter_0=pypy3.9-nightly",
"interpreter_1=3.9-dev",
"interpreter_2=3.10",
],
"3.10, 3.9, 3.8": [
"::set-output name=interpreter_count::3",
"::set-output name=interpreter_0::3.9",
"::set-output name=interpreter_1::3.8",
"::set-output name=interpreter_2::3.10",
"interpreter_count=3",
"interpreter_0=3.9",
"interpreter_1=3.8",
"interpreter_2=3.10",
],
",".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_ != 10)
]
+ ["::set-output name=interpreter_19::3.10"],
+ ["interpreter_19=3.10"],
}


Expand Down

0 comments on commit e3b9f09

Please sign in to comment.