Skip to content

build: fix encoding when reading plugin files #628

build: fix encoding when reading plugin files

build: fix encoding when reading plugin files #628

Workflow file for this run

name: Test
on:
push:
branches-ignore:
- "automated/**"
tags-ignore:
- "**"
pull_request: {}
schedule:
- cron: "0 0 * * *"
jobs:
test:
name: Test
strategy:
fail-fast: false
# please remember to change the `codecov.notify.after_n_builds` value in .codecov.yml
# when changing the build matrix and changing the number of test runners
matrix:
runs-on:
- ubuntu-latest
- windows-latest
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
# include:
# - runs-on: ubuntu-latest
# python-version: "3.13-dev"
# continue: true
# - runs-on: windows-latest
# python-version: "3.13-dev"
# continue: true
runs-on: ${{ matrix.runs-on }}
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 300
- name: Fetch tags
run: git fetch --depth=300 origin +refs/tags/*:refs/tags/*
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Python dependencies
run: >
python -m pip install -U
-e .
-r dev-requirements.txt
brotli
shtab
continue-on-error: ${{ matrix.continue || false }}
- name: Test
continue-on-error: ${{ matrix.continue || false }}
run: pytest -r a --cov --cov-branch --cov-report=xml --durations 10
- name: Build shell completions
continue-on-error: ${{ matrix.continue || false }}
run: bash ./script/build-shell-completions.sh
- name: Upload coverage data
if: github.event_name != 'schedule'
continue-on-error: ${{ matrix.continue || false }}
uses: codecov/codecov-action@v4
with:
name: os:${{ matrix.runs-on }} py:${{ matrix.python-version }}
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
test_build:
name: Test build
if: github.event_name != 'push'
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 300
- name: Fetch tags
run: git fetch --depth=300 origin +refs/tags/*:refs/tags/*
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install Python dependencies
run: >
python -m pip install -U
-r dev-requirements.txt
build wheel
- name: Build sdist and wheels
run: ./script/build-and-sign.sh
- name: Plugins JSON
run: |
set -x
unzip -p ./dist/streamlink-*-any.whl 'streamlink-*.dist-info/RECORD' | grep 'streamlink/plugins/_plugins.json'
unzip -p ./dist/streamlink-*-any.whl 'streamlink/plugins/_plugins.json' | jq -e 'keys > 0'
unzip -p ./dist/streamlink-*-any.whl 'streamlink/plugins/_plugins.json' | jq
documentation:
name: Test docs
if: github.event_name != 'push'
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 300
- name: Fetch tags
run: git fetch --depth=300 origin +refs/tags/*:refs/tags/*
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install Python dependencies
run: >
python -m pip install -U
-e .
-r docs-requirements.txt
- name: Build
run: make --directory=docs html man