[fix](reader): fix play-all may fail due to 'ValueError: generator already executing' #974
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: Build | |
on: [push, pull_request] | |
jobs: | |
test: | |
env: | |
TEST_ENV: travis | |
# FeelUOwn have Chinese characters in feeluown help message. | |
# It needs an encoding which can encode Chinese character | |
# while windows use cp1252 as the default encoding. | |
PYTHONIOENCODING: utf-8 | |
runs-on: ${{ matrix.os }} | |
strategy: | |
# Allow some jobs fail. | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest, macos-13] | |
python: ['3.8', '3.11'] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Install Ubuntu dependencies | |
if: startsWith(matrix.os, 'ubuntu') | |
run: | | |
sudo apt-get update | |
sudo apt-get -y install libmpv1 | |
- name: Install macOS Dependencies | |
if: startsWith(matrix.os, 'macos') | |
run: | | |
brew install mpv | |
- name: Setup DYLD path for macos-arm64 | |
if: matrix.os == 'macos-latest' | |
run: | | |
# Python can't find libmpv on macOS arm64 by default. | |
# This problem does not exist on macOS with x86_64. | |
echo "DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib" >> $GITHUB_ENV | |
echo "DYLD_FALLBACK_FRAMEWORK_PATH=/opt/homebrew/Frameworks" >> $GITHUB_ENV | |
- name: Install Windows Dependencies | |
if: startsWith(matrix.os, 'windows') | |
run: | | |
choco install make curl | |
curl -L https://github.com/feeluown/FeelUOwn/releases/download/v3.6a0/mpv-1.dll -o C:Windows\system32\mpv-1.dll | |
- name: Install Python Dependencies | |
run: | | |
pip install --upgrade pip | |
pip install pyqt5 | |
pip install "pytest<7.2" | |
pip install -e .[dev,cookies,webserver,ytdl] | |
- name: Install Python(macOS) Dependencies | |
if: startsWith(matrix.os, 'macos') | |
run: | | |
pip install -e .[macos] | |
- name: Install Python(windows) Dependencies | |
if: startsWith(matrix.os, 'windows') | |
run: | | |
pip install -e .[win32] | |
- name: Test if no syntax error | |
run: feeluown -h | |
- name: Test | |
run: | | |
make test | |
- name: Integration Test | |
run: | | |
make integration_test | |
- name: Coveralls | |
if: matrix.os == 'ubuntu-latest' && matrix.python == '3.8' && github.repository == 'feeluown/FeelUOwn' | |
env: | |
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
pip install coveralls | |
coveralls --service=github |