[vlc-commits] [Git][videolan/vlc][3.0.x] 7 commits: ci: rebuild contribs when the extras/package content changes
Steve Lhomme (@robUx4)
gitlab at videolan.org
Tue Aug 25 09:02:42 UTC 2026
Steve Lhomme pushed to branch 3.0.x at VideoLAN / VLC
Commits:
86aadd30 by Steve Lhomme at 2026-08-25T07:48:15+00:00
ci: rebuild contribs when the extras/package content changes
If the makefile changes, enables/disables things, we should rebuild the contribs.
(cherry picked from commit 9d458af161b0be7888856a594cdc4a77500fb172) (edited)
edited:
- 3.0 doesn't have a debian-contrib target
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
7cc32617 by Steve Lhomme at 2026-08-25T07:48:15+00:00
CI: restrict the build scripts used to build contribs
For example, updating a Windows build script shouldn't force the macOS jobs to rebuild contribs.
By default the script behaves the same as before. It requires giving a job name or target OS name to
select the changes only for that OS.
(cherry picked from commit 4ac6168d4740b6416fa6abbff30b50b14d370ef9)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
bca91d66 by Steve Lhomme at 2026-08-25T07:48:15+00:00
CI: pass the type of target to get-contrib-sha
So we only update contribs if specific targets have been updated.
The script will have to match the CI target name with a package folder.
(cherry picked from commit 9dd68a3cac1020113f4e998016a38e142e99b492)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
de48076a by Steve Lhomme at 2026-08-25T07:48:15+00:00
CI: don't rebuild contribs when a non-existing folder changes
There's no extras for Linux, so we don't need to rebuild when anything changes in extra/package.
(cherry picked from commit 8aad07b588680adc5ed435ab5f48a12fd60c6dc4) (edited)
edited:
- 3.0 doesn't have a debian-contrib target
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
4aa966e2 by Alexandre Janniaux at 2026-08-25T07:48:15+00:00
extras: ci: fix get-contrib-sha for debian/android
Running
./extras/ci/get-contrib-sha.sh debian-meson
is currently failing with:
fatal: empty string is not a valid pathspec. please use . instead if
you meant to match all paths
because "${VLC_BUILD_TARGET}" would count for an empty parameter, as
opposed to being discarded without quotes. In some shells, like zsh, it
would also count as a parameter regardless of the presence of the
quotes.
Instead of using an intermediate variable to store an optional path,
this commit directly adds to the bash array containing the path checked
to find the contrib ancestor, allowing to both submit multiple files if
necessary, or none if unnecessary.
Regression from 4ac6168d4740b6416fa6abbff30b50b14d370ef9.
(cherry picked from commit 0dffba0ebaf05d236e02f0b24ec9ca19786eb842)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
36fbc99f by Alexandre Janniaux at 2026-08-25T07:48:15+00:00
extras: ci: fix typos in get-contrib-sha
Missing quote `"` from 0dffba0ebaf05d236e02f0b24ec9ca19786eb842.
(cherry picked from commit bccd0513ed586b7b1fea5685459f4bb5f53f321b)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
838d56f5 by William Woodruff at 2026-08-25T07:48:15+00:00
ci: fix macOS contrib rebuild path
Corrects the VLC_CONTRIB_REBUILD_PATHS variable
for macOS builds to point to the correct
extras/package subdirectory.
Signed-off-by: William Woodruff <william at trailofbits.com>
(cherry picked from commit 27c39ace3733fe89bd5e0f0c7539c383e23c84c2)
Signed-off-by: Steve Lhomme <robux4 at ycbcr.xyz>
- - - - -
2 changed files:
- extras/ci/get-contrib-sha.sh
- extras/ci/gitlab-ci.yml
Changes:
=====================================
extras/ci/get-contrib-sha.sh
=====================================
@@ -28,9 +28,33 @@ VLC_SRC_ROOT_DIR=$(git rev-parse --show-toplevel)
[ -n "${VLC_SRC_ROOT_DIR}" ] || abort_err "This script must be run in the VLC Git repo and git must be available"
[ -f "${VLC_SRC_ROOT_DIR}/src/libvlc.h" ] || abort_err "This script must be run in the VLC Git repository"
+case $1 in
+ win32*|win64*|uwp*)
+ VLC_CONTRIB_REBUILD_PATHS+=( "extras/package/win32" )
+ ;;
+ ios*|tvos*)
+ VLC_CONTRIB_REBUILD_PATHS+=( "extras/package/apple" )
+ ;;
+ macos*)
+ VLC_CONTRIB_REBUILD_PATHS+=( "extras/package/macosx" )
+ ;;
+ raspbian*)
+ VLC_CONTRIB_REBUILD_PATHS+=( "extras/package/raspberry" )
+ ;;
+ snap*)
+ VLC_CONTRIB_REBUILD_PATHS+=( "extras/package/snap" )
+ ;;
+ wasm*)
+ VLC_CONTRIB_REBUILD_PATHS+=( "extras/package/wasm-emscripten" )
+ ;;
+ debian*|android*)
+ ;;
+ *)
+ VLC_CONTRIB_REBUILD_PATHS+=( "extras/package" )
+esac
+
VLC_LAST_CONTRIB_SHA=$(
- cd "$VLC_SRC_ROOT_DIR" &&
- git rev-list -1 "${VLC_START_REVISION}" -- "${VLC_CONTRIB_REBUILD_PATHS[@]}"
+ cd "${VLC_SRC_ROOT_DIR}" && git rev-list -1 "${VLC_START_REVISION}" -- "${VLC_CONTRIB_REBUILD_PATHS[@]}"
)
[ -n "${VLC_LAST_CONTRIB_SHA}" ] || abort_err "Failed to determine last contrib SHA using Git!"
=====================================
extras/ci/gitlab-ci.yml
=====================================
@@ -5,12 +5,12 @@ stages:
default:
before_script:
- set -x
- - export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
+ - export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh ${CI_JOB_NAME##nightly-})"
- export VLC_PREBUILT_CONTRIBS_URL="https://artifacts.videolan.org/vlc-3.0/${CI_JOB_NAME##nightly-}/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.zst"
- if ! extras/ci/check-url.sh "$VLC_PREBUILT_CONTRIBS_URL"; then unset VLC_PREBUILT_CONTRIBS_URL; fi
- export BUILD_NIGHTLY="$(extras/ci/is-installer-needed.sh ${CI_JOB_NAME})"
after_script:
- - export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
+ - export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh ${CI_JOB_NAME##nightly-})"
- mv contrib/vlc-contrib-*.tar.zst contrib/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.zst 2>/dev/null || true
interruptible: true
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/7e96977c681e2b571557b3e2a37d21d45ac994d4...838d56f5d4c9cddb5187686efef34009327a675e
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/7e96977c681e2b571557b3e2a37d21d45ac994d4...838d56f5d4c9cddb5187686efef34009327a675e
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help
More information about the vlc-commits
mailing list