snok / latest-python-versions Goto Github PK
View Code? Open in Web Editor NEWDynamic Python version matrix for your Github Actions workflows
License: BSD 3-Clause "New" or "Revised" License
Dynamic Python version matrix for your Github Actions workflows
License: BSD 3-Clause "New" or "Revised" License
I would like to make the min-version
argument optional by using the end of life dates to determine which python versions are no longer supported. Does this feature make sense and would you be interested in accepting a PR? For example:
yaml
- uses: snok/latest-python-versions@v1
id: get-python-versions
with:
min-version: EOL
max-version: latest
include-prereleases: false
Would return [3.7, 3.8, 3.9, 3.10]
because pythons less than 3.7 are already EOL. The end of life dates could be pulled from endoflife.date/api/python.json
It seems like github does not provide all python versions on all OSes. For example, currently the version-manifest only has 3.9.15
for linux.
As a result, I'm having trouble mixing latest-python-versions
with an OS matrix. Is there a known solution to this? Here is the relevant section of my workflow:
get-python-versions:
runs-on: ubuntu-latest
outputs:
python-matrix: ${{ steps.get-python-versions-action.outputs.latest-python-versions }}
steps:
- uses: snok/[email protected]
id: get-python-versions-action
with:
min-version: 3.9
include-prereleases: true
test:
needs: [lint, get-python-versions]
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
python-version: ${{ fromJson(needs.get-python-versions.outputs.python-matrix) }}
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/[email protected]
with:
python-version: ${{ matrix.python-version }}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.