-
Notifications
You must be signed in to change notification settings - Fork 21
146 lines (143 loc) · 3.75 KB
/
ci.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
name: CI
on:
push:
branches:
- master
tags:
- v*
pull_request:
branches:
- "*"
schedule:
# Daily at 05:47
- cron: '47 5 * * *'
workflow_dispatch: {}
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.event_name != 'pull_request' && github.sha || '' }}
cancel-in-progress: true
jobs:
test:
name: ${{ matrix.os.name }} ${{ matrix.python.name }} ${{ matrix.wrapper.name }}
runs-on: ${{ matrix.os.runs-on }}
container: ${{ matrix.os.container[matrix.python.docker] }}
strategy:
fail-fast: false
matrix:
os:
- name: Linux
runs-on: ubuntu-latest
python_platform: linux
container:
'3.5': docker://python:3.5-buster
'3.6': docker://python:3.6-buster
'3.7': docker://python:3.7-buster
'3.8': docker://python:3.8-buster
'3.9': docker://python:3.9-buster
'3.10': docker://python:3.10-buster
'3.11': docker://python:3.11-buster
- name: Windows
runs-on: windows-latest
python_platform: win32
- name: macOS
runs-on: macos-latest
python_platform: darwin
python:
- name: CPython 3.5
tox: py35
action: '3.5'
docker: '3.5'
- name: CPython 3.6
tox: py36
action: '3.6'
docker: '3.6'
- name: CPython 3.7
tox: py37
action: '3.7'
docker: '3.7'
- name: CPython 3.8
tox: py38
action: '3.8'
docker: '3.8'
- name: CPython 3.9
tox: py39
action: '3.9'
docker: '3.9'
- name: CPython 3.10
tox: py310
action: '3.10'
docker: '3.10'
- name: CPython 3.11
tox: py311
action: '3.11'
docker: '3.11'
wrapper:
- name: PyQt5
tox: pyqt5
major: 5
- name: PyQt6
tox: pyqt6
major: 6
- name: PySide2
tox: pyside2
major: 5
- name: PySide6
tox: pyside6
major: 6
exclude:
- python:
tox: py311
wrapper:
tox: pyside2
- python:
tox: py35
wrapper:
major: 6
- python:
tox: py36
wrapper:
major: 6
steps:
- uses: actions/checkout@v2
- name: Set up ${{ matrix.python.name }}
if: ${{ job.container == '' }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python.action }}
architecture: x64
- name: Report Python information
shell: bash
run: |
python -c 'import sys; print(sys.version)'
echo
echo " <=======>"
echo
pip --version
echo
echo " <=======>"
echo
pip list --no-python-version-warning
echo
echo " <=======>"
echo
pip freeze --all --no-python-version-warning
- name: Install Linux Qt5 dependencies
if: matrix.os.python_platform == 'linux'
run: |
apt-get update --yes
apt-get install --yes libgl1
- name: Install
run: |
pip install 'tox<4'
- name: Test
run: |
tox -v -e "${{ matrix.python.tox }}-${{ matrix.wrapper.tox }}"
all:
name: All
runs-on: ubuntu-latest
needs:
- test
steps:
- name: This
shell: python
run: |
import this