diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 66281a4..ac37839 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -16,14 +16,13 @@ on: jobs: build: - runs-on: ubuntu-latest strategy: matrix: python-version: ["3.9", "3.10", "3.11"] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: install ffmpeg run: | @@ -44,24 +43,70 @@ jobs: cached: ${{ steps.cache-llvm.outputs.cache-hit }} - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + cache: 'pip' - - name: Cache pip - uses: actions/cache@v2 + - name: Install dependencies + run: | + sudo apt install libsndfile1-dev + python -m pip install wheel + python -m pip install --upgrade pip + python -m pip install flake8 + pip install -e .[visrecognize,noisereduce,test] + + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + + - name: Test with pytest + run: | + pytest + + + + + build-windows: + runs-on: windows-latest + strategy: + matrix: + python-version: ["3.9", "3.10", "3.11"] + + steps: + - uses: actions/checkout@v4 + - uses: FedericoCarboni/setup-ffmpeg@v3 + id: setup-ffmpeg + with: + ffmpeg-version: release + linking-type: static + github-token: ${{ github.server_url == 'https://github.com' && github.token || '' }} + + # - name: Cache LLVM and Clang + # id: cache-llvm + # uses: actions/cache@v2 + # with: + # path: ${{ runner.temp }}/llvm + # key: llvm-10.0 + # + # - name: Install LLVM and Clang + # uses: KyleMayes/install-llvm-action@v1 + # with: + # version: "10.0" + # directory: ${{ runner.temp }}/llvm + # cached: ${{ steps.cache-llvm.outputs.cache-hit }} + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 with: - # This path is specific to Ubuntu - path: ~/.cache/pip - # Look to see if there is a cache hit for the corresponding requirements file - key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} - restore-keys: | - ${{ runner.os }}-pip- - ${{ runner.os }}- + python-version: ${{ matrix.python-version }} + cache: 'pip' - name: Install dependencies run: | - sudo apt install libsndfile1-dev python -m pip install wheel python -m pip install --upgrade pip python -m pip install flake8