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

Reply via email to