[vlc-commits] CI: Introduced nightly jobs
Konstantin Pavlov
git at videolan.org
Fri Apr 3 22:01:28 CEST 2020
vlc | branch: master | Konstantin Pavlov <thresh at videolan.org> | Tue Jan 14 00:42:51 2020 +0300| [99d1eb9c97ae90cf0a71c62b21c11d2f6185915d] | committer: Konstantin Pavlov
CI: Introduced nightly jobs
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=99d1eb9c97ae90cf0a71c62b21c11d2f6185915d
---
extras/ci/gitlab-ci.yml | 96 +++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 90 insertions(+), 6 deletions(-)
diff --git a/extras/ci/gitlab-ci.yml b/extras/ci/gitlab-ci.yml
index 3b3dc91ff4..e3fa3efd5a 100644
--- a/extras/ci/gitlab-ci.yml
+++ b/extras/ci/gitlab-ci.yml
@@ -5,7 +5,7 @@ default:
before_script:
- set -x
- export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
- - export VLC_PREBUILT_CONTRIBS_URL="https://artifacts.videolan.org/vlc/${CI_JOB_NAME}/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.bz2"
+ - export VLC_PREBUILT_CONTRIBS_URL="https://artifacts.videolan.org/vlc/${CI_JOB_NAME##nightly-}/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.bz2"
- if ! extras/ci/check-url.sh "$VLC_PREBUILT_CONTRIBS_URL"; then unset VLC_PREBUILT_CONTRIBS_URL; fi
after_script:
- export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
@@ -15,7 +15,7 @@ variables:
VLC_WIN32_IMAGE: registry.videolan.org/vlc-debian-win32:20190416165205
VLC_WIN64_IMAGE: registry.videolan.org/vlc-debian-win64:20190416180622
VLC_WIN_LLVM_IMAGE: registry.videolan.org/vlc-debian-llvm-mingw:20190621125349
- VLC_DEBIAN_IMAGE: registry.videolan.org/vlc-debian-unstable:20191023134128
+ VLC_DEBIAN_IMAGE: registry.videolan.org/vlc-debian-unstable:20200229201904
VLC_ANDROID_IMAGE: registry.videolan.org/vlc-debian-android:20190717134531
VLC_SNAP_IMAGE: registry.videolan.org/vlc-ubuntu-bionic:20190627090437
VLC_RASPBIAN_IMAGE: registry.videolan.org/vlc-debian-raspbian:20200213203125
@@ -33,14 +33,17 @@ variables:
TRIPLET: $HOST_ARCH-linux-gnueabihf
.variables-win32: &variables-win32
+ SHORTARCH: win32
HOST_ARCH: i686
TRIPLET: $HOST_ARCH-w64-mingw32
.variables-win64: &variables-win64
+ SHORTARCH: win64
HOST_ARCH: x86_64
TRIPLET: $HOST_ARCH-w64-mingw32
.variables-win64-llvm: &variables-win64-llvm
+ SHORTARCH: win64
HOST_ARCH: x86_64
TRIPLET: $HOST_ARCH-w64-mingw32
WINE_SDK_PATH: /usr/include/wine/wine/windows/
@@ -80,6 +83,8 @@ variables:
refs:
- merge_requests
- master at videolan/vlc
+ except:
+ - schedules
artifacts:
paths:
- contrib/vlc-contrib-${TRIPLET}-*.tar.bz2
@@ -97,11 +102,14 @@ variables:
.win-common:
extends: .docker-template
script: |
+ if [ "${CI_JOB_NAME:0:8}" = "nightly-" ]; then
+ NIGHTLY_EXTRA_BUILD_FLAGS="-i n -l"
+ fi
if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then
echo "Building using prebuilt contribs at $VLC_PREBUILT_CONTRIBS_URL"
- extras/package/win32/build.sh -p -a $HOST_ARCH
+ extras/package/win32/build.sh -p -a $HOST_ARCH $NIGHTLY_EXTRA_BUILD_FLAGS
else
- extras/package/win32/build.sh -c -a $HOST_ARCH
+ extras/package/win32/build.sh -c -a $HOST_ARCH $NIGHTLY_EXTRA_BUILD_FLAGS
fi
win32:
@@ -122,6 +130,37 @@ win64-llvm:
name: $VLC_WIN_LLVM_IMAGE
variables: *variables-win64-llvm
+.nightly-win-common:
+ extends: .win-common
+ only:
+ - schedules
+ except:
+ after_script:
+ - mkdir nightlies
+ - 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
+ - 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
+ artifacts:
+ paths:
+ - nightlies/*
+
+nightly-win32:
+ extends: .nightly-win-common
+ image:
+ name: $VLC_WIN32_IMAGE
+ variables: *variables-win32
+
+nightly-win64:
+ extends: .nightly-win-common
+ image:
+ name: $VLC_WIN64_IMAGE
+ variables: *variables-win64
+
+nightly-win64-llvm:
+ extends: .nightly-win-common
+ image:
+ name: $VLC_WIN_LLVM_IMAGE
+ variables: *variables-win64-llvm
+
#
# Debian
#
@@ -156,12 +195,24 @@ debian:
# Run tests
VLC_TEST_TIMEOUT=60 sh -x ./test/make_check_wrapper.sh -j4
+ if [ "${CI_JOB_NAME:0:8}" = "nightly-" ]; then
+ export XZ_OPT="-T 0"
+ make -j$NCPU distcheck
+ fi
variables: *variables-debian
+nightly-debian:
+ extends: debian
+ only:
+ - schedules
+ except:
+ after_script:
+ artifacts:
+
#
# Snap builds
#
-snap:
+.snap-common:
extends: .docker-template
image:
name: $VLC_SNAP_IMAGE
@@ -173,6 +224,24 @@ snap:
- 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
variables: *variables-snap
+snap:
+ extends: .snap-common
+
+nightly-snap:
+ extends: .snap-common
+ only:
+ - schedules
+ except:
+ after_script:
+ - if [ "$CI_PROJECT_NAMESPACE" = "videolan" ]; then /bin/true; else exit 0; fi
+ - cd extras/package/snap
+ - echo $SNAP_LOGIN | base64 --decode | snapcraft login --with -
+ - snapcraft push vlc_*.snap --release edge
+ - snapcraft logout
+ artifacts:
+ paths:
+ - extras/package/snap/vlc_*.snap
+
#
# Raspbian
#
@@ -197,6 +266,9 @@ macos:
tags:
- macos
script: |
+ if [ "${CI_JOB_NAME:0:8}" = "nightly-" ]; then
+ NIGHTLY_EXTRA_BUILD_FLAGS="-i n"
+ fi
if [ -n "$VLC_PREBUILT_CONTRIBS_URL" ]; then
echo "Building using prebuilt contribs at $VLC_PREBUILT_CONTRIBS_URL"
mkdir -p contrib/contrib-$TRIPLET && cd contrib/contrib-$TRIPLET
@@ -206,9 +278,21 @@ macos:
EXTRA_BUILD_FLAGS="-c -p"
fi
mkdir build && cd build
- ../extras/package/macosx/build.sh $EXTRA_BUILD_FLAGS
+ ../extras/package/macosx/build.sh $EXTRA_BUILD_FLAGS $NIGHTLY_EXTRA_BUILD_FLAGS
variables: *variables-macos
+nightly-macos:
+ extends: macos
+ only:
+ - schedules
+ except:
+ after_script:
+ - mkdir nightlies
+ - mv build/vlc-*.dmg nightlies/$(basename build/vlc-*.dmg | sed "s/\.dmg/-${CI_COMMIT_SHORT_SHA}\.dmg/")
+ artifacts:
+ paths:
+ - nightlies/*
+
#
# iOS
#
More information about the vlc-commits
mailing list