7 - export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
8 - export VLC_PREBUILT_CONTRIBS_URL="https://artifacts.videolan.org/vlc/${CI_JOB_NAME##nightly-}/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.bz2"
9 - if ! extras/ci/check-url.sh "$VLC_PREBUILT_CONTRIBS_URL"; then unset VLC_PREBUILT_CONTRIBS_URL; fi
11 - export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
12 - mv contrib/vlc-contrib-*.tar.bz2 contrib/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.bz2 2>/dev/null || true
15 VLC_WIN32_IMAGE: registry.videolan.org/vlc-debian-win32:20200702161720
16 VLC_WIN64_IMAGE: registry.videolan.org/vlc-debian-win64:20200702144729
17 VLC_WIN_LLVM_IMAGE: registry.videolan.org/vlc-debian-llvm-mingw:20200703084018
18 VLC_UWP_LLVM_IMAGE: registry.videolan.org/vlc-debian-llvm-uwp:20200706065223
19 VLC_DEBIAN_IMAGE: registry.videolan.org/vlc-debian-unstable:20200229201904
20 VLC_ANDROID_IMAGE: registry.videolan.org/vlc-debian-android:20200529135226
21 VLC_SNAP_IMAGE: registry.videolan.org/vlc-ubuntu-bionic:20190627090437
22 VLC_RASPBIAN_IMAGE: registry.videolan.org/vlc-debian-raspbian:20200213203125
24 .variables-debian: &variables-debian
26 TRIPLET: $HOST_ARCH-linux-gnu
28 .variables-snap: &variables-snap
30 TRIPLET: $HOST_ARCH-linux-gnu
32 .variables-raspbian-arm: &variables-raspbian-arm
34 TRIPLET: $HOST_ARCH-linux-gnueabihf
36 .variables-win32: &variables-win32
39 TRIPLET: $HOST_ARCH-w64-mingw32
41 .variables-win64: &variables-win64
44 TRIPLET: $HOST_ARCH-w64-mingw32
46 .variables-macos: &variables-macos
47 VLC_PATH: /Users/videolanci/sandbox/bin
48 VLC_FORCE_KERNELVERSION: 18
50 TRIPLET: $HOST_ARCH-apple-darwin$VLC_FORCE_KERNELVERSION
52 .variables-ios-arm64: &variables-ios-arm64
53 VLC_PATH: /Users/videolanci/sandbox/bin
55 TRIPLET: $HOST_ARCH-apple-iphoneos
58 .variables-ios-armv7: &variables-ios-armv7
59 VLC_PATH: /Users/videolanci/sandbox/bin
61 TRIPLET: $HOST_ARCH-apple-iphoneos
64 .variables-ios-simulator-x86_64: &variables-ios-simulator-x86_64
65 VLC_PATH: /Users/videolanci/sandbox/bin
67 TRIPLET: $HOST_ARCH-apple-iphonesimulator
68 SDKNAME: iphonesimulator
70 .variables-tvos-arm64: &variables-tvos-arm64
71 VLC_PATH: /Users/videolanci/sandbox/bin
73 TRIPLET: $HOST_ARCH-apple-appletvos
76 .variables-android-arm: &variables-android-arm
78 TRIPLET: arm-linux-androideabi
80 .variables-android-arm64: &variables-android-arm64
82 TRIPLET: aarch64-linux-android
84 .variables-android-x86: &variables-android-x86
86 TRIPLET: i686-linux-android
88 .variables-android-x86_64: &variables-android-x86_64
90 TRIPLET: x86_64-linux-android
103 - contrib/vlc-contrib-${TRIPLET}-*.tar.bz2
105 # Common rules for jobs using docker
107 extends: .base-template
116 extends: .docker-template
118 if [ "${CI_JOB_NAME:0:8}" = "nightly-" ]; then
119 NIGHTLY_EXTRA_BUILD_FLAGS="-i n -l"
121 if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then
122 echo "Building using prebuilt contribs at $VLC_PREBUILT_CONTRIBS_URL"
123 extras/package/win32/build.sh -p -a $HOST_ARCH $NIGHTLY_EXTRA_BUILD_FLAGS $LIBVLC_EXTRA_BUILD_FLAGS $UWP_EXTRA_BUILD_FLAGS
125 extras/package/win32/build.sh -c -a $HOST_ARCH $NIGHTLY_EXTRA_BUILD_FLAGS $LIBVLC_EXTRA_BUILD_FLAGS $UWP_EXTRA_BUILD_FLAGS
131 name: $VLC_WIN32_IMAGE
132 variables: *variables-win32
137 name: $VLC_WIN64_IMAGE
138 variables: *variables-win64
143 name: $VLC_WIN_LLVM_IMAGE
146 WINE_SDK_PATH: /usr/include/wine/wine/windows/
151 name: $VLC_UWP_LLVM_IMAGE
154 LIBVLC_EXTRA_BUILD_FLAGS: -z
155 UWP_EXTRA_BUILD_FLAGS: -u -w -x
164 - for ext in 7z zip; do mv ${SHORTARCH}/vlc-*-dev-*-debug.${ext} nightlies/$(basename ${SHORTARCH}/vlc-*-dev-*-debug.${ext} | sed "s/\.${ext}/-${CI_COMMIT_SHORT_SHA}\.${ext}/"); done
165 - for ext in exe msi 7z zip; do mv ${SHORTARCH}/vlc-*-dev-*.${ext} nightlies/$(basename ${SHORTARCH}/vlc-*-dev-*.${ext} | sed "s/\.${ext}/-${CI_COMMIT_SHORT_SHA}\.${ext}/"); done
166 - cd nightlies && find . -maxdepth 1 -type f -not -name SHA512SUM | xargs shasum -a 512 | tee SHA512SUM
172 extends: .nightly-win-common
174 name: $VLC_WIN32_IMAGE
175 variables: *variables-win32
178 extends: .nightly-win-common
180 name: $VLC_WIN64_IMAGE
181 variables: *variables-win64
184 extends: .nightly-win-common
186 name: $VLC_WIN_LLVM_IMAGE
189 WINE_SDK_PATH: /usr/include/wine/wine/windows/
195 extends: .docker-template
197 name: $VLC_DEBIAN_IMAGE
199 export NCPU=$(getconf _NPROCESSORS_ONLN)
202 ( cd extras/tools && ./bootstrap && make -j$NCPU --output-sync=recurse )
203 export PATH="$(pwd)/extras/tools/build/bin:$PATH"
206 mkdir -p contrib/contrib-$TRIPLET && cd contrib/contrib-$TRIPLET
208 if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then
209 echo "Building using prebuilt contribs at $VLC_PREBUILT_CONTRIBS_URL"
210 make prebuilt PREBUILT_URL="${VLC_PREBUILT_CONTRIBS_URL}"
212 make -j$NCPU --output-sync=recurse fetch
213 make -j$NCPU --output-sync=recurse
224 VLC_TEST_TIMEOUT=60 sh -x ./test/make_check_wrapper.sh -j4
225 if [ "${CI_JOB_NAME:0:8}" = "nightly-" ]; then
227 make -j$NCPU distcheck
229 variables: *variables-debian
243 extends: .docker-template
245 name: $VLC_SNAP_IMAGE
247 cd extras/package/snap
248 make -f package.mak snap
250 - export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
251 - mv extras/package/snap/parts/vlc/build/contrib/vlc-contrib-*.tar.bz2 contrib/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.bz2 2>/dev/null || true
252 variables: *variables-snap
255 extends: .snap-common
258 extends: .snap-common
263 - if [ "$CI_PROJECT_NAMESPACE" = "videolan" ]; then /bin/true; else exit 0; fi
265 - mv extras/package/snap/vlc_*.snap nightlies/
266 - echo $SNAP_LOGIN | base64 --decode | snapcraft login --with -
267 - snapcraft push nightlies/vlc_*.snap --release edge
269 - cd nightlies && find . -maxdepth 1 -type f -not -name SHA512SUM | xargs shasum -a 512 | tee SHA512SUM
278 extends: .docker-template
280 name: $VLC_RASPBIAN_IMAGE
282 if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then
283 echo "Building using prebuilt contribs at $VLC_PREBUILT_CONTRIBS_URL"
284 extras/package/raspberry/build.sh -p -x -a $HOST_ARCH
286 extras/package/raspberry/build.sh -c -x -a $HOST_ARCH
288 variables: *variables-raspbian-arm
294 extends: .base-template
298 if [ "${CI_JOB_NAME:0:8}" = "nightly-" ]; then
299 NIGHTLY_EXTRA_BUILD_FLAGS="-i n"
301 if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then
302 echo "Building using prebuilt contribs at $VLC_PREBUILT_CONTRIBS_URL"
303 mkdir -p contrib/contrib-$TRIPLET && cd contrib/contrib-$TRIPLET
304 curl -f -L ${VLC_PREBUILT_CONTRIBS_URL} -o vlc-contrib-$TRIPLET-latest.tar.bz2
307 EXTRA_BUILD_FLAGS="-c -p"
309 mkdir build && cd build
310 ../extras/package/macosx/build.sh $EXTRA_BUILD_FLAGS $NIGHTLY_EXTRA_BUILD_FLAGS
311 variables: *variables-macos
320 - mv build/vlc-*.dmg nightlies/$(basename build/vlc-*.dmg | sed "s/\.dmg/-${CI_COMMIT_SHORT_SHA}\.dmg/")
321 - mv build/vlc-*.tar.gz nightlies/$(basename build/vlc-*.tar.gz | sed "s/\.tar\.gz/-${CI_COMMIT_SHORT_SHA}\.tar\.gz/")
322 - cd nightlies && find . -maxdepth 1 -type f -not -name SHA512SUM | xargs shasum -a 512 | tee SHA512SUM
331 extends: .base-template
335 mkdir build && cd build
336 if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then
337 ../extras/package/apple/build.sh --sdk=$SDKNAME --arch=$HOST_ARCH \
338 --with-prebuilt-contribs
340 ../extras/package/apple/build.sh --sdk=$SDKNAME --arch=$HOST_ARCH --package-contribs
344 extends: .apple-os-common
345 variables: *variables-ios-arm64
348 extends: .apple-os-common
349 variables: *variables-ios-armv7
351 ios-simulator-x86_64:
352 extends: .apple-os-common
353 variables: *variables-ios-simulator-x86_64
356 extends: .apple-os-common
357 variables: *variables-tvos-arm64
363 extends: .docker-template
365 name: $VLC_ANDROID_IMAGE
367 wget https://code.videolan.org/videolan/vlc-android/raw/7d2b0fd2ba332d5e3c83415b67dbe2fe5748f346/buildsystem/compile-libvlc.sh
368 if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then
369 /bin/sh ./compile-libvlc.sh -a $ANDROID_ARCH --with-prebuilt-contribs
371 /bin/sh ./compile-libvlc.sh -a $ANDROID_ARCH --package-contribs
375 extends: .android-common
376 variables: *variables-android-arm
379 extends: .android-common
380 variables: *variables-android-arm64
383 extends: .android-common
384 variables: *variables-android-x86
387 extends: .android-common
388 variables: *variables-android-x86_64
394 extends: .docker-template
396 name: $VLC_DEBIAN_IMAGE
401 - mv doc/doxygen/html public