This repository has been archived by the owner on Dec 20, 2024. It is now read-only.
forked from CasparCG/server
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.gitlab-ci.yml
114 lines (104 loc) · 3.78 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
stages:
- build
- package
- deploy-repo
before_script:
- eval $(ssh-agent -s)
- echo $SSH_PRIVATE_KEY | base64 -d | ssh-add -
- mkdir -p ~/.ssh && chmod 700 ~/.ssh
- echo "$SSH_KNOWN_HOSTS" >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- ssh [email protected] "/bin/true"
- export CCACHE_BASEDIR=${PWD}
- export CCACHE_DIR=${PWD}/ccache
- mkdir -p ccache
- export DEBUILD_PREPEND_PATH=/usr/lib/ccache
- export DEBUILD_PRESERVE_ENVVARS=CCACHE_DIR,CCACHE_BASEDIR
- export PATH=/usr/lib/ccache:$PATH
after_script:
- ccache -s
.debian-buster:
image: gitlab-01.in2ip.nl:5050/odmanaged/playout-platform/casparcgserver/buster-build:latest
stage: build
tags:
- docker
- casparcg
cache:
key: "buster"
paths:
- ccache/
.debian-stretch:
image: gitlab-01.in2ip.nl:5050/odmanaged/playout-platform/casparcgserver/stretch-build:latest
stage: build
tags:
- docker
- casparcg
cache:
key: "stretch"
paths:
- ccache/
build-buster:
extends: .debian-buster
script:
- mkdir -p build && cd build && cmake .. -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DUSE_SYSTEM_FFMPEG=ON -DUSE_SYSTEM_TBB=ON -DUSE_SYSTEM_GLEW=ON -DUSE_SYSTEM_FREETYPE=ON -DUSE_SYSTEM_FREEIMAGE=ON -DUSE_SYSTEM_OPENAL=ON -DUSE_SYSTEM_SFML=ON -DUSE_SYSTEM_FONTS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
- make -j8
build-stretch:
extends: .debian-stretch
script:
- mkdir -p build && cd build && cmake .. -G "Unix Makefiles" -DUSE_SYSTEM_BOOST=ON -DUSE_SYSTEM_FFMPEG=ON -DUSE_SYSTEM_TBB=ON -DUSE_SYSTEM_GLEW=ON -DUSE_SYSTEM_FREETYPE=ON -DUSE_SYSTEM_FREEIMAGE=ON -DUSE_SYSTEM_OPENAL=ON -DUSE_SYSTEM_SFML=ON -DUSE_SYSTEM_FONTS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
- make -j8
package-buster:
stage: package
only:
- master
- devel
- tags
needs:
- build-buster
extends: .debian-buster
script:
- rm -Rf debian-build
- git checkout -B "$CI_COMMIT_REF_NAME" "$CI_COMMIT_SHA"
- dch --local ~buster "Build for buster"
- DEB_BUILD_OPTIONS='parallel=12' gbp buildpackage -us -uc --git-ignore-new --git-debian-branch="$CI_COMMIT_REF_NAME" --git-upstream-tree=SLOPPY --git-upstream-tag='v%(version)s' --git-export-dir=./debian-build
- ls -slah debian-build
- mkdir -p package/buster && cd debian-build && cp -t ../package/buster *.deb *.dsc *.xz && cp *.orig.tar.gz ../package
artifacts:
untracked: false
expire_in: 24 hours
paths:
- package
package-stretch:
stage: package
only:
- master
- tags
needs:
- build-stretch
extends: .debian-stretch
script:
- rm -Rf debian-build
- git checkout -B "$CI_COMMIT_REF_NAME" "$CI_COMMIT_SHA"
- dch --local ~buster "Build for buster"
- DEB_BUILD_OPTIONS='parallel=12' gbp buildpackage -us -uc --git-ignore-new --git-debian-branch="$CI_COMMIT_REF_NAME" --git-upstream-tree=SLOPPY --git-upstream-tag='v%(version)s' --git-export-dir=./debian-build
- ls -slah debian-build
- mkdir -p package/stretch && cd debian-build && cp -t ../package/stretch *.deb *.dsc *.xz && cp *.orig.tar.gz ../package
artifacts:
untracked: false
expire_in: 24 hours
paths:
- package
deploy-repo:
image: gitlab-01.in2ip.nl:5050/odmanaged/playout-platform/casparcgserver/buster-build:latest
stage: deploy-repo
tags:
- docker
- casparcg
needs:
- package-buster
- package-stretch
only:
- tags
script:
- scp -r ./package [email protected]:./$CI_COMMIT_SHA
- ssh [email protected] "./dodeploy.sh $CI_COMMIT_SHA"