Commit Graph

49 Commits

Author SHA1 Message Date
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 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
bastimeyer 034173da30 ci.github: add python 3.10-dev to test runners 2021-05-15 10:30:40 -07:00
bastimeyer 572717319e ci.github: increase git fetch depth of tests
Set fetch depth to 300, like all the other CI runners do, and fix the
Codecov upload error/warning:
> Issue detecting commit SHA. Please run actions/checkout with
> fetch-depth > 1 or set to 0
2021-02-08 10:50:59 -08:00
bastimeyer 97205d2fa2 build: include man page in wheels 2020-12-30 11:40:48 +01:00
bastimeyer 374130a4de tools: force LF line endings via .gitattributes
https://stackoverflow.com/questions/29435156

- add additional linting steps to Github actions for checking the
  line endings and file permissions
- fix line endings and file permissions
2020-12-25 11:49:38 -08:00
bastimeyer f0b35b64d4 installer: switch back to latest pynsist release
2.6 has just been released, so we don't need to install a pre-release
version with the necessary bugfixes from git anymore.
2020-11-05 17:37:19 -08:00
bastimeyer bc78360c51 installer: upgrade to Python 3.9.0
- Install fixed pynsist pre-release version from git. This is necessary
  when trying to install wheels with an included Python ABI tag in their
  file name, as the tag naming scheme has been changed in Python 3.8.0.
- Bump the installer's Python version to 3.9.0
- Bump pycryptodome dependency to 3.9.9
2020-11-04 19:50:27 -08:00
bastimeyer 16fbd95bd7 ci.github: set ubuntu to 20.04 and python to 3.9 2020-10-31 18:08:27 +01:00
bastimeyer 2f440870b5 ci.github: install latest version of pynsist 2020-10-30 13:53:31 -07:00
Sebastian Meyer 02c9ddf9d7
ci.github: run lint step before test step (#3294) 2020-10-27 17:14:44 +01:00
Sebastian Meyer df6ab1249b
chore: drop support for Python 3.5 (#3269)
- Bump Python version requirement to 3.6
- Update pypi package classifiers
- Update docs
- Update CI test runners and codecov config
2020-10-19 17:26:45 +02:00
bastimeyer 8034b16063 chore: drop support for Python 2
- Bump Python version requirement to 3.5
- Remove unneeded compatibility dependencies
- Remove py2 warning from streamlink.session
- Update pypi package classifiers
- Update docs
- Remove universal bdist_wheel
- Update CI test runners and codecov config
2020-10-19 14:54:14 +02:00
bastimeyer 927f24e0f9 ci: add python 3.9 test runners 2020-10-07 02:01:30 +02:00
Sebastian Meyer 7e303c8eaf
Improve coverage reports on codecov (#3200)
* ci.coverage: enable branch coverage

* ci.coverage: gather coverage from tests as well

* ci.codecov: turn codecov config into a dotfile

* ci.codecov: disable comment, split reports by path

* ci.codecov: require all reports before notifying
2020-09-24 18:19:06 -07:00
bastimeyer d7ea78b8c0 ci: run scheduled tests, ignore coverage report 2020-07-04 19:46:33 -07:00
Sebastian Meyer bc3951ac44
ci: no test/documentation jobs on scheduled run (#3012)
These jobs are unnecessary on scheduled builds, since only commits
get merged into master which have passed the tests previously.
Also avoids recurring code coverage uploads if no commits get
merged into master between two scheduled builds.
2020-06-13 09:41:24 +02:00
back-to 4f38b7bc7d
actions: fixed incorrect versions and use names for codecov (#2932)
such as `streamlink==0+untagged`
https://github.com/streamlink/streamlink/runs/616367673?check_suite_focus=true#step:4:89

also `depth=1` won't work see
e066aa5251/latest/api.html (L10)

use better upload names for codecov
> os:ubuntu-latest py:3.7
2020-04-28 17:55:15 +02:00
beardypig 4269aae95f
actions: no need to use a secret for the PyPI username 2020-04-21 03:07:40 +02:00
bastimeyer fdf739d6cd ci.github: fix continue on error 2020-04-07 16:47:19 -07:00
bastimeyer 4ff226ba6d codecov: wait before notifying 2020-04-04 12:24:43 +02:00
bastimeyer 039f79b588 ci: remove macOS test runners 2020-04-04 12:22:09 +02:00
bastimeyer 5f137e20ca ci.github: fix codecov uploads
- switch to codecov action to enable tokenless uploads
- force coverage report output format
- remove codecov from dev-requirements
2020-04-04 00:49:14 -07:00
bastimeyer 9a8c188458 ci: show extra test summary info 2020-04-03 15:49:25 +02:00
beardypig 8860ba8e14 update docs deployment key 2020-04-02 22:11:56 +02:00
beardypig 7c044b0484 update release signing key 2020-04-02 22:11:56 +02:00
bastimeyer 29cdab2611 ci.github: deploy documentation 2020-04-02 22:11:56 +02:00
bastimeyer 5d09f380d4 ci.github: add scheduled nightly builds 2020-04-02 22:11:56 +02:00
bastimeyer 82ae1a5525 ci.github: add release config and rewrite scripts 2020-04-02 22:11:51 +02:00
bastimeyer 3afc943974 ci.github: implement main workflow 2020-04-02 21:49:57 +02:00