Further improvements.

This commit is contained in:
Patrick Lehmann
2022-10-25 23:54:06 +02:00
parent 798c2cb9db
commit 52b0f2398e

View File

@@ -38,7 +38,7 @@ on:
system_list: system_list:
description: 'Space separated list of systems to run tests on.' description: 'Space separated list of systems to run tests on.'
required: false required: false
default: 'ubuntu windows msys2 macos' default: 'ubuntu windows mingw64 macos'
type: string type: string
name: name:
description: 'Name of the tool.' description: 'Name of the tool.'
@@ -100,10 +100,13 @@ jobs:
if "3.6" in versions: if "3.6" in versions:
print("::warning title=Deprecated::Support for Python 3.6 ended in 2021.12.23.") print("::warning title=Deprecated::Support for Python 3.6 ended in 2021.12.23.")
if "msys2" in systems:
print("::warning title=Deprecated::System 'msys2' will be replaced by 'mingw64'.")
if currentAlphaVersion in versions: if currentAlphaVersion in versions:
print(f"::notice title=Experimental::Python {currentAlphaVersion} ({currentAlphaRelease}) is a pre-release.") print(f"::notice title=Experimental::Python {currentAlphaVersion} ({currentAlphaRelease}) is a pre-release.")
data = { data = {
# Python and PyPy versions supported by "setup-python" action
'python': { 'python': {
'3.6': { 'icon': '⚫', 'until': '2021.12.23' }, '3.6': { 'icon': '⚫', 'until': '2021.12.23' },
'3.7': { 'icon': '🔴', 'until': '2023.06.27' }, '3.7': { 'icon': '🔴', 'until': '2023.06.27' },
@@ -112,15 +115,24 @@ jobs:
'3.10': { 'icon': '🟢', 'until': '2026.10' }, '3.10': { 'icon': '🟢', 'until': '2026.10' },
'3.11': { 'icon': '🟢', 'until': '2027.10' }, '3.11': { 'icon': '🟢', 'until': '2027.10' },
'3.11': { 'icon': '🟣', 'until': '2028.10' }, '3.11': { 'icon': '🟣', 'until': '2028.10' },
'pypy-3.7': { 'icon': '⟲🔴', 'until': '??' }, 'pypy-3.7': { 'icon': '⟲🔴', 'until': '????.??' },
'pypy-3.8': { 'icon': '⟲🟠', 'until': '??' }, 'pypy-3.8': { 'icon': '⟲🟠', 'until': '????.??' },
'pypy-3.9': { 'icon': '⟲🟡', 'until': '??' }, 'pypy-3.9': { 'icon': '⟲🟡', 'until': '????.??' },
}, },
# Runner systems (runner images) supported by GitHub Actions
'sys': { 'sys': {
'ubuntu': { 'icon': '🐧', 'runs-on': 'ubuntu-latest', 'shell': 'bash' }, 'ubuntu': { 'icon': '🐧', 'runs-on': 'ubuntu-latest', 'shell': 'bash', 'name': "Linux (x86-64)" },
'windows': { 'icon': '🧊', 'runs-on': 'windows-latest', 'shell': 'pwsh' }, 'windows': { 'icon': '🧊', 'runs-on': 'windows-latest', 'shell': 'pwsh', 'name': "Windows (x86-64)" },
'msys2': { 'icon': '🟦', 'runs-on': 'windows-latest', 'shell': 'msys2 {0}' }, 'macos': { 'icon': '🍎', 'runs-on': 'macos-latest', 'shell': 'bash', 'name': "MacOS (x86-64)" },
'macos': { 'icon': '🍎', 'runs-on': 'macos-latest', 'shell': 'bash' } },
# Runtimes provided by MSYS2
'runtime': {
'msys': { 'icon': '🟪', 'name': 'Windows+MSYS2 (x86-64) - MSYS' },
'mingw32': { 'icon': '⬛', 'name': 'Windows+MSYS2 (x86-64) - MinGW32' },
'mingw64': { 'icon': '🟦', 'name': 'Windows+MSYS2 (x86-64) - MinGW64' },
'clang32': { 'icon': '🟫', 'name': 'Windows+MSYS2 (x86-64) - Clang32' },
'clang64': { 'icon': '🟧', 'name': 'Windows+MSYS2 (x86-64) - Clang64' },
'ucrt64': { 'icon': '🟨', 'name': 'Windows+MSYS2 (x86-64) - UCRT64' },
} }
} }
@@ -132,9 +144,22 @@ jobs:
'shell': data['sys'][system]['shell'], 'shell': data['sys'][system]['shell'],
'pyicon': data['python'][version]['icon'], 'pyicon': data['python'][version]['icon'],
'python': currentAlphaRelease if version == currentAlphaVersion else version 'python': currentAlphaRelease if version == currentAlphaVersion else version
'envname' data['sys'][system]['name']
} }
for system in systems for system in systems if system in data['sys']
for version in (versions if system != 'msys2' else [currentMSYS2Version]) for version in versions
] + [
{
'sysicon': data['runtime'][runtime]['icon'],
'system': "msys2",
'runs-on': "windows-latest",
'runtime': runtime.upper(),
'shell': "msys2 {0}",
'pyicon': data['python'][currentMSYS2Version]['icon'],
'python': currentMSYS2Version
'envname' data['runtime'][runtime]['name']
}
for runtime in systems if runtime not in data['sys']
] ]
print(f'::set-output name=python_jobs::{jobs!s}') print(f'::set-output name=python_jobs::{jobs!s}')
print("Python jobs:") print("Python jobs:")