PICARD-1377: New plugin UI icons #4557
Workflow file for this run
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: Run tests | |
on: [push, pull_request] | |
permissions: {} | |
jobs: | |
test-latest: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-latest, ubuntu-latest, windows-2019] | |
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12.0-rc.1'] | |
include: | |
- os: macos-11 | |
python-version: '3.7' | |
env: | |
CODACY_PROJECT_TOKEN: ${{ secrets.CODACY_PROJECT_TOKEN }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install --upgrade setuptools | |
pip install -r requirements.txt | |
- name: Install gettext (Linux) | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
sudo apt-get install gettext | |
- name: Install gettext (macOS) | |
if: runner.os == 'macOS' | |
run: | | |
brew install gettext | |
brew link gettext --force | |
echo "/usr/local/opt/gettext/bin" >> $GITHUB_PATH | |
- name: Check coding style | |
run: | | |
pip install flake8 "isort>=5" | |
flake8 picard test --count --show-source --statistics | |
isort --check-only --diff --recursive picard test | |
- name: Test with pytest | |
if: always() | |
timeout-minutes: 30 | |
run: | | |
python setup.py build_locales -i | |
pip install pytest pytest-randomly pytest-cov | |
pytest --verbose --cov=picard --cov-report xml:coverage.xml test | |
- name: Test python-libdiscid (Linux) | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
sudo apt-get install libdiscid-dev | |
python -c "from picard.disc import discid_version; print(discid_version)" | |
pytest --verbose test/test_disc.py | |
pip install python-libdiscid | |
python -c "from picard.disc import discid_version; print(discid_version)" | |
pytest --verbose test/test_disc.py | |
- name: Submit code coverage to Codacy | |
if: env.CODACY_PROJECT_TOKEN | |
run: | | |
pip install codacy-coverage | |
python-codacy-coverage -r coverage.xml | |
test-requirements: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: ['3.7'] | |
dependencies: [ | |
"PyQt5==5.14.2", | |
"PyQt5==5.13.2", | |
"PyQt5==5.12.3", | |
"PyQt5==5.11.3 sip==4.19.8 mutagen==1.37", | |
] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install $DEPENDENCIES | |
pip install -r requirements.txt | |
env: | |
DEPENDENCIES: ${{ matrix.dependencies }} | |
- name: Test with pytest | |
timeout-minutes: 30 | |
run: | | |
pip install pytest pytest-randomly pytest-cov | |
pytest --verbose test | |
pip-install: # Test whether a clean pip install from source works | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-latest, ubuntu-latest, windows-latest] | |
python-version: ['3.8', '3.11'] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install gettext (Linux) | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
sudo apt-get install gettext | |
- name: Install gettext (macOS) | |
if: runner.os == 'macOS' | |
run: | | |
brew install gettext | |
brew link gettext --force | |
echo "/usr/local/opt/gettext/bin" >> $GITHUB_PATH | |
- name: Run pip install . | |
run: | | |
python -m pip install --upgrade pip | |
pip install . | |
- name: Test running installed package | |
if: runner.os != 'Windows' | |
run: picard --long-version --no-crash-dialog | |
- name: Verify sdist package | |
if: runner.os != 'Windows' | |
timeout-minutes: 30 | |
run: | | |
pip install --upgrade setuptools | |
pip install pytest | |
scripts/package/run-sdist-test.sh |