-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
116 lines (105 loc) · 2.69 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
115
116
stages:
- build
- test
- release
#image: debian
image: tmkwl/fuseadf-build-debian
#before_script:
build_cmake:
stage: build
when: manual
before_script:
- apt-get update &&
apt-get install -y
cmake
check
unzip
wget &&
apt-get clean && rm -rf /var/lib/apt/lists/*
script:
- util/cmake_release_configure &&
util/cmake_release_build &&
util/cmake_release_test_prepare_data &&
util/cmake_release_test
build_autotools:
stage: build
when: manual
before_script:
- apt-get update &&
apt-get install -y
autoconf
automake
check
unzip
wget &&
apt-get clean && rm -rf /var/lib/apt/lists/*
- cd tests && ./prepare_test_data.sh && cd ..
script:
- ./autogen.sh &&
./configure &&
make &&
make check
artifacts:
paths:
- $CI_PROJECT_DIR/tests/*.log
when: on_failure
expire_in: 1 week
build_deb:
stage: build
when: manual
before_script:
- apt-get update &&
apt-get install -y
autoconf
automake
devscripts
lintian
check
unzip
wget &&
apt-get clean && rm -rf /var/lib/apt/lists/*
- cd tests && ./prepare_test_data.sh && cd ..
script:
- pwd &&
util/deb_build.sh
after_script:
- mv $CI_PROJECT_DIR/../*.deb
$CI_PROJECT_DIR/../*.dsc
$CI_PROJECT_DIR/../fuseadf*.tar.*
$CI_PROJECT_DIR/
artifacts:
paths:
- $CI_PROJECT_DIR/*.deb
- $CI_PROJECT_DIR/*.dsc
- $CI_PROJECT_DIR/fuseadf*.tar.*
when: always
expire_in: 1 week
install_deb:
stage: test
when: manual
dependencies:
- build_deb
before_script:
- apt-get update &&
apt-get clean && rm -rf /var/lib/apt/lists/*
script:
- apt install -y $CI_PROJECT_DIR/fuseadf*.deb
# https://docs.gitlab.com/ee/user/packages/generic_packages/index.html
upload:
stage: release
when: manual
dependencies:
- build_deb
- install_deb
before_script:
- apt-get update &&
apt-get install -y
curl &&
apt-get clean && rm -rf /var/lib/apt/lists/*
script:
# - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file path/to/file.txt "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/my_package/0.0.1/file.txt"'
- 'cd ${CI_PROJECT_DIR} ; for FILE in *.deb *.dsc *.tar.gz *.tar.xz ; do curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ${FILE} "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/fuseadf/0.5/${FILE}" ; done'
#download:
# stage: download
# script:
# - 'wget --header="JOB-TOKEN: $CI_JOB_TOKEN" ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/my_package/0.0.1/file.txt'