-
Notifications
You must be signed in to change notification settings - Fork 59
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
860a1ad
commit 0787673
Showing
3 changed files
with
142 additions
and
1 deletion.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
name: Test single | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
os: | ||
required: true | ||
type: string | ||
python-version: | ||
required: true | ||
type: string | ||
tox-env: | ||
required: true | ||
type: string | ||
pyqt: | ||
required: true | ||
type: string | ||
experimental: | ||
required: true | ||
type: boolean | ||
|
||
jobs: | ||
build: | ||
runs-on: ${{ inputs.os }} | ||
continue-on-error: ${{ inputs.experimental }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ inputs.python-version }} | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ inputs.python-version }} | ||
|
||
- name: Install linux system dependencies | ||
# PyQt6 need special system dependencies on Ubuntu | ||
if: runner.os == 'Linux' | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libegl1-mesa libxcb-shape0 libxcb-cursor0 glibc-tools | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install --upgrade tox | ||
- name: Test with Tox at Ubuntu | ||
if: inputs.os == 'ubuntu-latest' | ||
run: | | ||
catchsegv xvfb-run -a -s "$XVFBARGS" tox -e ${{ inputs.tox_env }} | ||
env: | ||
# Set pyqt and webengine versions. | ||
PYQT_PYPI_NAME: "${{ startsWith(inputs.pyqt, '5') && 'PyQt5' || 'PyQt6' }}" | ||
PYQT_PYPI_VERSION: ${{ inputs.pyqt }} | ||
WEBENGINE_PYPI_NAME: "${{ startsWith(inputs.pyqt, '5') && 'PyQtWebEngine' || 'PyQt6-WebEngine' }}" | ||
WEBENGINE_PYPI_VERSION: ${{ inputs.pyqt }} | ||
|
||
# Need this otherwise unittest installs a warning filter that overrides | ||
# our desire to have OrangeDeprecationWarnings raised | ||
PYTHONWARNINGS: module | ||
# for xvfb at Ubuntu | ||
XVFBARGS: "-screen 0 1280x1024x24" | ||
# on Ubuntu QTWEBENGINE_CHROMIUM_FLAGS needs to be set for webview to work | ||
QTWEBENGINE_CHROMIUM_FLAGS: "--disable-gpu --no-sandbox" | ||
|
||
- name: Test with Tox at other systems | ||
if: inputs.os != 'ubuntu-latest' | ||
run: tox -e ${{ inputs.tox_env }} | ||
env: | ||
# Set pyqt and webengine versions. | ||
PYQT_PYPI_NAME: "${{ startsWith(inputs.pyqt, '5') && 'PyQt5' || 'PyQt6' }}" | ||
PYQT_PYPI_VERSION: ${{ inputs.pyqt }} | ||
WEBENGINE_PYPI_NAME: "${{ startsWith(inputs.pyqt, '5') && 'PyQtWebEngine' || 'PyQt6-WebEngine' }}" | ||
WEBENGINE_PYPI_VERSION: ${{ inputs.pyqt }} | ||
|
||
# Raise deprecations as errors in our tests only when testing orange-oldest and orange-released. | ||
ORANGE_DEPRECATIONS_ERROR: "${{ inputs.tox_env != 'orange-latest' && '1' || '' }}" | ||
# Need this otherwise unittest installs a warning filter that overrides | ||
# our desire to have OrangeDeprecationWarnings raised | ||
PYTHONWARNINGS: module | ||
|
||
- name: Upload code coverage | ||
if: | | ||
inputs.python-version == '3.10' && | ||
inputs.os == 'ubuntu-latest' && | ||
inputs.tox_env == 'orange-released' | ||
run: | | ||
pip install codecov | ||
codecov |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
name: Test | ||
|
||
on: | ||
push | ||
|
||
jobs: | ||
build: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-latest, macOS-latest, windows-latest] | ||
python-version: ['3.10'] | ||
tox_env: [orange-released] | ||
pyqt: ['5.15.*', '6.6.*'] | ||
experimental: [false] | ||
include: | ||
- os: windows-latest | ||
python-version: '3.9' | ||
tox_env: orange-oldest | ||
pyqt: '5.15.*' | ||
experimental: false | ||
- os: macOS-latest | ||
python-version: '3.9' | ||
tox_env: orange-oldest | ||
pyqt: '5.15.*' | ||
experimental: false | ||
- os: ubuntu-latest | ||
python-version: '3.9' | ||
tox_env: orange-oldest | ||
pyqt: '5.15.*' | ||
experimental: false | ||
|
||
- os: windows-latest | ||
python-version: '3.11' | ||
tox_env: orange-latest | ||
pyqt: '5.15.*' | ||
experimental: false | ||
- os: macOS-latest | ||
python-version: '3.11' | ||
tox_env: orange-latest | ||
pyqt: '5.15.*' | ||
experimental: false | ||
- os: ubuntu-latest | ||
python-version: '3.11' | ||
tox_env: orange-latest | ||
pyqt: '5.15.*' | ||
experimental: false | ||
uses: ./github/workflows/single.yml | ||
with: | ||
os: ${{ matrix.os }} | ||
python-version: ${{ matrix.python-version }} | ||
tox-env: ${{ matrix.tox-env }} | ||
pyqt: ${{ matrix.pyqt }} | ||
experimental: ${{ matrix.experimental }} |
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