-
Notifications
You must be signed in to change notification settings - Fork 5
148 lines (135 loc) · 3.55 KB
/
test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
name: Test
on:
push:
branches:
- main
- v*-branch
pull_request:
branches:
- main
- v*-branch
workflow_call:
concurrency:
group: test-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: Test (Python ${{ matrix.target.python }}, ${{ matrix.target.os }})
runs-on: ${{ matrix.target.builder }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
# NOTE: Testing of the Windows targets are currently disabled because
# the test script is simply not ready for it.
target:
# Python 3.6
- python: '3.6'
os: Linux
builder: ubuntu-20.04
- python: '3.6'
os: macOS
builder: macos-13
# - python: '3.6'
# os: Windows
# builder: windows-2019
# Python 3.7
- python: '3.7'
os: Linux
builder: ubuntu-20.04
- python: '3.7'
os: macOS
builder: macos-12
# - python: '3.7'
# os: Windows
# builder: windows-2019
# Python 3.8
- python: '3.8'
os: Linux
builder: ubuntu-20.04
- python: '3.8'
os: macOS
builder: macos-13
# - python: '3.8'
# os: Windows
# builder: windows-2019
# Python 3.9
- python: '3.9'
os: Linux
builder: ubuntu-20.04
- python: '3.9'
os: macOS
builder: macos-13
# - python: '3.9'
# os: Windows
# builder: windows-2019
# Python 3.10
- python: '3.10'
os: Linux
builder: ubuntu-22.04
- python: '3.10'
os: macOS
builder: macos-14
# - python: '3.10'
# os: Windows
# builder: windows-2022
# Python 3.11
- python: '3.11'
os: Linux
builder: ubuntu-22.04
- python: '3.11'
os: macOS
builder: macos-14
# - python: '3.11'
# os: Windows
# builder: windows-2022
# Python 3.12
- python: '3.12'
os: Linux
builder: ubuntu-22.04
- python: '3.12'
os: macOS
builder: macos-14
# - python: '3.12'
# os: Windows
# builder: windows-2022
steps:
- name: Set up environment
run: |
if [ "${{ runner.os }}" == "Windows" ]; then
# Disable file name validation on Windows because Linux source tree
# contains potentially problematic file names.
git config --global core.protectNTFS false
fi
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.target.python }}
- name: Check Python version
run: |
set -x
python --version
pip --version
python -c "import platform; print(platform.architecture())"
- name: Install Python dependencies
run: |
pip install --user setuptools wheel
- name: Check out Linux source code
uses: actions/checkout@v4
# On Windows, checkout of 'aux.c' is expected to fail because ... Windows.
continue-on-error: true
with:
repository: torvalds/linux
ref: v5.4
- name: Check out Kconfiglib source code
uses: actions/checkout@v4
with:
path: Kconfiglib
- name: Apply Linux Kconfig Makefile patch
run: |
git apply Kconfiglib/makefile.patch
- name: Run testsuite
run: |
Kconfiglib/tests/reltest python