unstable.yml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404
  1. name: Unstable Build
  2. on:
  3. pull_request:
  4. schedule:
  5. - cron: "0 6 * * *"
  6. workflow_dispatch:
  7. jobs:
  8. version:
  9. runs-on: ubuntu-latest
  10. outputs:
  11. base: unstable
  12. date: unstable-${{ steps.date.outputs.date }}
  13. steps:
  14. - name: Get current date
  15. id: date
  16. run: echo "::set-output name=date::$(date +%F)"
  17. base:
  18. runs-on: ubuntu-latest
  19. needs: version
  20. steps:
  21. - name: Check out code
  22. uses: actions/checkout@v3
  23. - name: Set up QEMU
  24. uses: docker/setup-qemu-action@v1
  25. with:
  26. platforms: linux/amd64,linux/arm64
  27. - name: Setup Docker Buildx
  28. uses: docker/setup-buildx-action@v1
  29. - name: Login to DockerHub
  30. uses: docker/login-action@v1
  31. if: ${{ github.event_name != 'pull_request' }}
  32. with:
  33. username: ${{ secrets.DOCKERHUB_USERNAME }}
  34. password: ${{ secrets.DOCKERHUB_TOKEN }}
  35. - name: Build and push
  36. uses: docker/build-push-action@v2
  37. if: ${{ github.event_name != 'pull_request' }}
  38. with:
  39. push: true
  40. context: ./base
  41. tags: |
  42. ${{ secrets.JITSI_REPO }}/base:${{ needs.version.outputs.base }}
  43. ${{ secrets.JITSI_REPO }}/base:${{ needs.version.outputs.date }}
  44. build-args: |
  45. JITSI_RELEASE=unstable
  46. platforms: linux/amd64,linux/arm64
  47. cache-from: type=gha
  48. cache-to: type=gha,mode=max
  49. - name: Dryrun
  50. uses: docker/build-push-action@v2
  51. if: ${{ github.event_name == 'pull_request' }}
  52. with:
  53. context: ./base
  54. tags: |
  55. jitsi/base:${{ needs.version.outputs.base }}
  56. jitsi/base:${{ needs.version.outputs.date }}
  57. build-args: |
  58. JITSI_RELEASE=unstable
  59. platforms: linux/amd64,linux/arm64
  60. cache-from: type=gha
  61. cache-to: type=gha,mode=max
  62. base-java:
  63. runs-on: ubuntu-latest
  64. needs: [version, base]
  65. steps:
  66. - name: Check out code
  67. uses: actions/checkout@v3
  68. - name: Set up QEMU
  69. uses: docker/setup-qemu-action@v1
  70. with:
  71. platforms: linux/amd64,linux/arm64
  72. - name: Setup Docker Buildx
  73. uses: docker/setup-buildx-action@v1
  74. - name: Login to DockerHub
  75. uses: docker/login-action@v1
  76. if: ${{ github.event_name != 'pull_request' }}
  77. with:
  78. username: ${{ secrets.DOCKERHUB_USERNAME }}
  79. password: ${{ secrets.DOCKERHUB_TOKEN }}
  80. - name: Build and push
  81. uses: docker/build-push-action@v2
  82. if: ${{ github.event_name != 'pull_request' }}
  83. with:
  84. push: true
  85. context: ./base-java
  86. tags: |
  87. ${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.base }}
  88. ${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.date }}
  89. build-args: |
  90. JITSI_REPO=${{ secrets.JITSI_REPO }}
  91. BASE_TAG=${{ needs.version.outputs.base }}
  92. platforms: linux/amd64,linux/arm64
  93. cache-from: type=gha
  94. cache-to: type=gha,mode=max
  95. - name: Dryrun
  96. uses: docker/build-push-action@v2
  97. if: ${{ github.event_name == 'pull_request' }}
  98. with:
  99. context: ./base-java
  100. tags: |
  101. jitsi/base-java:${{ needs.version.outputs.base }}
  102. jitsi/base-java:${{ needs.version.outputs.date }}
  103. build-args: |
  104. JITSI_REPO=jitsi
  105. BASE_TAG=${{ needs.version.outputs.base }}
  106. platforms: linux/amd64,linux/arm64
  107. cache-from: type=gha
  108. cache-to: type=gha,mode=max
  109. jibri:
  110. runs-on: ubuntu-latest
  111. needs: [version, base-java]
  112. steps:
  113. - name: Check out code
  114. uses: actions/checkout@v3
  115. - name: Set up QEMU
  116. uses: docker/setup-qemu-action@v1
  117. with:
  118. platforms: linux/amd64,linux/arm64
  119. - name: Setup Docker Buildx
  120. uses: docker/setup-buildx-action@v1
  121. - name: Login to DockerHub
  122. uses: docker/login-action@v1
  123. if: ${{ github.event_name != 'pull_request' }}
  124. with:
  125. username: ${{ secrets.DOCKERHUB_USERNAME }}
  126. password: ${{ secrets.DOCKERHUB_TOKEN }}
  127. - name: Build and push
  128. uses: docker/build-push-action@v2
  129. if: ${{ github.event_name != 'pull_request' }}
  130. with:
  131. push: true
  132. context: ./jibri
  133. tags: |
  134. ${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.base }}
  135. ${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.date }}
  136. build-args: |
  137. JITSI_REPO=${{ secrets.JITSI_REPO }}
  138. BASE_TAG=${{ needs.version.outputs.base }}
  139. # FIXME jibri does not support linux/arm64
  140. platforms: linux/amd64
  141. cache-from: type=gha
  142. cache-to: type=gha,mode=max
  143. - name: Dryrun
  144. uses: docker/build-push-action@v2
  145. if: ${{ github.event_name == 'pull_request' }}
  146. with:
  147. context: ./jibri
  148. tags: |
  149. jitsi/jibri:${{ needs.version.outputs.base }}
  150. jitsi/jibri:${{ needs.version.outputs.date }}
  151. build-args: |
  152. JITSI_REPO=jitsi
  153. BASE_TAG=${{ needs.version.outputs.base }}
  154. # FIXME jibri does not support linux/arm64
  155. platforms: linux/amd64
  156. cache-from: type=gha
  157. cache-to: type=gha,mode=max
  158. jicofo:
  159. runs-on: ubuntu-latest
  160. needs: [version, base-java]
  161. steps:
  162. - name: Check out code
  163. uses: actions/checkout@v3
  164. - name: Set up QEMU
  165. uses: docker/setup-qemu-action@v1
  166. with:
  167. platforms: linux/amd64,linux/arm64
  168. - name: Setup Docker Buildx
  169. uses: docker/setup-buildx-action@v1
  170. - name: Login to DockerHub
  171. uses: docker/login-action@v1
  172. if: ${{ github.event_name != 'pull_request' }}
  173. with:
  174. username: ${{ secrets.DOCKERHUB_USERNAME }}
  175. password: ${{ secrets.DOCKERHUB_TOKEN }}
  176. - name: Build and push
  177. uses: docker/build-push-action@v2
  178. if: ${{ github.event_name != 'pull_request' }}
  179. with:
  180. push: true
  181. context: ./jicofo
  182. tags: |
  183. ${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.base }}
  184. ${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.date }}
  185. build-args: |
  186. JITSI_REPO=${{ secrets.JITSI_REPO }}
  187. BASE_TAG=${{ needs.version.outputs.base }}
  188. platforms: linux/amd64,linux/arm64
  189. cache-from: type=gha
  190. cache-to: type=gha,mode=max
  191. - name: Dryrun
  192. uses: docker/build-push-action@v2
  193. if: ${{ github.event_name == 'pull_request' }}
  194. with:
  195. context: ./jicofo
  196. tags: |
  197. jitsi/jicofo:${{ needs.version.outputs.base }}
  198. jitsi/jicofo:${{ needs.version.outputs.date }}
  199. build-args: |
  200. JITSI_REPO=jitsi
  201. BASE_TAG=${{ needs.version.outputs.base }}
  202. platforms: linux/amd64,linux/arm64
  203. cache-from: type=gha
  204. cache-to: type=gha,mode=max
  205. jigasi:
  206. runs-on: ubuntu-latest
  207. needs: [version, base-java]
  208. steps:
  209. - name: Check out code
  210. uses: actions/checkout@v3
  211. - name: Set up QEMU
  212. uses: docker/setup-qemu-action@v1
  213. with:
  214. platforms: linux/amd64,linux/arm64
  215. - name: Setup Docker Buildx
  216. uses: docker/setup-buildx-action@v1
  217. - name: Login to DockerHub
  218. uses: docker/login-action@v1
  219. if: ${{ github.event_name != 'pull_request' }}
  220. with:
  221. username: ${{ secrets.DOCKERHUB_USERNAME }}
  222. password: ${{ secrets.DOCKERHUB_TOKEN }}
  223. - name: Build and push
  224. uses: docker/build-push-action@v2
  225. if: ${{ github.event_name != 'pull_request' }}
  226. with:
  227. push: true
  228. context: ./jigasi
  229. tags: |
  230. ${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.base }}
  231. ${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.date }}
  232. build-args: |
  233. JITSI_REPO=${{ secrets.JITSI_REPO }}
  234. BASE_TAG=${{ needs.version.outputs.base }}
  235. # FIXME jigasi does not support linux/arm64
  236. platforms: linux/amd64
  237. cache-from: type=gha
  238. cache-to: type=gha,mode=max
  239. - name: Dryrun
  240. uses: docker/build-push-action@v2
  241. if: ${{ github.event_name == 'pull_request' }}
  242. with:
  243. context: ./jigasi
  244. tags: |
  245. jitsi/jigasi:${{ needs.version.outputs.base }}
  246. jitsi/jigasi:${{ needs.version.outputs.date }}
  247. build-args: |
  248. JITSI_REPO=jitsi
  249. BASE_TAG=${{ needs.version.outputs.base }}
  250. # FIXME jigasi does not support linux/arm64
  251. platforms: linux/amd64
  252. cache-from: type=gha
  253. cache-to: type=gha,mode=max
  254. jvb:
  255. runs-on: ubuntu-latest
  256. needs: [version, base-java]
  257. steps:
  258. - name: Check out code
  259. uses: actions/checkout@v3
  260. - name: Set up QEMU
  261. uses: docker/setup-qemu-action@v1
  262. with:
  263. platforms: linux/amd64,linux/arm64
  264. - name: Setup Docker Buildx
  265. uses: docker/setup-buildx-action@v1
  266. - name: Login to DockerHub
  267. uses: docker/login-action@v1
  268. if: ${{ github.event_name != 'pull_request' }}
  269. with:
  270. username: ${{ secrets.DOCKERHUB_USERNAME }}
  271. password: ${{ secrets.DOCKERHUB_TOKEN }}
  272. - name: Build and push
  273. uses: docker/build-push-action@v2
  274. if: ${{ github.event_name != 'pull_request' }}
  275. with:
  276. push: true
  277. context: ./jvb
  278. tags: |
  279. ${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.base }}
  280. ${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.date }}
  281. build-args: |
  282. JITSI_REPO=${{ secrets.JITSI_REPO }}
  283. BASE_TAG=${{ needs.version.outputs.base }}
  284. platforms: linux/amd64,linux/arm64
  285. cache-from: type=gha
  286. cache-to: type=gha,mode=max
  287. - name: Dryrun
  288. uses: docker/build-push-action@v2
  289. if: ${{ github.event_name == 'pull_request' }}
  290. with:
  291. context: ./jvb
  292. tags: |
  293. jitsi/jvb:${{ needs.version.outputs.base }}
  294. jitsi/jvb:${{ needs.version.outputs.date }}
  295. build-args: |
  296. JITSI_REPO=jitsi
  297. BASE_TAG=${{ needs.version.outputs.base }}
  298. platforms: linux/amd64,linux/arm64
  299. cache-from: type=gha
  300. cache-to: type=gha,mode=max
  301. prosody:
  302. runs-on: ubuntu-latest
  303. needs: [version, base]
  304. steps:
  305. - name: Check out code
  306. uses: actions/checkout@v3
  307. - name: Set up QEMU
  308. uses: docker/setup-qemu-action@v1
  309. with:
  310. platforms: linux/amd64,linux/arm64
  311. - name: Setup Docker Buildx
  312. uses: docker/setup-buildx-action@v1
  313. - name: Login to DockerHub
  314. uses: docker/login-action@v1
  315. if: ${{ github.event_name != 'pull_request' }}
  316. with:
  317. username: ${{ secrets.DOCKERHUB_USERNAME }}
  318. password: ${{ secrets.DOCKERHUB_TOKEN }}
  319. - name: Build and push
  320. uses: docker/build-push-action@v2
  321. if: ${{ github.event_name != 'pull_request' }}
  322. with:
  323. push: true
  324. context: ./prosody
  325. tags: |
  326. ${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.base }}
  327. ${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.date }}
  328. build-args: |
  329. JITSI_REPO=${{ secrets.JITSI_REPO }}
  330. BASE_TAG=${{ needs.version.outputs.base }}
  331. platforms: linux/amd64,linux/arm64
  332. cache-from: type=gha
  333. cache-to: type=gha,mode=max
  334. - name: Dryrun
  335. uses: docker/build-push-action@v2
  336. if: ${{ github.event_name == 'pull_request' }}
  337. with:
  338. context: ./prosody
  339. tags: |
  340. jitsi/prosody:${{ needs.version.outputs.base }}
  341. jitsi/prosody:${{ needs.version.outputs.date }}
  342. build-args: |
  343. JITSI_REPO=jitsi
  344. BASE_TAG=${{ needs.version.outputs.base }}
  345. platforms: linux/amd64,linux/arm64
  346. cache-from: type=gha
  347. cache-to: type=gha,mode=max
  348. web:
  349. runs-on: ubuntu-latest
  350. needs: [version, base]
  351. steps:
  352. - name: Check out code
  353. uses: actions/checkout@v3
  354. - name: Set up QEMU
  355. uses: docker/setup-qemu-action@v1
  356. with:
  357. platforms: linux/amd64,linux/arm64
  358. - name: Setup Docker Buildx
  359. uses: docker/setup-buildx-action@v1
  360. - name: Login to DockerHub
  361. uses: docker/login-action@v1
  362. if: ${{ github.event_name != 'pull_request' }}
  363. with:
  364. username: ${{ secrets.DOCKERHUB_USERNAME }}
  365. password: ${{ secrets.DOCKERHUB_TOKEN }}
  366. - name: Build and push
  367. uses: docker/build-push-action@v2
  368. if: ${{ github.event_name != 'pull_request' }}
  369. with:
  370. push: true
  371. context: ./web
  372. tags: |
  373. ${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.base }}
  374. ${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.date }}
  375. build-args: |
  376. JITSI_REPO=${{ secrets.JITSI_REPO }}
  377. BASE_TAG=${{ needs.version.outputs.base }}
  378. platforms: linux/amd64,linux/arm64
  379. cache-from: type=gha
  380. cache-to: type=gha,mode=max
  381. - name: Dryrun
  382. uses: docker/build-push-action@v2
  383. if: ${{ github.event_name == 'pull_request' }}
  384. with:
  385. context: ./web
  386. tags: |
  387. jitsi/web:${{ needs.version.outputs.base }}
  388. jitsi/web:${{ needs.version.outputs.date }}
  389. build-args: |
  390. JITSI_REPO=jitsi
  391. BASE_TAG=${{ needs.version.outputs.base }}
  392. platforms: linux/amd64,linux/arm64
  393. cache-from: type=gha
  394. cache-to: type=gha,mode=max