cfsetup.yaml 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. pinned_go: &pinned_go go=1.15.7-1
  2. pinned_go_fips: &pinned_go_fips go-fips=1.15.5-3
  3. build_dir: &build_dir /cfsetup_build
  4. default-flavor: buster
  5. stretch: &stretch
  6. build:
  7. build_dir: *build_dir
  8. builddeps:
  9. - *pinned_go_fips
  10. - build-essential
  11. post-cache:
  12. - export GOOS=linux
  13. - export GOARCH=amd64
  14. - export FIPS=true
  15. - make cloudflared
  16. build-deb:
  17. build_dir: *build_dir
  18. builddeps:
  19. - *pinned_go_fips
  20. - build-essential
  21. - fakeroot
  22. - rubygem-fpm
  23. post-cache:
  24. - export GOOS=linux
  25. - export GOARCH=amd64
  26. - export FIPS=true
  27. - make cloudflared-deb
  28. build-deb-arm64:
  29. build_dir: *build_dir
  30. builddeps:
  31. - *pinned_go
  32. - build-essential
  33. - fakeroot
  34. - rubygem-fpm
  35. post-cache:
  36. - export GOOS=linux
  37. - export GOARCH=arm64
  38. - make cloudflared-deb
  39. publish-deb:
  40. build_dir: *build_dir
  41. builddeps:
  42. - *pinned_go_fips
  43. - build-essential
  44. - fakeroot
  45. - rubygem-fpm
  46. - openssh-client
  47. post-cache:
  48. - export GOOS=linux
  49. - export GOARCH=amd64
  50. - export FIPS=true
  51. - make publish-deb
  52. release-linux-amd64:
  53. build_dir: *build_dir
  54. builddeps:
  55. - *pinned_go_fips
  56. - build-essential
  57. post-cache:
  58. - export GOOS=linux
  59. - export GOARCH=amd64
  60. - export FIPS=true
  61. - make release
  62. github-release-linux-amd64:
  63. build_dir: *build_dir
  64. builddeps:
  65. - *pinned_go_fips
  66. - build-essential
  67. - python3-setuptools
  68. - python3-pip
  69. pre-cache: &install_pygithub
  70. - pip3 install pygithub
  71. post-cache:
  72. - export GOOS=linux
  73. - export GOARCH=amd64
  74. - export FIPS=true
  75. - make github-release
  76. release-linux-armv6:
  77. build_dir: *build_dir
  78. builddeps:
  79. - *pinned_go
  80. - crossbuild-essential-armhf
  81. - gcc-arm-linux-gnueabihf
  82. post-cache:
  83. - export GOOS=linux
  84. - export GOARCH=arm
  85. - export CC=arm-linux-gnueabihf-gcc
  86. - make release
  87. github-release-linux-armv6:
  88. build_dir: *build_dir
  89. builddeps:
  90. - *pinned_go
  91. - crossbuild-essential-armhf
  92. - gcc-arm-linux-gnueabihf
  93. - python3-setuptools
  94. - python3-pip
  95. pre-cache: *install_pygithub
  96. post-cache:
  97. - export GOOS=linux
  98. - export GOARCH=arm
  99. - export CC=arm-linux-gnueabihf-gcc
  100. - make github-release
  101. release-linux-386:
  102. build_dir: *build_dir
  103. builddeps:
  104. - *pinned_go
  105. - gcc-multilib
  106. post-cache:
  107. - export GOOS=linux
  108. - export GOARCH=386
  109. - make release
  110. github-release-linux-386:
  111. build_dir: *build_dir
  112. builddeps:
  113. - *pinned_go
  114. - gcc-multilib
  115. - python3-setuptools
  116. - python3-pip
  117. pre-cache: *install_pygithub
  118. post-cache:
  119. - export GOOS=linux
  120. - export GOARCH=386
  121. - make github-release
  122. release-windows-amd64:
  123. build_dir: *build_dir
  124. builddeps:
  125. - *pinned_go
  126. - gcc-mingw-w64
  127. post-cache:
  128. - export GOOS=windows
  129. - export GOARCH=amd64
  130. - export CC=x86_64-w64-mingw32-gcc
  131. - make release
  132. github-release-windows-amd64:
  133. build_dir: *build_dir
  134. builddeps:
  135. - *pinned_go
  136. - gcc-mingw-w64
  137. - python3-setuptools
  138. - python3-pip
  139. pre-cache: *install_pygithub
  140. post-cache:
  141. - export GOOS=windows
  142. - export GOARCH=amd64
  143. - export CC=x86_64-w64-mingw32-gcc
  144. - make github-release
  145. release-windows-386:
  146. build_dir: *build_dir
  147. builddeps:
  148. - *pinned_go
  149. - gcc-mingw-w64
  150. post-cache:
  151. - export GOOS=windows
  152. - export GOARCH=386
  153. - export CC=i686-w64-mingw32-gcc-win32
  154. - make release
  155. github-release-windows-386:
  156. build_dir: *build_dir
  157. builddeps:
  158. - *pinned_go
  159. - gcc-mingw-w64
  160. - python3-setuptools
  161. - python3-pip
  162. pre-cache: *install_pygithub
  163. post-cache:
  164. - export GOOS=windows
  165. - export GOARCH=386
  166. - export CC=i686-w64-mingw32-gcc-win32
  167. - make github-release
  168. github-release-linux-arm64:
  169. build_dir: *build_dir
  170. builddeps:
  171. - *pinned_go
  172. - crossbuild-essential-armhf
  173. - g++-aarch64-linux-gnu
  174. - python3-setuptools
  175. - python3-pip
  176. pre-cache: *install_pygithub
  177. post-cache:
  178. - export GOOS=linux
  179. - export GOARCH=arm64
  180. - export CC=aarch64-linux-gnu-gcc
  181. - make github-release
  182. github-release-macos-amd64:
  183. build_dir: *build_dir
  184. builddeps:
  185. - *pinned_go
  186. - python3-setuptools
  187. - python3-pip
  188. pre-cache: *install_pygithub
  189. post-cache:
  190. - make github-mac-upload
  191. test:
  192. build_dir: *build_dir
  193. builddeps:
  194. - *pinned_go_fips
  195. - build-essential
  196. - gotest-to-teamcity
  197. post-cache:
  198. - export GOOS=linux
  199. - export GOARCH=amd64
  200. - export FIPS=true
  201. # cd to a non-module directory: https://github.com/golang/go/issues/24250
  202. - (cd / && go get github.com/BurntSushi/go-sumtype)
  203. - export PATH="$HOME/go/bin:$PATH"
  204. - make test | gotest-to-teamcity
  205. component-test:
  206. build_dir: *build_dir
  207. builddeps:
  208. - *pinned_go_fips
  209. - python3.7
  210. - python3-pip
  211. - python3-setuptools
  212. pre-cache-copy-paths:
  213. - component-tests/requirements.txt
  214. pre-cache:
  215. - sudo pip3 install --upgrade -r component-tests/requirements.txt
  216. post-cache:
  217. # Constructs config file from env vars
  218. - python3 component-tests/config.py
  219. - pytest component-tests
  220. update-homebrew:
  221. builddeps:
  222. - openssh-client
  223. - s3cmd
  224. post-cache:
  225. - .teamcity/update-homebrew.sh
  226. github-message-release:
  227. build_dir: *build_dir
  228. builddeps:
  229. - *pinned_go
  230. - python3-setuptools
  231. - python3-pip
  232. pre-cache: *install_pygithub
  233. post-cache:
  234. - make github-message
  235. build-junos:
  236. build_dir: *build_dir
  237. builddeps:
  238. - *pinned_go
  239. - build-essential
  240. - python3
  241. - genisoimage
  242. - jetez
  243. pre-cache:
  244. - ln -s /usr/bin/genisoimage /usr/bin/mkisofs
  245. post-cache:
  246. - export GOOS=freebsd
  247. - export GOARCH=amd64
  248. - make cloudflared-junos
  249. publish-junos:
  250. build_dir: *build_dir
  251. builddeps:
  252. - *pinned_go
  253. - build-essential
  254. - python3
  255. - genisoimage
  256. - jetez
  257. - s4cmd
  258. pre-cache:
  259. - ln -s /usr/bin/genisoimage /usr/bin/mkisofs
  260. post-cache:
  261. - export GOOS=freebsd
  262. - export GOARCH=amd64
  263. - make publish-cloudflared-junos
  264. buster: *stretch
  265. bullseye: *stretch
  266. centos-7:
  267. publish-rpm:
  268. build_dir: *build_dir
  269. builddeps: &el7_builddeps
  270. - https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  271. pre-cache:
  272. - yum install -y fakeroot
  273. - wget https://golang.org/dl/go1.15.7.linux-amd64.tar.gz -P /tmp/
  274. - tar -C /usr/local -xzf /tmp/go1.15.7.linux-amd64.tar.gz
  275. post-cache:
  276. - export PATH=$PATH:/usr/local/go/bin
  277. - export GOOS=linux
  278. - export GOARCH=amd64
  279. - make publish-rpm
  280. build-rpm:
  281. build_dir: *build_dir
  282. builddeps: *el7_builddeps
  283. pre-cache:
  284. - yum install -y fakeroot
  285. - wget https://golang.org/dl/go1.15.7.linux-amd64.tar.gz -P /tmp/
  286. - tar -C /usr/local -xzf /tmp/go1.15.7.linux-amd64.tar.gz
  287. post-cache:
  288. - export PATH=$PATH:/usr/local/go/bin
  289. - export GOOS=linux
  290. - export GOARCH=amd64
  291. - make cloudflared-rpm