Commit Graph

78 Commits

Author SHA1 Message Date
bastimeyer d55eb2792b tools: bump ruff to 0.3.0 and fix issues 2024-02-29 18:19:00 +01:00
bastimeyer fddc2bbd51 ci.github: bump setup-python action to v5
789e89a already bumped the setup-python actions on the master branch,
but the `test_build` job was merged in a later commit (authored earlier)
with the old action version in use.
2024-02-14 22:05:21 +01:00
bastimeyer ebb49d39e0 ci.github: add test_build job 2024-02-14 13:26:18 +01:00
bastimeyer 503df3e15a ci.github: bump codecov/codecov-action to v4 2024-02-07 19:34:04 +01:00
bastimeyer f9a59e18d1 ci.github: bump upload/download-artifact to v4 2024-02-07 19:34:04 +01:00
bastimeyer 789e89ab8d ci.github: bump setup-python action to v5 2024-02-07 05:00:41 +01:00
bastimeyer 7337e47ae7 ci.github: bump Python version 2023-12-31 16:08:03 +01:00
bastimeyer 6a06784233 ci.github: switch to pypa/gh-action-pypi-publish 2023-11-17 20:30:59 +01:00
bastimeyer 07bdaca63f ci.github: rewrite workflows
- Split up workflows from `main` into `test`, `docs` and `release`
- Update `lint` workflow
- Remove `install-dependencies.sh` script
- Remove script dependencies from `dev-requirements.txt`
2023-11-16 14:43:39 +01:00
bastimeyer c82a853567 ci.github: update py312 runners 2023-10-14 15:13:50 +02:00
bastimeyer ff3c47d913 ci.github: add py312-dev test runner on Windows 2023-09-23 17:40:42 +02:00
bastimeyer ad5b532a4b ci.github: bump action versions 2023-09-08 01:42:50 +02:00
bastimeyer 91db5dc3ce ci.github: bump Python version 2023-09-08 01:42:50 +02:00
bastimeyer ad1b54b830 build: new Streamlink signing key 44448A298D5C3618
Replace old signing key:
E2B794C7C2C37162E5E2A097E3DB9E282E390FA0

With new one:
CDAC41B9122470FAF357A9D344448A298D5C3618
2023-07-18 19:32:27 +02:00
bastimeyer c5c39efc2e tools: set mypy "python_version" to 3.8 2023-07-02 21:04:09 +02:00
bastimeyer 50148a6f4e chore: drop support for Python 3.7 2023-07-02 21:04:09 +02:00
bastimeyer c347059c4f ci: add Python 3.12-dev test runner
Only add Linux test runner for now and install custom lxml wheel
2023-05-17 15:22:31 -07:00
bastimeyer 0e41130e28 ci.github: bump deps of useragents workflow
- bump Python to 3.11
- bump peter-evans/create-pull-request to v5
  and resolve set-output GH actions deprecation
2023-04-30 19:15:27 -07:00
bastimeyer e44a14313d docs: bump furo to 2023.03.27
- Bump docs build-dependencies
  - sphinx >=5.0.0, <7
  - myst-parser >=1.0.0, <2
  - sphinx-design >=0.4.1, <1
- Bump furo theme to latest version
- Fix theme build errors
2023-04-19 17:29:08 -07:00
bastimeyer 98596e9331 tools: replace flake8 with ruff 2023-02-09 09:54:14 -08:00
bastimeyer 2f7396ba24 tools: check typing in docs dir separately 2023-01-26 09:42:34 -08:00
bastimeyer faece22c35 ci: revert deploy-pypi changes
Partially reverts de5bda806d
2023-01-23 23:27:39 +01:00
bastimeyer de5bda806d build: update auth in sign+deploy scripts 2023-01-08 12:04:13 -08:00
bastimeyer ec42682da8 build: update build script
Use `build` to build sdist and wheels instead of calling setuptools
directly, which is deprecated.
2023-01-07 17:59:42 -08:00
bastimeyer c81ceff571 ci.github: ubuntu-20.04 -> ubuntu-latest 2023-01-01 15:12:22 -08:00
bastimeyer 29d1f3921e docs: fix man page links in HTML docs
- Update Makefile and define DOCSDIR variable
- Add `man` sphinx build tag to the `man` make-target
- Exclude `_man.rst` if the `man` build tag is set
- Revert b45e685f
2022-11-23 13:43:22 -08:00
bastimeyer b45e685ff6 ci.github: temporarily downgrade Sphinx to 5.2.3 2022-11-22 09:54:58 -08:00
bastimeyer 7039b4b3a1 tools: move list of files to mypy config
- Move list of files from CI config to mypy config in pyproject.toml,
  so that mypy can be run locally without having to specificy the same
  inputs as CLI arguments. Keep --no-incremental exclusive to CI runner.
- Update Python version of mypy CI runner.
- Fix typing ignore comment when importing importlib_metadata fallback
  in the streamlink_cli.compat module.
2022-11-08 13:24:47 +01:00
bastimeyer 7bcba1bcfc ci.github: add regular Python 3.11 runners 2022-10-28 22:09:25 -07:00
bastimeyer facf193437 ci.github: bump actions to latest version 2022-09-22 21:14:30 -07:00
bastimeyer a0573c653b ci: add cpython 3.11-dev test runners 2022-07-10 12:24:03 -07:00
bastimeyer b7a8da256f ci: fix push filter ignoring tags 2022-07-09 05:14:59 +02:00
bastimeyer cc455586c5 ci: lint sphinx extensions and setup.py 2022-06-23 09:35:00 -07:00
bastimeyer 2f101a8172 ci: add useragents workflow
- Update user agents once a month, open pull request via streamlinkbot
- Ignore CI runs when pushing branches with automated changes
2022-06-14 15:40:29 +02:00
bastimeyer 888ad665c6 ci: update deploy-docs script
- Replace SSH key with new streamlinkbot PAT
- Update and refactor deploy-docs.sh
- Update CI workflow
2022-06-13 22:49:48 -07:00
bastimeyer 588cb1da7c ci: new linting config
- Move linting CI steps to dedicated workflow
- Check file encodings
- Add mypy job
2022-05-24 14:07:47 -07:00
bastimeyer bcd624c175 ci: use GITHUB_TOKEN for deploying to GitHub 2022-05-07 12:20:56 +02:00
bastimeyer b77cf7883e script: rename github release script 2022-05-07 12:20:56 +02:00
bastimeyer 5249900b3e script: rewrite github release script
- Completely rewrite GitHub release script
  - Remove --dry-run and make it implicit when no API key is set
  - Remove --api-key and read from RELEASES_API_KEY or GITHUB_TOKEN
  - Add --template, --changelog, --no-contributors and --no-shortlog
  - Refactor GitHub API stuff
  - Update release template logic and use Jinja2
  - Get list of contributors (with support for commit co-authors):
    GitHub highlights usernames in releases, which this is meant for
  - Generate git shortlog automatically
  - Always close open file handles
- Update release template based on Jinja2 logic
- Update release CI job
  - Install Jinja2
  - Upgrade Python to 3.10 and setup-python to v2
  - Fetch entire repo
  - Don't upload wheels to GitHub releases
2022-05-07 12:20:56 +02:00
bastimeyer a081f3adb2 ci: fix github deploy config 2022-05-01 15:16:24 +02:00
bastimeyer 75941e1c91 chore: clean up flake8 config 2022-04-22 10:45:08 -07:00
bastimeyer 89ab021c07 chore: drop support for Python 3.6 2022-04-10 07:35:19 +02:00
bastimeyer 2dd2f35930 installer: drop Windows installer build config
Drop installer build config in favor of the external build config at:
https://github.com/streamlink/windows-installer

- remove installer build scripts+configs
- remove Streamlink config file in win32 subdirectory
- remove windows-installer CI job
  - update steps of the release CI job
- remove removed-plugins file
  - remove src/streamlink/plugins/.removed
  - update package manifest
  - update tests
  - update developing docs
- rewrite install docs
2022-04-03 22:09:35 +02:00
bastimeyer 5d57bba104 installer: set pynsist to 2.7 and distlib to 0.3.3 2022-01-24 08:05:56 -08:00
bastimeyer b19458c7be installer: rewrite wheels config, fix pycountry 2021-11-17 15:28:03 +01:00
bastimeyer 5c9fa063e2 ci.github: check for unicode bidi control chars 2021-11-03 12:01:26 +01:00
bastimeyer 765f969dfd ci.github: switch to codecov-action@v2 2021-10-13 17:35:35 -07:00
bastimeyer 4253f88548 ci.github: add regular py310 test runners 2021-10-06 17:34:51 -07:00
bastimeyer 1549c41752 build: include bash and zsh completions in wheels 2021-09-26 10:22:40 +02:00
back-to 28c99c3d53 tests.mixins.stream_hls: increase TIMEOUT_AWAIT_WRITE timeout, use --durations 10 for pytest
`self.rebuild_proxies(request, self.proxies))` seems to slow down `requests`

60ea7f0c2d (diff-c80d84057edadb04b5615f7169c55f88ccda358d7c20af966afb20c0d0d1056a)

which results in a pytest timeout, because 5 seconds is not enough on windows

```
with kwargs.setdefault('proxies', self.proxies)

============================================================================================ slowest 10 durations =============================================================================================
0.86s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128
0.53s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128_key_uri_override
0.43s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128_with_map
0.36s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128_incorrect_padding_content
0.30s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128_incorrect_padding_length
0.30s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128_incorrect_block_length
```

```
with kwargs.setdefault('proxies', self.rebuild_proxies(request, self.proxies))

============================================================================================ slowest 10 durations =============================================================================================
10.01s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128
9.80s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128_key_uri_override
5.63s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128_incorrect_padding_length
5.22s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128_with_map
2.97s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128_incorrect_block_length
2.95s call     tests/streams/test_hls.py::TestHLSStreamEncrypted::test_hls_encrypted_aes128_incorrect_padding_content
```

---

also show the 10 slowest tests on pytest
2021-08-22 12:31:59 +02:00