Steve Lhomme pushed to branch 3.0.x at VideoLAN / VLC
Commits:
6f21c4d5 by Steve Lhomme at 2025-09-18T10:59:19+02:00
extras: breakpad: use io types for IO classes
typing.io doesn't seem to exist anymore.
typing.io was in Python 3.5 [^1] but not in 3.6 [^2].
```
Traceback (most recent call last):
File "/builds/robUx4/vlc/./extras/breakpad/symb_upload.py", line
146, in <module>
class OutputStore:
def store(self, dump: typing.io.TextIO, meta):
assert(False)
File "/builds/robUx4/vlc/./extras/breakpad/symb_upload.py", line
147, in OutputStore
def store(self, dump: typing.io.TextIO, meta):
^^^^^^^^^
File "/usr/lib/python3.13/typing.py", line 3817, in __getattr__
raise AttributeError(f"module {__name__!r} has no attribute
{attr!r}")
AttributeError: module 'typing' has no attribute 'io'. Did you
mean: 'IO'?
```
[^1]: https://docs.python.org/3.5/library/typing.html#typing.io
[^2]: https://docs.python.org/3.6/library/typing.html
- - - - -
e0f77e23 by Steve Lhomme at 2025-09-18T11:27:36+02:00
extras: breakpad: add requirements.txt file describing needed Python modules
- - - - -
bf2a986c by Steve Lhomme at 2025-09-18T11:28:02+02:00
CI: update mingw64 gcc images
Add a version with python-venv.
It has
- a newer protoc (3.4.1) but already build it anyway.
- gcc 11.3.0
- mingw-w64 v10
- newer winetricks
- breakpad built from a tarball
(https://download.videolan.org/pub/contrib/breakpad/breakpad-0.1.4.tar.gz)
- - - - -
bf5c339c by Steve Lhomme at 2025-09-18T13:02:39+02:00
CI: show the release tag used
This can be usefule for debugging.
- - - - -
e55793ca by Steve Lhomme at 2025-09-18T13:02:57+02:00
CI: call symbol upload in a Python venv
So we have the most recent versions of the packages and don't require
more python packages from the Docker images.
- - - - -
3 changed files:
- + extras/breakpad/requirements.txt
- extras/breakpad/symb_upload.py
- extras/ci/gitlab-ci.yml
Changes:
=====================================
extras/breakpad/requirements.txt
=====================================
@@ -0,0 +1 @@
+requests
=====================================
extras/breakpad/symb_upload.py
=====================================
@@ -7,7 +7,6 @@ import logging
import requests
import io
import shutil
-import typing
class Dumper:
def __init__(self, strip_path: str = None):
@@ -144,7 +143,7 @@ class MacDumper(Dumper):
class OutputStore:
- def store(self, dump: typing.io.TextIO, meta):
+ def store(self, dump: io.TextIOBase, meta):
assert(False)
class HTTPOutputStore(OutputStore):
@@ -157,7 +156,7 @@ class HTTPOutputStore(OutputStore):
if prod:
self.extra_args["prod"] = prod
- def store(self, dump: typing.io.TextIO, meta):
+ def store(self, dump: io.TextIOBase, meta):
post_args = {**meta, **self.extra_args}
r = requests.post(self.url, post_args, files={"symfile": dump})
if not r.ok:
@@ -169,7 +168,7 @@ class LocalDirOutputStore(OutputStore):
super().__init__()
self.rootdir = rootdir
- def store(self, dump: typing.io, meta):
+ def store(self, dump: io.IOBase, meta):
basepath = os.path.join(self.rootdir, meta["debug_file"],
meta["debug_identifier"])
if not os.path.exists(basepath):
os.makedirs(basepath)
=====================================
extras/ci/gitlab-ci.yml
=====================================
@@ -13,8 +13,8 @@ default:
interruptible: true
variables:
- VLC_WIN32_IMAGE: registry.videolan.org/vlc-debian-win32:20221011221351
- VLC_WIN64_IMAGE: registry.videolan.org/vlc-debian-win64:20221011230137
+ VLC_WIN32_IMAGE: registry.videolan.org/vlc-debian-win32:20221023191128
+ VLC_WIN64_IMAGE: registry.videolan.org/vlc-debian-win64:20221023193231
VLC_UWP_LLVM_IMAGE:
registry.videolan.org/vlc-debian-llvm-uwp:20211020111246
VLC_WIN_LLVM_UCRT_IMAGE:
registry.videolan.org/vlc-debian-llvm-ucrt:20250903131032
VLC_DEBIAN_IMAGE: registry.videolan.org/vlc-debian-unstable:20200229201904
@@ -198,12 +198,17 @@ nightly-win64-arm-llvm:
script:
- export PATH=/opt/breakpad/bin:$PATH
- ./extras/package/win32/build.sh -r -l -i u -a $HOST_ARCH -b
https://win.crashes.videolan.org $UWP_EXTRA_BUILD_FLAGS
+ - python3 -m venv upload_symbols
+ - ./upload_symbols/bin/pip install -r ./extras/breakpad/requirements.txt
+ - echo "RELEASE_TAG=$RELEASE_TAG"
- >
+ ./upload_symbols/bin/python
./extras/breakpad/symb_upload.py
--upload-url $CRASH_DRAGON_SUBMIT_URL
-p win --version $RELEASE_TAG
--prod VLC --log INFO
--strip-path $CI_PROJECT_DIR
$CI_PROJECT_DIR/${VLCARCH}/symbols-$RELEASE_TAG
+ - rm -rf upload_symbols
artifacts:
paths:
- $CI_PROJECT_DIR/${VLCARCH}/vlc-*-*-release.7z
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/compare/5bd37679406d364c39c3385867794cce814aa664...e55793ca30a3b2f6990c339734900d882044db8f
--
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/compare/5bd37679406d364c39c3385867794cce814aa664...e55793ca30a3b2f6990c339734900d882044db8f
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits