@@ -12,20 +12,14 @@ jobs:
1212 strategy :
1313 matrix :
1414 os : [ubuntu-20.04, ubuntu-latest, macos-11, macos-latest, windows-2019, windows-latest]
15- python-version : ['3.5', '3.6', '3.7', '3.8']
16- exclude :
17- # Python 3.5 and 3.6 not available in the latest Ubuntu runners
18- - os : ubuntu-latest
19- python-version : ' 3.5'
20- - os : ubuntu-latest
21- python-version : ' 3.6'
15+ python-version : ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
2216 fail-fast : false
2317 runs-on : ${{ matrix.os }}
2418 name : Test Py ${{ matrix.python-version }} - ${{ matrix.os }}
2519 steps :
2620 - uses : actions/checkout@v4
2721 - name : Set up Python
28- uses : actions/setup-python@v4
22+ uses : actions/setup-python@v5
2923 with :
3024 python-version : ${{ matrix.python-version }}
3125 - name : Display Python info
@@ -37,19 +31,14 @@ jobs:
3731 pip --version
3832 pip config list
3933 pip freeze
40- - name : Prepare Ubuntu
41- if : runner.os == 'Linux'
42- run : |
43- sudo apt-get update
44- sudo apt-get install -y libxkbcommon-x11-0 xvfb
4534 - name : Install Mu dependencies
4635 run : |
4736 pip install .[dev]
4837 pip list
4938 timeout-minutes : 10
5039 - name : Run tests
5140 if : runner.os == 'Linux'
52- run : xvfb-run make check
41+ run : QT_QPA_PLATFORM=offscreen python make.py check
5342 timeout-minutes : 5
5443 - name : Run tests
5544 if : runner.os != 'Linux'
10089 runs-on : ubuntu-latest
10190 strategy :
10291 matrix :
103- docker-tag : ['stretch-2018-03-13 ', 'buster-2021-05-28 ', 'buster-legacy -2022-04-07']
92+ docker-tag : ['buster-2021-05-28 ', 'buster-legacy-2022-04-07 ', 'bullseye -2022-04-07']
10493 fail-fast : false
10594 services :
10695 rpios :
@@ -112,7 +101,7 @@ jobs:
112101 - name : Wait 2m30s for the docker image to start up QEMU and Raspberry Pi OS
113102 run : sleep 150
114103 - name : Clone project & setup it as the bash entry directory
115- uses : appleboy/ssh-action@master
104+ uses : appleboy/ssh-action@v1.0.0
116105 with :
117106 host : rpios
118107 username : pi
@@ -126,18 +115,8 @@ jobs:
126115 git checkout --progress FETCH_HEAD
127116 echo "cd ~/mu" > ~/.bashrc_new && cat ~/.bashrc >> ~/.bashrc_new
128117 rm ~/.bashrc && mv ~/.bashrc_new ~/.bashrc
129- # As Pi OS stretch is no longer supported the repository URL was moved and is no longer updated
130- - name : Update Stretch sources.list
131- if : ${{ matrix.docker-tag == 'stretch-2018-03-13' }}
132- uses : appleboy/ssh-action@master
133- with :
134- host : rpios
135- username : pi
136- password : raspberry
137- port : ${{ job.services.rpios.ports[5022] }}
138- script : echo "deb http://legacy.raspbian.org/raspbian/ stretch main contrib non-free rpi" | sudo tee /etc/apt/sources.list
139118 - name : Install Mu extra apt dependencies
140- uses : appleboy/ssh-action@master
119+ uses : appleboy/ssh-action@v1.0.0
141120 with :
142121 host : rpios
143122 username : pi
@@ -147,22 +126,24 @@ jobs:
147126 sudo apt-get update
148127 sudo apt-get install -y python3-virtualenv
149128 - name : Create venv and install Python dependencies
150- uses : appleboy/ssh-action@master
129+ uses : appleboy/ssh-action@v1.0.0
151130 with :
152131 host : rpios
153132 username : pi
154133 password : raspberry
155134 port : ${{ job.services.rpios.ports[5022] }}
156135 command_timeout : 20m
136+ # Some compiled packages take a while to be built in piwheels, so to
137+ # avoid intermittent pip install failures we use `--prefer-binary`
157138 script : |
158139 python3 -m virtualenv ~/mu/.venv -v --python=python3 --system-site-packages
159140 echo "source ~/mu/.venv/bin/activate" > ~/.bashrc_new && cat ~/.bashrc >> ~/.bashrc_new
160141 rm ~/.bashrc && mv ~/.bashrc_new ~/.bashrc
161142 source .venv/bin/activate
162143 python -m pip list
163- python -m pip install ."[dev]"
144+ python -m pip install ."[dev]" --prefer-binary
164145 - name : Environment info
165- uses : appleboy/ssh-action@master
146+ uses : appleboy/ssh-action@v1.0.0
166147 with :
167148 host : rpios
168149 username : pi
@@ -175,12 +156,11 @@ jobs:
175156 python3 -m pip --version
176157 python3 -m pip list
177158 - name : Run tests
178- uses : appleboy/ssh-action@master
159+ uses : appleboy/ssh-action@v1.0.0
179160 with :
180161 host : rpios
181162 username : pi
182163 password : raspberry
183164 port : ${{ job.services.rpios.ports[5022] }}
184- # The time out can be decreased to 30 min when Stretch is dropped
185- command_timeout : 45m
165+ command_timeout : 30m
186166 script : xvfb-run python make.py check
0 commit comments