-
Notifications
You must be signed in to change notification settings - Fork 3
/
.gitlab-ci.yml
104 lines (92 loc) · 1.99 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
stages:
- build
- deploy
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- lib/
variables:
GIT_SUBMODULE_STRATEGY: recursive
before_script:
- echo Current working directory is $(pwd)
build linux x86_64:
image: ubuntu
stage: build
tags:
- docker
- linux
script:
# Install dependencies
- apt-get update
- >
apt-get install --no-install-recommends -y qt5-default qtmultimedia5-dev
libqt5svg5-dev
clang make git sudo curl ca-certificates pkg-config upx unzip
libarchive-dev libbz2-dev liblzma-dev liblz4-dev libzstd-dev nettle-dev
libexpat1-dev libxml2-dev
# Print versions
- qmake --version
- clang --version
# Build
- qmake -spec linux-clang
- make -j4
# Post-processing
- mv launcher/bin .
- upx -9 --force bin/launcher
artifacts:
paths:
- bin/
build windows i686:
image: registry.gitlab.com/attorneyonline/ao2-client/builder-windows-i686
stage: build
tags:
- docker
- linux
script:
- apt-get install --no-install-recommends -y upx
# Apply last-minute patches
- git apply launcher/ci.patch
- cd libs/QArchive
- git apply ../QArchive.patch
- cd ../..
# Build
- /opt/mxe/usr/${TARGET_SPEC}/qt5/bin/qmake
- make -j4 release
# Post-processing
- mv launcher/bin .
- upx -9 --force bin/launcher.exe
artifacts:
paths:
- bin/
deploy linux x86_64:
stage: deploy
dependencies:
- build linux x86_64
tags:
- docker
- linux
script:
- apt-get install git
- mkdir artifact
- cd artifact
- cp -a ../bin/launcher ./launcher_$(git describe --tags)
- sha1sum *
artifacts:
paths:
- artifact/
deploy windows i686:
stage: deploy
dependencies:
- build windows i686
tags:
- docker
- linux
script:
- apt-get install git
- mkdir artifact
- cd artifact
- cp -a ../bin/launcher.exe "./AO Launcher $(git describe --tags)"
- sha1sum *
artifacts:
paths:
- artifact/