Add permissions(id-token: write) #64
This file contains hidden or 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 CI | |
| on: | |
| push: | |
| branches: [ main, testci ] | |
| pull_request: | |
| branches: [ main, testci ] | |
| jobs: | |
| test-on-windows: | |
| runs-on: windows-latest | |
| defaults: | |
| run: | |
| shell: pwsh | |
| env: | |
| PYTHONIOENCODING: utf-8 | |
| steps: | |
| - name: Download and extract FFmpeg | |
| run: | | |
| Invoke-WebRequest -Uri "https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z" -OutFile "ffmpeg.7z" | |
| $ffmpegDir = "$env:USERPROFILE\ffmpeg" | |
| New-Item -ItemType Directory -Path $ffmpegDir -Force | Out-Null | |
| & "C:\Program Files\7-Zip\7z.exe" x "ffmpeg.7z" -o"$ffmpegDir" -y | |
| $binPath = Get-ChildItem "$ffmpegDir" | Where-Object { $_.PSIsContainer } | Select-Object -First 1 | |
| $ffmpegBin = "$ffmpegDir\$($binPath.Name)\bin" | |
| echo "FFMPEG_BIN=$ffmpegBin" >> $env:GITHUB_ENV | |
| echo "PATH=$ffmpegBin;$env:PATH" >> $env:GITHUB_ENV | |
| Write-Host "FFmpeg path: $ffmpegBin" | |
| & "$ffmpegBin\ffmpeg.exe" -version | |
| shell: pwsh | |
| - name: Clone HwCodecDetect | |
| run: git clone -b main --single-branch https://github.com/whyb/HwCodecDetect.git | |
| - name: Upgrade pip | |
| run: python -m pip install --upgrade pip | |
| working-directory: HwCodecDetect | |
| - name: Install dependencies | |
| run: python -m pip install -r requirements.txt | |
| working-directory: HwCodecDetect | |
| - name: Run tests | |
| run: python -m src.HwCodecDetect.run_tests --encoder-count 8 --decoder-count 8 --verbose | |
| working-directory: HwCodecDetect | |
| test-on-ubuntu: | |
| runs-on: ubuntu-latest | |
| env: | |
| PYTHONIOENCODING: utf-8 | |
| steps: | |
| - name: Install Python 3.10 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| - name: Install latest FFmpeg (static build) | |
| run: | | |
| set -e | |
| sudo apt-get update | |
| sudo apt-get install -y xz-utils ca-certificates | |
| curl -L -o ffmpeg.tar.xz https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz | |
| tar -xJf ffmpeg.tar.xz | |
| FF_DIR=$(find . -maxdepth 1 -type d -name "ffmpeg-*-amd64-static" | head -n1) | |
| sudo mv "$FF_DIR/ffmpeg" "$FF_DIR/ffprobe" /usr/local/bin/ | |
| ffmpeg -version | |
| ffprobe -version | |
| - name: Clone HwCodecDetect | |
| run: git clone -b main --single-branch https://github.com/whyb/HwCodecDetect.git | |
| - name: Upgrade pip | |
| run: python -m pip install --upgrade pip | |
| working-directory: HwCodecDetect | |
| - name: Install dependencies | |
| run: python -m pip install -r requirements.txt | |
| working-directory: HwCodecDetect | |
| - name: Run tests | |
| run: python -m src.HwCodecDetect.run_tests --encoder-count 8 --decoder-count 8 --verbose | |
| working-directory: HwCodecDetect | |
| test-on-archlinux: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: archlinux:latest | |
| env: | |
| PYTHONIOENCODING: utf-8 | |
| steps: | |
| - name: Update system and install dependencies | |
| run: | | |
| pacman -Syu --noconfirm | |
| pacman -S --noconfirm python python-pip git ffmpeg | |
| - name: Clone HwCodecDetect | |
| run: git clone -b main --single-branch https://github.com/whyb/HwCodecDetect.git | |
| - name: Create virtualenv and install project | |
| run: | | |
| python -m venv .venv | |
| source .venv/bin/activate | |
| pip install --upgrade pip | |
| pip install -e . | |
| working-directory: HwCodecDetect | |
| - name: Run tests | |
| run: | | |
| source .venv/bin/activate | |
| python -m src.HwCodecDetect.run_tests --encoder-count 8 --decoder-count 8 --verbose | |
| working-directory: HwCodecDetect | |
| test-on-debian: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: debian:latest | |
| defaults: | |
| run: | |
| shell: bash | |
| env: | |
| PYTHONIOENCODING: utf-8 | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| apt-get update | |
| apt-get install -y bash python3 python3-pip git ffmpeg python3-venv | |
| - name: Clone HwCodecDetect | |
| run: git clone -b main --single-branch https://github.com/whyb/HwCodecDetect.git | |
| - name: Create virtualenv and install project | |
| run: | | |
| python3 -m venv .venv | |
| . .venv/bin/activate | |
| pip install --upgrade pip | |
| pip install -e . | |
| working-directory: HwCodecDetect | |
| - name: Run tests | |
| run: | | |
| . .venv/bin/activate | |
| python -m src.HwCodecDetect.run_tests --encoder-count 8 --decoder-count 8 --verbose | |
| working-directory: HwCodecDetect | |
| #test-on-alpine: | |
| # runs-on: ubuntu-latest | |
| # container: | |
| # image: alpine:latest | |
| # env: | |
| # PYTHONIOENCODING: utf-8 | |
| # steps: | |
| # - name: Install dependencies | |
| # run: | | |
| # apk update | |
| # apk add python3 py3-pip git ffmpeg py3-virtualenv | |
| # - name: Clone HwCodecDetect | |
| # run: git clone -b main --single-branch https://github.com/whyb/HwCodecDetect.git | |
| # - name: Create virtualenv and install project | |
| # run: | | |
| # python3 -m venv .venv | |
| # source .venv/bin/activate | |
| # pip install --upgrade pip | |
| # pip install -e . | |
| # working-directory: HwCodecDetect | |
| # - name: Run tests | |
| # run: | | |
| # source .venv/bin/activate | |
| # python -m src.HwCodecDetect.run_tests --encoder-count 8 --decoder-count 8 --verbose | |
| # working-directory: HwCodecDetect | |
| test-on-fedora: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: fedora:latest | |
| env: | |
| PYTHONIOENCODING: utf-8 | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| dnf install -y python3 python3-pip git ffmpeg python3-virtualenv | |
| - name: Clone HwCodecDetect | |
| run: git clone -b main --single-branch https://github.com/whyb/HwCodecDetect.git | |
| - name: Create virtualenv and install project | |
| run: | | |
| python3 -m venv .venv | |
| source .venv/bin/activate | |
| pip install --upgrade pip | |
| pip install -e . | |
| working-directory: HwCodecDetect | |
| - name: Run tests | |
| run: | | |
| source .venv/bin/activate | |
| python -m src.HwCodecDetect.run_tests --encoder-count 8 --decoder-count 8 --verbose | |
| working-directory: HwCodecDetect | |
| test-on-rockylinux-like-centos: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: rockylinux/rockylinux:9 | |
| defaults: | |
| run: | |
| shell: bash | |
| env: | |
| PYTHONIOENCODING: utf-8 | |
| steps: | |
| - name: Install basic tools and Python | |
| run: | | |
| dnf install -y curl tar xz python3 python3-pip git --allowerasing | |
| - name: Install latest FFmpeg (static build) | |
| run: | | |
| curl -L -o ffmpeg.tar.xz https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz | |
| tar -xJf ffmpeg.tar.xz | |
| FF_DIR=$(find . -maxdepth 1 -type d -name "ffmpeg-*-amd64-static" | head -n1) | |
| mv "$FF_DIR/ffmpeg" "$FF_DIR/ffprobe" /usr/local/bin/ | |
| ffmpeg -version | |
| ffprobe -version | |
| - name: Clone HwCodecDetect | |
| run: git clone -b main --single-branch https://github.com/whyb/HwCodecDetect.git | |
| - name: Upgrade pip | |
| run: python3 -m pip install --upgrade pip | |
| working-directory: HwCodecDetect | |
| - name: Install dependencies | |
| run: python3 -m pip install -r requirements.txt | |
| working-directory: HwCodecDetect | |
| - name: Run tests | |
| run: python3 -m src.HwCodecDetect.run_tests --encoder-count 8 --decoder-count 8 --verbose | |
| working-directory: HwCodecDetect | |
| test-on-opensuse: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: opensuse/leap:15.5 | |
| defaults: | |
| run: | |
| shell: bash | |
| env: | |
| PYTHONIOENCODING: utf-8 | |
| steps: | |
| - name: Install Python 3.10 and dependencies | |
| run: | | |
| zypper refresh | |
| zypper install -y python310 git ffmpeg | |
| python3.10 -m ensurepip | |
| ln -s /usr/bin/python3.10 /usr/local/bin/python3 | |
| ln -s /usr/lib/python3.10/site-packages/pip /usr/local/bin/pip || true | |
| - name: Clone HwCodecDetect | |
| run: git clone -b main --single-branch https://github.com/whyb/HwCodecDetect.git | |
| - name: Create virtualenv and install project | |
| run: | | |
| python3 -m venv .venv | |
| . .venv/bin/activate | |
| pip install --upgrade pip | |
| pip install -e . | |
| working-directory: HwCodecDetect | |
| - name: Run tests | |
| run: | | |
| . .venv/bin/activate | |
| python -m src.HwCodecDetect.run_tests --encoder-count 8 --decoder-count 8 --verbose | |
| working-directory: HwCodecDetect | |
| test-on-macos-arm: | |
| runs-on: macos-latest | |
| env: | |
| PYTHONIOENCODING: utf-8 | |
| steps: | |
| - name: Install Python 3.10 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| - name: Install FFmpeg | |
| run: | | |
| brew update | |
| brew install ffmpeg | |
| ffmpeg -version | |
| - name: Clone HwCodecDetect | |
| run: git clone -b main --single-branch https://github.com/whyb/HwCodecDetect.git | |
| - name: Upgrade pip | |
| run: python -m pip install --upgrade pip | |
| working-directory: HwCodecDetect | |
| - name: Install dependencies | |
| run: python -m pip install -r requirements.txt | |
| working-directory: HwCodecDetect | |
| - name: Run tests | |
| run: python -m src.HwCodecDetect.run_tests --encoder-count 8 --decoder-count 8 --verbose | |
| working-directory: HwCodecDetect | |
| test-on-macos-x86-64: | |
| runs-on: macos-15-intel | |
| env: | |
| PYTHONIOENCODING: utf-8 | |
| steps: | |
| - name: Install Python 3.10 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| - name: Install FFmpeg | |
| run: | | |
| brew update | |
| brew install ffmpeg | |
| ffmpeg -version | |
| - name: Clone HwCodecDetect | |
| run: git clone -b main --single-branch https://github.com/whyb/HwCodecDetect.git | |
| - name: Upgrade pip | |
| run: python -m pip install --upgrade pip | |
| working-directory: HwCodecDetect | |
| - name: Install dependencies | |
| run: python -m pip install -r requirements.txt | |
| working-directory: HwCodecDetect | |
| - name: Run tests | |
| run: python -m src.HwCodecDetect.run_tests --encoder-count 8 --decoder-count 8 --verbose | |
| working-directory: HwCodecDetect |