mirror of
https://github.com/actions/setup-python.git
synced 2026-09-17 10:01:28 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e797f83bcb | ||
|
|
3d1e2d2ca0 | ||
|
|
65b071217a | ||
|
|
5b668cf765 | ||
|
|
f62a0e252f | ||
|
|
9322b3ca74 | ||
|
|
fbeb884f69 | ||
|
|
03bb6152f4 | ||
|
|
36da51d563 | ||
|
|
3c6f142cc0 | ||
|
|
88ffd4d597 | ||
|
|
532b046aaf | ||
|
|
1264885983 | ||
|
|
e9c40fbc2b | ||
|
|
5fa0ee6f38 | ||
|
|
5db1cf9a59 | ||
|
|
a26af69be9 | ||
|
|
30eafe9548 | ||
|
|
5d95bc16d4 | ||
|
|
6ed2c67c8a | ||
|
|
e348410e00 | ||
|
|
8d9ed9ac5c | ||
|
|
19e4675e06 | ||
|
|
6fd11e170a | ||
|
|
9e62be81b2 | ||
|
|
6ca8e8598f | ||
|
|
8039c45ed9 | ||
|
|
42375524e2 | ||
|
|
709bfa58ba | ||
|
|
ceb20b242d | ||
|
|
0dc2d2cf0c | ||
|
|
feb9c6e7c6 | ||
|
|
d0b4fc497a | ||
|
|
e3dfaac0fd | ||
|
|
b8cf3eb1eb | ||
|
|
1928ae624d | ||
|
|
3fddbee787 | ||
|
|
55aad42e46 | ||
|
|
0b93645e9f | ||
|
|
9c76e71650 | ||
|
|
f4c5a1183d | ||
|
|
19dfb7b659 | ||
|
|
e9675cc634 | ||
|
|
3226af69c0 | ||
|
|
70dcb22d26 | ||
|
|
65b48c7115 | ||
|
|
29a37be0a3 | ||
|
|
f677139bbe | ||
|
|
2bd53f9a4d | ||
|
|
80b49d3ed8 | ||
|
|
036a523674 | ||
|
|
04c1311429 | ||
|
|
cb68456441 | ||
|
|
39cd14951b | ||
|
|
a0d74c0c42 | ||
|
|
4eb7dbcb95 | ||
|
|
82c7e631bb | ||
|
|
10aa35afd7 | ||
|
|
9a7ac94420 | ||
|
|
871daa956c | ||
|
|
2f078955e4 | ||
|
|
e9d6f99097 | ||
|
|
0a5c615913 | ||
|
|
0ae58361cd | ||
|
|
b64ffcaf5b | ||
|
|
8d2896179a | ||
|
|
7bc6abb01e | ||
|
|
e8111cec9d | ||
|
|
a00ea43da6 | ||
|
|
8635b1ccc5 | ||
|
|
f6cc428f53 | ||
|
|
5f2af211d6 | ||
|
|
3467d92d48 | ||
|
|
65d7f2d534 | ||
|
|
f97b83114c | ||
|
|
61a6322f88 | ||
|
|
ea5b57fccc | ||
|
|
014d32a830 | ||
|
|
c16c4b8d18 | ||
|
|
0d5da6a89a | ||
|
|
3f824b7ca6 | ||
|
|
bd6b4b6205 | ||
|
|
0cbcb9a3d7 | ||
|
|
669664dac1 | ||
|
|
9cbf792a3c | ||
|
|
e732e40717 | ||
|
|
a0d867bfa9 | ||
|
|
d99bed8b21 | ||
|
|
f71253fee3 | ||
|
|
b51c97f6e3 | ||
|
|
db9987b4c1 | ||
|
|
6db7460265 | ||
|
|
57ded4d7d5 | ||
|
|
df6abcc733 | ||
|
|
7a4f344e33 | ||
|
|
d1244c8404 | ||
|
|
3091b37310 | ||
|
|
dfa76f8d0d | ||
|
|
03eb867e3d | ||
|
|
b41aaf9f0c | ||
|
|
0ffa49cfca | ||
|
|
ec365b4eba | ||
|
|
7b9ef6fc5a | ||
|
|
869e769ec8 | ||
|
|
3faddefb4c | ||
|
|
181184007f | ||
|
|
2652534ead | ||
|
|
a6eba85bba | ||
|
|
34b4b622e3 | ||
|
|
f60fe39c45 | ||
|
|
d27e3f3d7c | ||
|
|
dec86ecf4e | ||
|
|
4dcd67678f | ||
|
|
8b89ef08a0 | ||
|
|
5ccb29d877 | ||
|
|
c3e033939c | ||
|
|
206e984b94 | ||
|
|
2c3dd9e7e2 | ||
|
|
76bbdfadd7 | ||
|
|
1aafadcfb9 | ||
|
|
b80efd6bc5 | ||
|
|
5cddb27885 | ||
|
|
47c4a7af1d | ||
|
|
af57b64994 | ||
|
|
4818a5a153 | ||
|
|
8bcd2560e2 | ||
|
|
13ae5bb136 | ||
|
|
0c4d7b878c | ||
|
|
13a464fa11 | ||
|
|
b4fe97ecda | ||
|
|
434aeabbb4 | ||
|
|
98c991d13f | ||
|
|
397a35f988 | ||
|
|
48a0f006ff | ||
|
|
978fd06d1f | ||
|
|
050e616f66 | ||
|
|
f6795b163d | ||
|
|
2e6ca74422 | ||
|
|
aa5ddbf8fe | ||
|
|
c0abeaa470 | ||
|
|
197204a31c | ||
|
|
c96b4b55f3 | ||
|
|
b55428b188 | ||
|
|
e084fcae44 | ||
|
|
789730b666 | ||
|
|
c4e98b741b | ||
|
|
cfcafa57ec | ||
|
|
9aa1c6cb27 | ||
|
|
c318b92fd6 | ||
|
|
a93d5412cb | ||
|
|
72394d1a3e | ||
|
|
fe396d3941 | ||
|
|
853c012a3c | ||
|
|
fd6f59db22 | ||
|
|
c6e66a7681 | ||
|
|
81cda82fb0 | ||
|
|
7e39d25e3f | ||
|
|
d5d67707d2 | ||
|
|
bc8ee42330 | ||
|
|
467a981225 | ||
|
|
9f1915a970 | ||
|
|
10b840936c | ||
|
|
b152b04c28 | ||
|
|
a624f1f4bc | ||
|
|
5df6377e9d | ||
|
|
dd40245e5b | ||
|
|
1f0a39a525 | ||
|
|
b2241a4754 | ||
|
|
0d94a5d71e | ||
|
|
e147df2e90 | ||
|
|
889226ae9a | ||
|
|
00d9c42868 | ||
|
|
2f06e9da25 | ||
|
|
49a521fa06 | ||
|
|
592a7a7a45 | ||
|
|
aba6f4ba7b | ||
|
|
5517d5f7b5 | ||
|
|
b88a682917 | ||
|
|
c474c82340 | ||
|
|
799afeb796 | ||
|
|
386e4eaaed | ||
|
|
61fb4e42ab | ||
|
|
09086ccd46 | ||
|
|
746f28a2d3 | ||
|
|
6dd8ff72eb | ||
|
|
9a40041e25 | ||
|
|
c4e89fac7e | ||
|
|
0ad0f6a0a5 | ||
|
|
f0bcf8be03 | ||
|
|
af97157ae6 | ||
|
|
364e819741 | ||
|
|
782f81b91d | ||
|
|
b318cecd93 | ||
|
|
4a7ca55b40 | ||
|
|
d08a9d79f1 | ||
|
|
7d9c63da1b | ||
|
|
5a1dd6b34d | ||
|
|
f4b85ae24e | ||
|
|
2c9de4ed41 | ||
|
|
412091c1e0 | ||
|
|
78a2330b92 | ||
|
|
96f494e18c | ||
|
|
099ed898be | ||
|
|
ccb7da8ae9 | ||
|
|
5fbb819407 | ||
|
|
82eddc4023 | ||
|
|
d97b6edda3 | ||
|
|
a6b01c4e40 | ||
|
|
84087f5301 | ||
|
|
56f6060254 | ||
|
|
e29a7c89f6 | ||
|
|
5407bf6e69 | ||
|
|
41b91104ea | ||
|
|
08116500d0 | ||
|
|
161c3a68f0 | ||
|
|
6733fc44ec | ||
|
|
afd3e72a25 | ||
|
|
ab6deb310f | ||
|
|
e629242ad4 | ||
|
|
63086c6ded | ||
|
|
69b94463f5 | ||
|
|
d7db8259d9 | ||
|
|
27091d50ca | ||
|
|
d358f9e3d7 | ||
|
|
1e52de40a4 | ||
|
|
2a20d9b5e0 | ||
|
|
766e8c6088 | ||
|
|
00a5248c77 | ||
|
|
9c76df2a90 | ||
|
|
958897304a | ||
|
|
5d9fdcab75 | ||
|
|
7199395312 | ||
|
|
5ad79022bc | ||
|
|
a8da2a66aa | ||
|
|
c61bc3d08e | ||
|
|
01408cef88 | ||
|
|
ffcd00020c | ||
|
|
cf86e08a31 | ||
|
|
8fb4cbf7c8 | ||
|
|
7e4abae443 | ||
|
|
813f9b1556 | ||
|
|
775367df99 | ||
|
|
d09bd5e600 | ||
|
|
f72db171ab | ||
|
|
53e15292cd | ||
|
|
3f82819745 | ||
|
|
397252c582 | ||
|
|
de977ad132 | ||
|
|
22c6af91ce | ||
|
|
081a3cf1a5 | ||
|
|
ff706563d7 | ||
|
|
fff15a21cc | ||
|
|
c57f79353b | ||
|
|
fd8f0a9fb8 | ||
|
|
ae11205ec6 | ||
|
|
8f73c1495f | ||
|
|
e31727ce0a | ||
|
|
a69041ca9f | ||
|
|
5e1e05c694 | ||
|
|
0b56b76337 | ||
|
|
22daa094b8 | ||
|
|
ac4e858835 | ||
|
|
1ce308808a | ||
|
|
c36dc43e7b | ||
|
|
4e6b5f40fc | ||
|
|
bcc31375e1 | ||
|
|
85a7430316 | ||
|
|
6a4c6c1309 | ||
|
|
3a63f5d525 | ||
|
|
4a33d3c467 | ||
|
|
abfd16b121 | ||
|
|
4176166af9 | ||
|
|
91712e11bb | ||
|
|
98f2ad02fd | ||
|
|
5d6f0c8a87 | ||
|
|
f4b66dec00 | ||
|
|
21c0493ecf | ||
|
|
7933d5a3dd | ||
|
|
7885ec3539 | ||
|
|
9c644ca2ab | ||
|
|
3e8e90edf0 | ||
|
|
05fb98de9a | ||
|
|
6c566026c0 | ||
|
|
9516be869f | ||
|
|
7aa3e95001 | ||
|
|
6c31eb3fc7 | ||
|
|
7a37d78806 | ||
|
|
e4be7a40b0 | ||
|
|
aac0ef93ba | ||
|
|
b0c8e3dab7 | ||
|
|
0ebf7997c4 | ||
|
|
415c3568c9 | ||
|
|
42ed863652 | ||
|
|
c275cf49c7 | ||
|
|
7c950ebdca | ||
|
|
1259541ec8 | ||
|
|
95824fd246 | ||
|
|
59cb3f4919 | ||
|
|
18c67b44e4 | ||
|
|
bbebfafece | ||
|
|
6c048c7558 | ||
|
|
0ff64a7f0e | ||
|
|
792c23f43e | ||
|
|
8c1441c007 | ||
|
|
0ebf233433 | ||
|
|
665cd78205 | ||
|
|
93cb78f17b | ||
|
|
65fe6a82c7 | ||
|
|
011c443f81 | ||
|
|
3250b5373c | ||
|
|
7f80679172 | ||
|
|
dc9de69ff3 | ||
|
|
ba33a692f1 | ||
|
|
156361d073 | ||
|
|
0bcf8ef2ba | ||
|
|
9a115684c9 | ||
|
|
3a40ba0199 | ||
|
|
fa17801fa7 | ||
|
|
6277dd1255 | ||
|
|
2b732b899c | ||
|
|
f382193329 | ||
|
|
3ef38b826b | ||
|
|
0066b88440 | ||
|
|
280924fbef | ||
|
|
52636cf49a | ||
|
|
ca5c59064f | ||
|
|
feeaa3ba49 | ||
|
|
002b1e4044 | ||
|
|
d12543aa2a | ||
|
|
4aa563ba8c | ||
|
|
70e2063f71 | ||
|
|
2d803e7fea | ||
|
|
43c2dc443f | ||
|
|
dc73133d4d | ||
|
|
a1121449a2 | ||
|
|
66319ca9fa | ||
|
|
3105fb18c0 | ||
|
|
8c5ea631b2 | ||
|
|
2831efe49a | ||
|
|
3b3f2de1b1 | ||
|
|
723e46dad7 | ||
|
|
195f5c388b | ||
|
|
41b7212b16 | ||
|
|
878156f1de | ||
|
|
c181ffa198 | ||
|
|
1ce870e10f | ||
|
|
b9436a7e86 | ||
|
|
51d2bf1911 | ||
|
|
24156c231c | ||
|
|
212e83ff58 | ||
|
|
0c28554988 | ||
|
|
7010ec794f | ||
|
|
306c473438 | ||
|
|
7a69c2bc7d | ||
|
|
654aa00a6e | ||
|
|
6f45e887f6 | ||
|
|
2989dc4a1a | ||
|
|
a0a76c4ddb | ||
|
|
2241d846ba | ||
|
|
807b74f98c | ||
|
|
5230712b36 | ||
|
|
4dda7a3aa1 | ||
|
|
9f521e1bf4 | ||
|
|
ee653cd47f | ||
|
|
c23f4218be | ||
|
|
f129643215 | ||
|
|
6cbb9cfdfd | ||
|
|
6c4e46d258 | ||
|
|
824e8a7e12 | ||
|
|
8910d815ad | ||
|
|
e5af64b2df | ||
|
|
985150d1f6 | ||
|
|
c881de7f35 | ||
|
|
b7d744ca11 | ||
|
|
4ff1108c39 | ||
|
|
a93e9d979a | ||
|
|
b67fc24ab8 | ||
|
|
9ac730844c | ||
|
|
c4000d2828 | ||
|
|
5d7d800988 | ||
|
|
8ad00a65a6 | ||
|
|
2ba2a92f71 | ||
|
|
f8fb48e9f7 | ||
|
|
ebe4d7eb5f | ||
|
|
aa7403d0cc | ||
|
|
b3b6fd7d43 | ||
|
|
a208271c0e | ||
|
|
3503180221 | ||
|
|
551f436547 | ||
|
|
f907029c9b | ||
|
|
d8bca2ddba | ||
|
|
4a251cd31c | ||
|
|
2feaa7d920 | ||
|
|
4f72cbc621 | ||
|
|
c63dffb056 | ||
|
|
5e1c8c0ba4 | ||
|
|
c57e58b1ee | ||
|
|
d0da811f3d | ||
|
|
11c9de6408 | ||
|
|
3d8ac1d401 | ||
|
|
2268531fb4 | ||
|
|
dcf56dfd59 | ||
|
|
c2338a225e | ||
|
|
74a6d2d864 | ||
|
|
66556920f4 | ||
|
|
2aaa66fdad | ||
|
|
4af3334acd | ||
|
|
7e4719db87 | ||
|
|
62f565f233 | ||
|
|
ff13c3cd4b | ||
|
|
c04e17694d | ||
|
|
79be57810c | ||
|
|
d7eab29295 | ||
|
|
a0449e049a | ||
|
|
2ed535288f | ||
|
|
2e9d5269cc | ||
|
|
6866923888 | ||
|
|
6e5196c493 | ||
|
|
4875b9e438 | ||
|
|
08bf913604 | ||
|
|
3d91cc2674 | ||
|
|
bbc52402b0 | ||
|
|
9bdab6de30 | ||
|
|
28a6c1b915 | ||
|
|
6654142a95 | ||
|
|
47b0b94f96 | ||
|
|
1396627e9d | ||
|
|
a3e488ea33 | ||
|
|
62618cdaa5 | ||
|
|
31d200eb44 | ||
|
|
ebb2329155 | ||
|
|
346e88b930 | ||
|
|
6f6fcee330 | ||
|
|
d6e58394ed | ||
|
|
24b4fa76d2 | ||
|
|
ae4917dae5 |
@@ -0,0 +1,6 @@
|
|||||||
|
# Ignore list
|
||||||
|
/*
|
||||||
|
|
||||||
|
# Do not ignore these folders:
|
||||||
|
!__tests__/
|
||||||
|
!src/
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
// This is a reusable configuration file copied from https://github.com/actions/reusable-workflows/tree/main/reusable-configurations. Please don't make changes to this file as it's the subject of an automatic update.
|
||||||
|
module.exports = {
|
||||||
|
extends: [
|
||||||
|
'eslint:recommended',
|
||||||
|
'plugin:@typescript-eslint/recommended',
|
||||||
|
'plugin:eslint-plugin-jest/recommended',
|
||||||
|
'eslint-config-prettier'
|
||||||
|
],
|
||||||
|
parser: '@typescript-eslint/parser',
|
||||||
|
plugins: ['@typescript-eslint', 'eslint-plugin-node', 'eslint-plugin-jest'],
|
||||||
|
rules: {
|
||||||
|
'@typescript-eslint/no-require-imports': 'error',
|
||||||
|
'@typescript-eslint/no-non-null-assertion': 'off',
|
||||||
|
'@typescript-eslint/no-explicit-any': 'off',
|
||||||
|
'@typescript-eslint/no-empty-function': 'off',
|
||||||
|
'@typescript-eslint/ban-ts-comment': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
'ts-ignore': 'allow-with-description'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'no-console': 'error',
|
||||||
|
'yoda': 'error',
|
||||||
|
'prefer-const': [
|
||||||
|
'error',
|
||||||
|
{
|
||||||
|
destructuring: 'all'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'no-control-regex': 'off',
|
||||||
|
'no-constant-condition': ['error', {checkLoops: false}],
|
||||||
|
'node/no-extraneous-import': 'error'
|
||||||
|
},
|
||||||
|
overrides: [
|
||||||
|
{
|
||||||
|
files: ['**/*{test,spec}.ts'],
|
||||||
|
rules: {
|
||||||
|
'@typescript-eslint/no-unused-vars': 'off',
|
||||||
|
'jest/no-standalone-expect': 'off',
|
||||||
|
'jest/no-conditional-expect': 'off',
|
||||||
|
'no-console': 'off',
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
env: {
|
||||||
|
node: true,
|
||||||
|
es6: true,
|
||||||
|
'jest/globals': true
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
* text=auto eol=lf
|
||||||
|
.licenses/** -diff linguist-generated=true
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
* @actions/setup-actions-team
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a bug report
|
||||||
|
title: ''
|
||||||
|
labels: bug, needs triage
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!--- Please direct any generic questions related to actions to our support community forum at https://github.community/c/code-to-cloud/github-actions/41 --->
|
||||||
|
<!--- Before opening up a new bug report, please make sure to check for similar existing issues -->
|
||||||
|
|
||||||
|
**Description:**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**Action version:**
|
||||||
|
Specify the action version
|
||||||
|
|
||||||
|
**Platform:**
|
||||||
|
- [ ] Ubuntu
|
||||||
|
- [ ] macOS
|
||||||
|
- [ ] Windows
|
||||||
|
|
||||||
|
**Runner type:**
|
||||||
|
- [ ] Hosted
|
||||||
|
- [ ] Self-hosted
|
||||||
|
|
||||||
|
**Tools version:**
|
||||||
|
<!--- Please list all of the affected Python versions (`3.8.2`, etc.)-->
|
||||||
|
|
||||||
|
**Repro steps:**
|
||||||
|
A description with steps to reproduce the issue. If your have a public example or repo to share, please provide the link.
|
||||||
|
|
||||||
|
**Expected behavior:**
|
||||||
|
A description of what you expected to happen.
|
||||||
|
|
||||||
|
**Actual behavior:**
|
||||||
|
A description of what is actually happening.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: feature request, needs triage
|
||||||
|
assignees: ''
|
||||||
|
---
|
||||||
|
<!--- Please direct any generic questions related to actions to our support community forum at https://github.community/c/code-to-cloud/github-actions/41 --->
|
||||||
|
<!--- Before opening up a new feature request, please make sure to check for similar existing issues and pull requests -->
|
||||||
|
|
||||||
|
**Description:**
|
||||||
|
Describe your proposal.
|
||||||
|
|
||||||
|
**Justification:**
|
||||||
|
Justification or a use case for your proposal.
|
||||||
|
|
||||||
|
**Are you willing to submit a PR?**
|
||||||
|
<!--- We accept contributions! -->
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# To get started with Dependabot version updates, you'll need to specify which
|
||||||
|
# package ecosystems to update and where the package manifests are located.
|
||||||
|
# Please see the documentation for all configuration options:
|
||||||
|
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
# Enable version updates for npm
|
||||||
|
- package-ecosystem: 'npm'
|
||||||
|
# Look for `package.json` and `lock` files in the `root` directory
|
||||||
|
directory: '/'
|
||||||
|
# Check the npm registry for updates every day (weekdays)
|
||||||
|
schedule:
|
||||||
|
interval: 'weekly'
|
||||||
|
|
||||||
|
# Enable version updates for GitHub Actions
|
||||||
|
- package-ecosystem: 'github-actions'
|
||||||
|
# Workflow files stored in the default location of `.github/workflows`
|
||||||
|
# You don't need to specify `/.github/workflows` for `directory`. You can use `directory: "/"`.
|
||||||
|
directory: '/'
|
||||||
|
schedule:
|
||||||
|
interval: 'weekly'
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
**Description:**
|
||||||
|
Describe your changes.
|
||||||
|
|
||||||
|
**Related issue:**
|
||||||
|
Add link to the related issue.
|
||||||
|
|
||||||
|
**Check list:**
|
||||||
|
- [ ] Mark if documentation changes are required.
|
||||||
|
- [ ] Mark if tests were added or updated to cover the changes.
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
name: Basic validation
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
jobs:
|
||||||
|
call-basic-validation:
|
||||||
|
name: Basic validation
|
||||||
|
uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main
|
||||||
|
with:
|
||||||
|
node-version: '24.x'
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
name: Check dist/
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call-check-dist:
|
||||||
|
name: Check dist/
|
||||||
|
uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main
|
||||||
|
with:
|
||||||
|
node-version: '24.x'
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
name: CodeQL analysis
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: ['main']
|
||||||
|
pull_request:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 3 * * 0'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call-codeQL-analysis:
|
||||||
|
name: CodeQL analysis
|
||||||
|
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
||||||
@@ -0,0 +1,221 @@
|
|||||||
|
name: e2e-cache freethread
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/*
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
jobs:
|
||||||
|
python-pip-dependencies-caching:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pipenv-dependencies-caching:
|
||||||
|
name: Test pipenv (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version: [3.13.1t, 3.13.2t, 3.13.5t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
id: cache-pipenv
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pipenv'
|
||||||
|
- name: Install pipenv
|
||||||
|
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pipenv install requests
|
||||||
|
|
||||||
|
python-poetry-dependencies-caching:
|
||||||
|
name: Test poetry (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version: [3.13.0, 3.13.1, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Install poetry
|
||||||
|
run: pipx install poetry
|
||||||
|
- name: Init pyproject.toml
|
||||||
|
run: mv ./__tests__/data/pyproject.toml .
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
freethreaded: true
|
||||||
|
cache: 'poetry'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: poetry install --no-root
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-path:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: __tests__/data/requirements.txt
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pipenv-dependencies-caching-path:
|
||||||
|
name: Test pipenv (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version: [3.13.1t, 3.13.2t, 3.13.5t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
id: cache-pipenv
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pipenv'
|
||||||
|
cache-dependency-path: '**/pipenv-requirements.txt'
|
||||||
|
- name: Install pipenv
|
||||||
|
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pipenv install requests
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-with-pip-version:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
pip-version: '25.0.1'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-path-with-pip-version:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: __tests__/data/requirements.txt
|
||||||
|
pip-version: '25.0.1'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
@@ -0,0 +1,308 @@
|
|||||||
|
name: e2e-cache
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
- releases/*
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
jobs:
|
||||||
|
python-pip-dependencies-caching:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version:
|
||||||
|
[
|
||||||
|
'3.9',
|
||||||
|
'pypy-3.9-v7.x',
|
||||||
|
'3.10',
|
||||||
|
'pypy-3.10-v7.x',
|
||||||
|
'3.11',
|
||||||
|
'pypy-3.11-v7.x',
|
||||||
|
'3.12',
|
||||||
|
'3.13'
|
||||||
|
]
|
||||||
|
exclude:
|
||||||
|
- os: windows-latest
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pipenv-dependencies-caching:
|
||||||
|
name: Test pipenv (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version:
|
||||||
|
['3.10', 'pypy-3.10-v7.x', '3.11', 'pypy-3.11-v7.x', '3.12', '3.13']
|
||||||
|
exclude:
|
||||||
|
- os: windows-latest
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
python-version: pypy-3.10-v7.x
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
python-version: pypy-3.10-v7.x
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
id: cache-pipenv
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pipenv'
|
||||||
|
- name: Install pipenv
|
||||||
|
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
|
||||||
|
- name: Prepare environment
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
mv ./__tests__/data/Pipfile.lock .
|
||||||
|
mv ./__tests__/data/Pipfile .
|
||||||
|
mv ./__tests__/test-pipenv.py .
|
||||||
|
- name: Install dependencies
|
||||||
|
shell: pwsh
|
||||||
|
if: steps.cache-pipenv.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
if ("${{ matrix.python-version }}" -Match "pypy") {
|
||||||
|
pipenv install --python pypy # --keep-outdated
|
||||||
|
} else {
|
||||||
|
pipenv install --python ${{ matrix.python-version }} # --keep-outdated
|
||||||
|
}
|
||||||
|
- name: Run Python Script
|
||||||
|
run: pipenv run python test-pipenv.py
|
||||||
|
|
||||||
|
python-poetry-dependencies-caching:
|
||||||
|
name: Test poetry (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version:
|
||||||
|
[
|
||||||
|
'3.9',
|
||||||
|
'pypy-3.9-v7.x',
|
||||||
|
'3.10',
|
||||||
|
'pypy-3.10-v7.x',
|
||||||
|
'3.11',
|
||||||
|
'pypy-3.11-v7.x',
|
||||||
|
'3.12',
|
||||||
|
'3.13'
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Install poetry
|
||||||
|
run: pipx install poetry
|
||||||
|
- name: Init pyproject.toml
|
||||||
|
run: mv ./__tests__/data/pyproject.toml .
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'poetry'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: poetry install --no-root
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-path:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version:
|
||||||
|
[
|
||||||
|
'3.9',
|
||||||
|
'pypy-3.9-v7.x',
|
||||||
|
'3.10',
|
||||||
|
'pypy-3.10-v7.x',
|
||||||
|
'3.11',
|
||||||
|
'pypy-3.11-v7.x',
|
||||||
|
'3.12',
|
||||||
|
'3.13'
|
||||||
|
]
|
||||||
|
exclude:
|
||||||
|
- os: windows-latest
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: __tests__/data/requirements.txt
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pipenv-dependencies-caching-path:
|
||||||
|
name: Test pipenv (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version:
|
||||||
|
['3.10', 'pypy-3.10-v7.x', '3.11', 'pypy-3.11-v7.x', '3.12', '3.13']
|
||||||
|
exclude:
|
||||||
|
- os: windows-latest
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: ubuntu-22.04
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
python-version: pypy-3.10-v7.x
|
||||||
|
- os: ubuntu-22.04-arm
|
||||||
|
python-version: pypy-3.11-v7.x
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
id: cache-pipenv
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pipenv'
|
||||||
|
cache-dependency-path: '**/pipenv-requirements.txt'
|
||||||
|
- name: Install pipenv
|
||||||
|
run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
|
||||||
|
- name: Prepare environment
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
mv ./__tests__/data/Pipfile.lock .
|
||||||
|
mv ./__tests__/data/Pipfile .
|
||||||
|
mv ./__tests__/test-pipenv.py .
|
||||||
|
- name: Install dependencies
|
||||||
|
shell: pwsh
|
||||||
|
if: steps.cache-pipenv.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
if ("${{ matrix.python-version }}" -Match "pypy") {
|
||||||
|
pipenv install --python pypy # --keep-outdated
|
||||||
|
} else {
|
||||||
|
pipenv install --python ${{ matrix.python-version }} # --keep-outdated
|
||||||
|
}
|
||||||
|
- name: Run Python Script
|
||||||
|
run: pipenv run python test-pipenv.py
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-with-pip-version:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }})
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
pip-version: '25.0.1'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
|
|
||||||
|
python-pip-dependencies-caching-path-with-pip-version:
|
||||||
|
name: Test pip (Python ${{ matrix.python-version}}, ${{ matrix.os }}, caching path)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
windows-latest,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
cache: 'pip'
|
||||||
|
cache-dependency-path: __tests__/data/requirements.txt
|
||||||
|
pip-version: '25.0.1'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install numpy pandas requests
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
name: e2e tests
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test-setup-python:
|
||||||
|
name: Test setup-python
|
||||||
|
runs-on: ${{ matrix.operating-system }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
operating-system:
|
||||||
|
[
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
macos-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: Run with setup-python 3.9.13
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: 3.9.13
|
||||||
|
- name: Verify 3.9.13
|
||||||
|
run: python __tests__/verify-python.py 3.9.13
|
||||||
|
|
||||||
|
- name: Run with setup-python 3.10.11
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: 3.10.11
|
||||||
|
- name: Verify 3.10.11
|
||||||
|
run: python __tests__/verify-python.py 3.10.11
|
||||||
|
|
||||||
|
- name: Run with setup-python 3.11.9
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: 3.11.9
|
||||||
|
- name: Verify 3.11.9
|
||||||
|
run: python __tests__/verify-python.py 3.11.9
|
||||||
|
|
||||||
|
- name: Run with setup-python 3.12.7
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: 3.12.7
|
||||||
|
- name: Verify 3.12.7
|
||||||
|
run: python __tests__/verify-python.py 3.12.7
|
||||||
|
|
||||||
|
- name: Run with setup-python 3.13.0
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: 3.13.0
|
||||||
|
- name: Verify 3.13.0
|
||||||
|
run: python __tests__/verify-python.py 3.13.0
|
||||||
|
|
||||||
|
- name: Run with setup-python 3.13
|
||||||
|
id: cp313
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '3.13'
|
||||||
|
- name: Verify 3.13
|
||||||
|
run: python __tests__/verify-python.py 3.13
|
||||||
|
- name: Run python-path sample 3.13
|
||||||
|
run: pipx run --python '${{ steps.cp313.outputs.python-path }}' nox --version
|
||||||
|
|
||||||
|
- name: Run with setup-python ==3.13
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '==3.13'
|
||||||
|
- name: Verify ==3.13
|
||||||
|
run: python __tests__/verify-python.py 3.13
|
||||||
|
|
||||||
|
- name: Run with setup-python <3.13
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '<3.13'
|
||||||
|
- name: Verify <3.13
|
||||||
|
run: python __tests__/verify-python.py 3.12
|
||||||
|
|
||||||
|
- name: Test Raw Endpoint Access
|
||||||
|
run: |
|
||||||
|
curl -L https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json | jq empty
|
||||||
|
shell: bash
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
name: Licensed
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call-licensed:
|
||||||
|
name: Licensed
|
||||||
|
uses: actions/reusable-workflows/.github/workflows/licensed.yml@main
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
name: 'Publish Immutable Action Version'
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checking out
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
- name: Publish
|
||||||
|
id: publish
|
||||||
|
uses: actions/publish-immutable-action@v0.0.4
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
name: Release new action version
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [released]
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
TAG_NAME:
|
||||||
|
description: 'Tag name that the major tag will point to'
|
||||||
|
required: true
|
||||||
|
|
||||||
|
env:
|
||||||
|
TAG_NAME: ${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }}
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update_tag:
|
||||||
|
name: Update the major tag to include the ${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }} changes
|
||||||
|
environment:
|
||||||
|
name: releaseNewActionVersion
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Update the ${{ env.TAG_NAME }} tag
|
||||||
|
uses: actions/publish-action@v0.3.0
|
||||||
|
with:
|
||||||
|
source-tag: ${{ env.TAG_NAME }}
|
||||||
|
slack-webhook: ${{ secrets.SLACK_WEBHOOK }}
|
||||||
@@ -0,0 +1,135 @@
|
|||||||
|
name: Validate GraalPy e2e
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
setup-graalpy:
|
||||||
|
name: Setup GraalPy ${{ matrix.graalpy }} ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
graalpy:
|
||||||
|
- 'graalpy-22.3'
|
||||||
|
- 'graalpy-23.0'
|
||||||
|
- 'graalpy-23.1'
|
||||||
|
- 'graalpy-24.1'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.graalpy }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.graalpy }}
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: GraalPy and Python version
|
||||||
|
run: python --version
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
- name: Assert GraalPy is running
|
||||||
|
run: |
|
||||||
|
import platform
|
||||||
|
assert platform.python_implementation().lower() == "graalvm"
|
||||||
|
shell: python
|
||||||
|
|
||||||
|
- name: Assert expected binaries (or symlinks) are present
|
||||||
|
run: |
|
||||||
|
EXECUTABLE=${{ matrix.graalpy }}
|
||||||
|
EXECUTABLE=${EXECUTABLE/graalpy-/graalpy} # remove the first '-' in "graalpy-X.Y" -> "graalpyX.Y" to match executable name
|
||||||
|
EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe
|
||||||
|
${EXECUTABLE} --version
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
setup-graalpy-noenv:
|
||||||
|
name: Setup GraalPy ${{ matrix.graalpy }} ${{ matrix.os }} (noenv)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
graalpy: ['graalpy22.3', 'graalpy23.0', 'graalpy23.1', 'graalpy24.1']
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.graalpy }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.graalpy }}
|
||||||
|
update-environment: false
|
||||||
|
|
||||||
|
- name: GraalPy and Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} --version
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
check-latest:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, macos-latest, macos-13]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup GraalPy and check latest
|
||||||
|
uses: ./
|
||||||
|
id: graalpy
|
||||||
|
with:
|
||||||
|
python-version: 'graalpy-24.x'
|
||||||
|
check-latest: true
|
||||||
|
- name: GraalPy and Python version
|
||||||
|
run: python --version
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
- name: Assert GraalPy is running
|
||||||
|
run: |
|
||||||
|
import platform
|
||||||
|
assert platform.python_implementation().lower() == "graalvm"
|
||||||
|
shell: python
|
||||||
|
|
||||||
|
- name: Assert expected binaries (or symlinks) are present
|
||||||
|
run: |
|
||||||
|
EXECUTABLE='${{ steps.graalpy.outputs.python-version }}'
|
||||||
|
EXECUTABLE="${EXECUTABLE%.*}"
|
||||||
|
${EXECUTABLE} --version
|
||||||
|
shell: bash
|
||||||
@@ -0,0 +1,260 @@
|
|||||||
|
name: Validate PyPy e2e
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
schedule:
|
||||||
|
- cron: 30 3 * * *
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
setup-pypy:
|
||||||
|
name: Setup PyPy ${{ matrix.pypy }} ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
pypy:
|
||||||
|
- 'pypy-2.7'
|
||||||
|
- 'pypy-3.10'
|
||||||
|
- 'pypy3.9'
|
||||||
|
- 'pypy-2.7-v7.3.17'
|
||||||
|
- 'pypy-3.10-v7.3.17'
|
||||||
|
- 'pypy-3.10-v7.3.16'
|
||||||
|
- 'pypy-3.10-v7.3.x'
|
||||||
|
- 'pypy-3.10-v7.x'
|
||||||
|
- 'pypy-2.7-v7.3.12rc1'
|
||||||
|
- 'pypy-3.10-nightly'
|
||||||
|
- 'pypy3.10-v7.3.17'
|
||||||
|
- 'pypy3.11-v7.3.19'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.pypy }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.pypy }}
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: PyPy and Python version
|
||||||
|
run: python --version
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
- name: Assert PyPy is running
|
||||||
|
run: |
|
||||||
|
import platform
|
||||||
|
assert platform.python_implementation().lower() == "pypy"
|
||||||
|
shell: python
|
||||||
|
|
||||||
|
- name: Assert expected binaries (or symlinks) are present
|
||||||
|
run: |
|
||||||
|
EXECUTABLE=${{ matrix.pypy }}
|
||||||
|
EXECUTABLE=${EXECUTABLE/pypy-/pypy} # remove the first '-' in "pypy-X.Y" -> "pypyX.Y" to match executable name
|
||||||
|
EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe
|
||||||
|
${EXECUTABLE} --version
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
check-non-eol:
|
||||||
|
name: Check non-eol ${{ matrix.pypy }} on ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
- macos-13
|
||||||
|
- macos-14
|
||||||
|
- macos-15
|
||||||
|
- windows-2022
|
||||||
|
- windows-2025
|
||||||
|
- ubuntu-22.04
|
||||||
|
- ubuntu-24.04
|
||||||
|
- ubuntu-22.04-arm
|
||||||
|
- ubuntu-24.04-arm
|
||||||
|
pypy: ['pypy-2.7', 'pypy-3.10', 'pypy-3.11']
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.pypy }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.pypy }}
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: PyPy and Python version
|
||||||
|
run: python --version
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
- name: Assert PyPy is running
|
||||||
|
run: |
|
||||||
|
import platform
|
||||||
|
assert platform.python_implementation().lower() == "pypy"
|
||||||
|
shell: python
|
||||||
|
|
||||||
|
- name: Assert expected binaries (or symlinks) are present
|
||||||
|
run: |
|
||||||
|
EXECUTABLE=${{ matrix.pypy }}
|
||||||
|
EXECUTABLE=${EXECUTABLE/pypy-/pypy} # remove the first '-' in "pypy-X.Y" -> "pypyX.Y" to match executable name
|
||||||
|
EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe
|
||||||
|
${EXECUTABLE} --version
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
setup-pypy-noenv:
|
||||||
|
name: Setup PyPy ${{ matrix.pypy }} ${{ matrix.os }} (noenv)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
pypy: ['pypy2.7', 'pypy3.9', 'pypy3.10-nightly', 'pypy3.11']
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.pypy }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.pypy }}
|
||||||
|
update-environment: false
|
||||||
|
|
||||||
|
- name: PyPy and Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} --version
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
check-latest:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup PyPy and check latest
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: 'pypy-3.11-v7.3.x'
|
||||||
|
check-latest: true
|
||||||
|
- name: PyPy and Python version
|
||||||
|
run: python --version
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
- name: Assert PyPy is running
|
||||||
|
run: |
|
||||||
|
import platform
|
||||||
|
assert platform.python_implementation().lower() == "pypy"
|
||||||
|
shell: python
|
||||||
|
|
||||||
|
- name: Assert expected binaries (or symlinks) are present
|
||||||
|
run: |
|
||||||
|
EXECUTABLE="pypy-3.11-v7.3.x"
|
||||||
|
EXECUTABLE=${EXECUTABLE/-/} # remove the first '-' in "pypy-X.Y" -> "pypyX.Y" to match executable name
|
||||||
|
EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe
|
||||||
|
${EXECUTABLE} --version
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
setup-pypy-multiple-versions:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup PyPy and check latest
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: |
|
||||||
|
pypy-3.11-v7.3.x
|
||||||
|
pypy-3.10-v7.3.x
|
||||||
|
pypy3.9
|
||||||
|
check-latest: true
|
||||||
|
- name: PyPy and Python version
|
||||||
|
run: python --version
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
- name: Assert PyPy is running
|
||||||
|
run: |
|
||||||
|
import platform
|
||||||
|
assert platform.python_implementation().lower() == "pypy"
|
||||||
|
shell: python
|
||||||
|
|
||||||
|
- name: Assert expected binaries (or symlinks) are present
|
||||||
|
run: |
|
||||||
|
EXECUTABLE="pypy-3.11-v7.3.x"
|
||||||
|
EXECUTABLE=${EXECUTABLE/-/} # remove the first '-' in "pypy-X.Y" -> "pypyX.Y" to match executable name
|
||||||
|
EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe
|
||||||
|
${EXECUTABLE} --version
|
||||||
|
shell: bash
|
||||||
|
- name: Assert expected binaries (or symlinks) are present
|
||||||
|
run: |
|
||||||
|
EXECUTABLE='pypy3.9'
|
||||||
|
EXECUTABLE=${EXECUTABLE/pypy-/pypy} # remove the first '-' in "pypy-X.Y" -> "pypyX.Y" to match executable name
|
||||||
|
EXECUTABLE=${EXECUTABLE%%-*} # remove any -* suffixe
|
||||||
|
${EXECUTABLE} --version
|
||||||
|
shell: bash
|
||||||
@@ -0,0 +1,557 @@
|
|||||||
|
name: Validate Python e2e freethread
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
schedule:
|
||||||
|
- cron: 30 3 * * *
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
setup-versions-from-manifest:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python }}
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} version file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: echo ${{ matrix.python }} > .python-version
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: .python-version
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-file-without-parameter:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} version file without parameter
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: echo ${{ matrix.python }} > .python-version
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-standard-pyproject-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} standard pyproject file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0, 3.13.1, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[project]
|
||||||
|
requires-python = "${{ matrix.python }}"
|
||||||
|
' > pyproject.toml
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: pyproject.toml
|
||||||
|
freethreaded: true
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-poetry-pyproject-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} poetry pyproject file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0, 3.13.1, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[tool.poetry.dependencies]
|
||||||
|
python = "${{ matrix.python }}"
|
||||||
|
' > pyproject.toml
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: pyproject.toml
|
||||||
|
freethreaded: true
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-tool-versions-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} .tool-versions file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t, 3.14t-dev]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-tool-versions-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo "python ${{ matrix.python }}" > .tool-versions
|
||||||
|
|
||||||
|
- name: setup-python using .tool-versions ${{ matrix.python }}
|
||||||
|
id: setup-python-tool-versions
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: .tool-versions
|
||||||
|
|
||||||
|
setup-versions-from-pipfile-with-python_version:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} Pipfile
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13t, 3.14t-dev]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[requires]
|
||||||
|
python_version = "${{ matrix.python }}"
|
||||||
|
' > Pipfile
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: Pipfile
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-pipfile-with-python_full_version:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} .tool-versions file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t, 3.14t-dev]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[requires]
|
||||||
|
python_full_version = "${{ matrix.python }}"
|
||||||
|
' > Pipfile
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: Pipfile
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-pre-release-version-from-manifest:
|
||||||
|
name: Setup 3.14.0-alpha.6 ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python 3.14.0-alpha.6
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '3.14.0-alpha.6'
|
||||||
|
freethreaded: true
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-dev-version:
|
||||||
|
name: Setup 3.14t-dev ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python 3.14t-dev
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '3.14t-dev'
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: ${{ startsWith(steps.setup-python.outputs.python-version, '3.14.') }}
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-prerelease-version:
|
||||||
|
name: Setup 3.14t ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python 3.14t
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '3.14t'
|
||||||
|
allow-prereleases: true
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: ${{ startsWith(steps.setup-python.outputs.python-version, '3.14.') }}
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-noenv:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} (noenv)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.0t, 3.13.1t, 3.13.2t]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python }}
|
||||||
|
update-environment: false
|
||||||
|
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
check-latest:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version: [3.13t, 3.14t-dev]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python and check latest
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
check-latest: true
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
setup-python-multiple-python-versions:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python and check latest
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: |
|
||||||
|
3.13.1t
|
||||||
|
3.13.2t
|
||||||
|
3.14t-dev
|
||||||
|
- name: Verify Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -VVV
|
||||||
|
|
||||||
|
setup-versions-with-freethread-input:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} using freethread input parameter
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.13.1, 3.13.2, 3.14-dev, 3.14.0-alpha.6]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python }}
|
||||||
|
freethreaded: true
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
- name: Validate GIL
|
||||||
|
run: python ./__tests__/verify-freethreaded.py
|
||||||
@@ -0,0 +1,607 @@
|
|||||||
|
name: Validate Python e2e
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '**.md'
|
||||||
|
schedule:
|
||||||
|
- cron: 30 3 * * *
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
setup-versions-from-manifest:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python }}
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("Python ${{ matrix.python }}" -ne "$pythonVersion"){
|
||||||
|
Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python }}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
$pythonVersion
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} version file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: echo ${{ matrix.python }} > .python-version
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: .python-version
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("Python ${{ matrix.python }}" -ne "$pythonVersion"){
|
||||||
|
Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python }}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
$pythonVersion
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-file-without-parameter:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} version file without parameter
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: echo ${{ matrix.python }} > .python-version
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("Python ${{ matrix.python }}" -ne "$pythonVersion"){
|
||||||
|
Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python }}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
$pythonVersion
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-standard-pyproject-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} standard pyproject file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.9.13, 3.10.11, 3.11.9, '==3.12.3', 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[project]
|
||||||
|
requires-python = "${{ matrix.python }}"
|
||||||
|
' > pyproject.toml
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: pyproject.toml
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("Python ${{ matrix.python }}".replace("==", "") -ne "$pythonVersion"){
|
||||||
|
Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python }}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
$pythonVersion
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-poetry-pyproject-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} poetry pyproject file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.9.13, 3.10.11, 3.11.9, 3.12.3, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[tool.poetry.dependencies]
|
||||||
|
python = "${{ matrix.python }}"
|
||||||
|
' > pyproject.toml
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: pyproject.toml
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("Python ${{ matrix.python }}" -ne "$pythonVersion"){
|
||||||
|
Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python }}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
$pythonVersion
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-tool-versions-file:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} .tool-versions file
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [pypy3.11-7.3.18, graalpy-24.1.2, 3.13.2, 3.14-dev]
|
||||||
|
exclude:
|
||||||
|
- os: windows-latest
|
||||||
|
python: graalpy-24.1.2
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-tool-versions-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo "python ${{ matrix.python }}" > .tool-versions
|
||||||
|
|
||||||
|
- name: setup-python using .tool-versions ${{ matrix.python }}
|
||||||
|
id: setup-python-tool-versions
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: .tool-versions
|
||||||
|
|
||||||
|
setup-versions-from-pipfile-with-python_version:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} Pipfile with python_version
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.9.13, 3.10.11, 3.11.9, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[requires]
|
||||||
|
python_version = "${{ matrix.python }}"
|
||||||
|
' > Pipfile
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: Pipfile
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("Python ${{ matrix.python }}".replace("==", "") -ne "$pythonVersion"){
|
||||||
|
Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python }}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
$pythonVersion
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-from-pipfile-with-python_full_version:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} Pipfile with python_full_version
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: [3.9.13, 3.10.11, 3.11.9, 3.13.2]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: build-version-file ${{ matrix.python }}
|
||||||
|
run: |
|
||||||
|
echo '[requires]
|
||||||
|
python_full_version = "${{ matrix.python }}"
|
||||||
|
' > Pipfile
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version-file: Pipfile
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("Python ${{ matrix.python }}".replace("==", "") -ne "$pythonVersion"){
|
||||||
|
Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python }}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
$pythonVersion
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-pre-release-version-from-manifest:
|
||||||
|
name: Setup 3.14.0-alpha.6 ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python 3.14.0-alpha.6
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '3.14.0-alpha.6'
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("Python 3.14.0a6" -ne "$pythonVersion"){
|
||||||
|
Write-Host "The current version is $pythonVersion; expected version is 3.14.0a6"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
$pythonVersion
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-dev-version:
|
||||||
|
name: Setup 3.14-dev ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python 3.14-dev
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '3.14-dev'
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: ${{ startsWith(steps.setup-python.outputs.python-version, '3.14.') }}
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-prerelease-version:
|
||||||
|
name: Setup 3.14 ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python 3.14
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: '3.14'
|
||||||
|
allow-prereleases: true
|
||||||
|
|
||||||
|
- name: Check python-path
|
||||||
|
run: ./__tests__/check-python-path.sh '${{ steps.setup-python.outputs.python-path }}'
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Validate version
|
||||||
|
run: ${{ startsWith(steps.setup-python.outputs.python-version, '3.14.') }}
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: python -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
setup-versions-noenv:
|
||||||
|
name: Setup ${{ matrix.python }} ${{ matrix.os }} (noenv)
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
macos-13,
|
||||||
|
ubuntu-latest,
|
||||||
|
ubuntu-24.04-arm
|
||||||
|
]
|
||||||
|
python: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
|
- name: setup-python ${{ matrix.python }}
|
||||||
|
id: setup-python
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python }}
|
||||||
|
update-environment: false
|
||||||
|
|
||||||
|
- name: Python version
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} --version
|
||||||
|
|
||||||
|
- name: Run simple code
|
||||||
|
run: ${{ steps.setup-python.outputs.python-path }} -c 'import math; print(math.factorial(5))'
|
||||||
|
|
||||||
|
check-latest:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python and check latest
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
check-latest: true
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("$pythonVersion" -NotMatch "${{ matrix.python-version }}"){
|
||||||
|
Write-Host "The current version is $pythonVersion; expected version is ${{ matrix.python-version }}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
$pythonVersion
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
setup-python-multiple-python-versions:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
os:
|
||||||
|
[
|
||||||
|
macos-latest,
|
||||||
|
windows-latest,
|
||||||
|
ubuntu-22.04,
|
||||||
|
ubuntu-22.04-arm,
|
||||||
|
ubuntu-24.04-arm,
|
||||||
|
ubuntu-latest,
|
||||||
|
macos-13
|
||||||
|
]
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Setup Python and check latest
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
python-version: |
|
||||||
|
3.9
|
||||||
|
3.10
|
||||||
|
3.11
|
||||||
|
3.12
|
||||||
|
3.13
|
||||||
|
check-latest: true
|
||||||
|
- name: Validate version
|
||||||
|
run: |
|
||||||
|
$pythonVersion = (python --version)
|
||||||
|
if ("$pythonVersion" -NotMatch "3.13"){
|
||||||
|
Write-Host "The current version is $pythonVersion; expected version is 3.13"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
$pythonVersion
|
||||||
|
shell: pwsh
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
name: Update configuration files
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 3 * * 0'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
call-update-configuration-files:
|
||||||
|
name: Update configuration files
|
||||||
|
uses: actions/reusable-workflows/.github/workflows/update-config-files.yml@main
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
name: Main workflow
|
|
||||||
on: [push]
|
|
||||||
jobs:
|
|
||||||
run:
|
|
||||||
name: Run
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, windows-latest]
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@master
|
|
||||||
|
|
||||||
- name: Set Node.js 10.x
|
|
||||||
uses: actions/setup-node@master
|
|
||||||
with:
|
|
||||||
version: 10.x
|
|
||||||
|
|
||||||
- name: npm install
|
|
||||||
run: npm install
|
|
||||||
|
|
||||||
- name: Lint
|
|
||||||
run: npm run format-check
|
|
||||||
|
|
||||||
- name: npm test
|
|
||||||
run: npm test
|
|
||||||
+95
-2
@@ -1,2 +1,95 @@
|
|||||||
!node_modules/
|
# Ignore node_modules, ncc is used to compile nodejs modules into a single file in the releases branch
|
||||||
__tests__/runner/*
|
node_modules/
|
||||||
|
__tests__/runner/*
|
||||||
|
|
||||||
|
# Ignore js files that are transpiled from ts files in src/
|
||||||
|
lib/
|
||||||
|
|
||||||
|
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
|
||||||
|
# Logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# TypeScript v1 declaration files
|
||||||
|
typings/
|
||||||
|
|
||||||
|
# TypeScript cache
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variables file
|
||||||
|
.env
|
||||||
|
.env.test
|
||||||
|
|
||||||
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
|
||||||
|
# next.js build output
|
||||||
|
.next
|
||||||
|
|
||||||
|
# nuxt.js build output
|
||||||
|
.nuxt
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
.vuepress/dist
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
.serverless/
|
||||||
|
|
||||||
|
# FuseBox cache
|
||||||
|
.fusebox/
|
||||||
|
|
||||||
|
# DynamoDB Local files
|
||||||
|
.dynamodb/
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
sources:
|
||||||
|
npm: true
|
||||||
|
|
||||||
|
allowed:
|
||||||
|
- apache-2.0
|
||||||
|
- bsd-2-clause
|
||||||
|
- bsd-3-clause
|
||||||
|
- isc
|
||||||
|
- mit
|
||||||
|
- cc0-1.0
|
||||||
|
- unlicense
|
||||||
|
- 0bsd
|
||||||
|
|
||||||
|
reviewed:
|
||||||
|
npm:
|
||||||
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user