Integration tests #118
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Integration tests | |
on: | |
workflow_dispatch: | |
schedule: | |
# Run at 04:35 UTC every Sunday | |
- cron: '35 4 * * 0' | |
env: | |
PYTHONUNBUFFERED: 1 | |
jobs: | |
test-all-platform-python-combinations: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python-version: ['3.8', '3.9', '3.10', '3.11'] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Check out the target commit | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies and local packages | |
run: | | |
python -m pip install . | |
- name: Run the test suite | |
run: | | |
mkdir testdir | |
cd testdir | |
python -X faulthandler -m unittest discover -v traits_futures | |
test-bleeding-edge: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python-version: ['3.8', '3.10'] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Check out the main branch | |
uses: actions/checkout@v4 | |
- name: Install Linux packages for PySide6 support | |
run: | | |
sudo apt-get update | |
sudo apt-get install libegl1 | |
sudo apt-get install libxkbcommon-x11-0 | |
sudo apt-get install libxcb-cursor0 | |
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-shape0 | |
if: matrix.os == 'ubuntu-latest' | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies and local packages | |
run: | | |
python -m pip install git+https://github.com/enthought/traits | |
python -m pip install git+https://github.com/enthought/pyface | |
python -m pip install .[pyside6] | |
- name: Create clean test directory | |
run: | | |
mkdir testdir | |
- name: Run the test suite (Linux) | |
run: cd testdir && xvfb-run -a python -X faulthandler -m unittest discover -v traits_futures | |
if: matrix.os == 'ubuntu-latest' | |
- name: Run the test suite (Windows/macOS) | |
run: cd testdir && python -X faulthandler -m unittest discover -v traits_futures | |
if: matrix.os != 'ubuntu-latest' |