Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CI for compatibility with Ubuntu 22.04 #1727

Merged
merged 29 commits into from
Dec 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
fb753eb
Drop Python 3.6 from CI
mdickinson Dec 7, 2022
43e86a4
Drop from core tests, too
mdickinson Dec 7, 2022
13b5aea
Try installing qt5 rather than qt5-default
mdickinson Dec 7, 2022
1fdb794
Go back to first principles: use PySide6 only, don't install any Ubun…
mdickinson Dec 8, 2022
89369a7
See if we can figure out why tests are being skipped on Linux
mdickinson Dec 8, 2022
f32ac7b
Use dedicated test that attempts to import PySide6
mdickinson Dec 8, 2022
f4442ce
Add package that provides libEGL.so.1
mdickinson Dec 8, 2022
b7c6f57
Only run on one config
mdickinson Dec 8, 2022
c9a69c3
Temporarily disable workflow
mdickinson Dec 8, 2022
f2ed5fc
Don't run doc build; fix style
mdickinson Dec 8, 2022
292445f
Try libegl1
mdickinson Dec 8, 2022
eddf8b5
Add libxkbcommon-x11-0
mdickinson Dec 8, 2022
1743458
Add libxcb-icccm4
mdickinson Dec 8, 2022
7555763
One more
mdickinson Dec 8, 2022
d6be632
Add libxcb-keysyms1
mdickinson Dec 8, 2022
5775440
Add libxcb-randr0
mdickinson Dec 8, 2022
4e20fe2
One more libxcb piece
mdickinson Dec 8, 2022
5ff9d79
Add libxcb-shape0
mdickinson Dec 8, 2022
2d366e8
Try replacing xvfb-action with xvfb-run
mdickinson Dec 8, 2022
40335ac
Restore all Python versions
mdickinson Dec 8, 2022
94e24ad
Unwind debugging changes
mdickinson Dec 8, 2022
8cd5b05
Remove 3.6 from other workflows
mdickinson Dec 8, 2022
fe164ea
Apply corresponding changes to the test-from-pypi workflow
mdickinson Dec 8, 2022
696c16c
Debugging the test-from-pypi workflow
mdickinson Dec 8, 2022
e84f93b
List dependencies explicitly; use PySide6 instead of PySide2
mdickinson Dec 8, 2022
766212e
Don't install PySide6 on Python 3.11
mdickinson Dec 8, 2022
fde0b70
Actually remove PySide6 from the list
mdickinson Dec 8, 2022
ee86643
Don't try to install PySide6 on Windows/x86
mdickinson Dec 9, 2022
cc16616
Revert debugging changes
mdickinson Dec 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/run-core-traits-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11']
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']

runs-on: ${{ matrix.os }}

Expand Down
17 changes: 9 additions & 8 deletions .github/workflows/run-traits-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11']
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']

runs-on: ${{ matrix.os }}

Expand All @@ -18,14 +18,14 @@ jobs:
- name: Install Linux packages for Qt 5 support
run: |
sudo apt-get update
sudo apt-get install qt5-default
sudo apt-get install libegl1
sudo apt-get install libxkbcommon-x11-0
sudo apt-get install libxcb-icccm4
sudo apt-get install libxcb-image0
sudo apt-get install libxcb-keysyms1
sudo apt-get install libxcb-randr0
sudo apt-get install libxcb-render-util0
sudo apt-get install libxcb-xinerama0
sudo apt-get install libxcb-shape0
if: matrix.os == 'ubuntu-latest'
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
Expand All @@ -37,8 +37,9 @@ jobs:
- name: Create clean test directory
run: |
mkdir testdir
- name: Test Traits package
uses: GabrielBB/xvfb-action@v1
with:
working-directory: testdir
run: python -m unittest discover -v traits
- name: Test Traits package (Linux)
run: cd testdir && xvfb-run -a python -m unittest discover -v traits
if: matrix.os == 'ubuntu-latest'
- name: Test Traits package (Windows/macOS)
run: cd testdir && python -m unittest discover -v traits
if: matrix.os != 'ubuntu-latest'
52 changes: 32 additions & 20 deletions .github/workflows/test-from-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11']
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
python-architecture: [x86, x64]
exclude:
- os: macos-latest
Expand All @@ -25,37 +25,43 @@ jobs:
- name: Install Linux packages for Qt 5 support
run: |
sudo apt-get update
sudo apt-get install qt5-default
sudo apt-get install libegl1
sudo apt-get install libxkbcommon-x11-0
sudo apt-get install libxcb-icccm4
sudo apt-get install libxcb-image0
sudo apt-get install libxcb-keysyms1
sudo apt-get install libxcb-randr0
sudo apt-get install libxcb-render-util0
sudo apt-get install libxcb-xinerama0
sudo apt-get install libxcb-shape0
if: runner.os == 'Linux'
- name: Set up Python ${{ matrix.python-version }} (${{ matrix.python-architecture }})
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.python-architecture }}
- name: Install Traits and test dependencies from PyPI sdist
- name: Install test dependencies and Traits from PyPI sdist (no PySide6)
run: |
python -m pip install --no-binary traits traits[test]
python -m pip install --no-binary traits Cython numpy Sphinx traits traitsui
if: matrix.python-version == '3.11' || matrix.python-architecture == 'x86'
- name: Install test dependencies and Traits from PyPI sdist (PySide6)
run: |
python -m pip install --no-binary traits Cython numpy PySide6 Sphinx traits traitsui
if: matrix.python-version != '3.11' && matrix.python-architecture != 'x86'
- name: Create clean test directory
run: |
mkdir testdir
- name: Test Traits package
uses: GabrielBB/xvfb-action@v1
with:
working-directory: testdir
run: python -m unittest discover -v traits
- name: Test Traits package (Linux)
run: cd testdir && xvfb-run -a python -m unittest discover -v traits
if: matrix.os == 'ubuntu-latest'
- name: Test Traits package (Windows/macOS)
run: cd testdir && python -m unittest discover -v traits
if: matrix.os != 'ubuntu-latest'

test-pypi-wheel:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', '3.11']
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
python-architecture: [x86, x64]
exclude:
- os: macos-latest
Expand All @@ -69,31 +75,37 @@ jobs:
- name: Install Linux packages for Qt 5 support
run: |
sudo apt-get update
sudo apt-get install qt5-default
sudo apt-get install libegl1
sudo apt-get install libxkbcommon-x11-0
sudo apt-get install libxcb-icccm4
sudo apt-get install libxcb-image0
sudo apt-get install libxcb-keysyms1
sudo apt-get install libxcb-randr0
sudo apt-get install libxcb-render-util0
sudo apt-get install libxcb-xinerama0
sudo apt-get install libxcb-shape0
if: runner.os == 'Linux'
- name: Set up Python ${{ matrix.python-version }} (${{ matrix.python-architecture }})
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.python-architecture }}
- name: Install Traits and test dependencies from PyPI wheel
- name: Install test dependencies and Traits from PyPI wheel (no PySide6)
run: |
python -m pip install --only-binary traits traits[test]
python -m pip install --only-binary traits Cython numpy Sphinx traits traitsui
if: matrix.python-version == '3.11' || matrix.python-architecture == 'x86'
- name: Install test dependencies and Traits from PyPI wheel (PySide6)
run: |
python -m pip install --only-binary traits Cython numpy PySide6 Sphinx traits traitsui
if: matrix.python-version != '3.11' && matrix.python-architecture != 'x86'
- name: Create clean test directory
run: |
mkdir testdir
- name: Test Traits package
uses: GabrielBB/xvfb-action@v1
with:
working-directory: testdir
run: python -m unittest discover -v traits
- name: Test Traits package (Linux)
run: cd testdir && xvfb-run -a python -m unittest discover -v traits
if: matrix.os == 'ubuntu-latest'
- name: Test Traits package (Windows/macOS)
run: cd testdir && python -m unittest discover -v traits
if: matrix.os != 'ubuntu-latest'

notify-on-failure:
needs: [test-pypi-sdist, test-pypi-wheel]
Expand Down
3 changes: 1 addition & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -318,8 +318,7 @@ def get_long_description():
"mypy",
"numpy",
"pyface",
"PySide2; python_version < '3.8'",
"PySide6; python_version >= '3.8' and python_version < '3.11'",
"PySide6; python_version >= '3.7' and python_version < '3.11'",
"setuptools",
"Sphinx>=2.1.0",
"traitsui",
Expand Down