unstable.yml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  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. platforms: linux/amd64,linux/arm64
  140. cache-from: type=gha
  141. cache-to: type=gha,mode=max
  142. - name: Dryrun
  143. uses: docker/build-push-action@v2
  144. if: ${{ github.event_name == 'pull_request' }}
  145. with:
  146. context: ./jibri
  147. tags: |
  148. jitsi/jibri:${{ needs.version.outputs.base }}
  149. jitsi/jibri:${{ needs.version.outputs.date }}
  150. build-args: |
  151. JITSI_REPO=jitsi
  152. BASE_TAG=${{ needs.version.outputs.base }}
  153. platforms: linux/amd64,linux/arm64
  154. cache-from: type=gha
  155. cache-to: type=gha,mode=max
  156. jicofo:
  157. runs-on: ubuntu-latest
  158. needs: [version, base-java]
  159. steps:
  160. - name: Check out code
  161. uses: actions/checkout@v3
  162. - name: Set up QEMU
  163. uses: docker/setup-qemu-action@v1
  164. with:
  165. platforms: linux/amd64,linux/arm64
  166. - name: Setup Docker Buildx
  167. uses: docker/setup-buildx-action@v1
  168. - name: Login to DockerHub
  169. uses: docker/login-action@v1
  170. if: ${{ github.event_name != 'pull_request' }}
  171. with:
  172. username: ${{ secrets.DOCKERHUB_USERNAME }}
  173. password: ${{ secrets.DOCKERHUB_TOKEN }}
  174. - name: Build and push
  175. uses: docker/build-push-action@v2
  176. if: ${{ github.event_name != 'pull_request' }}
  177. with:
  178. push: true
  179. context: ./jicofo
  180. tags: |
  181. ${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.base }}
  182. ${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.date }}
  183. build-args: |
  184. JITSI_REPO=${{ secrets.JITSI_REPO }}
  185. BASE_TAG=${{ needs.version.outputs.base }}
  186. platforms: linux/amd64,linux/arm64
  187. cache-from: type=gha
  188. cache-to: type=gha,mode=max
  189. - name: Dryrun
  190. uses: docker/build-push-action@v2
  191. if: ${{ github.event_name == 'pull_request' }}
  192. with:
  193. context: ./jicofo
  194. tags: |
  195. jitsi/jicofo:${{ needs.version.outputs.base }}
  196. jitsi/jicofo:${{ needs.version.outputs.date }}
  197. build-args: |
  198. JITSI_REPO=jitsi
  199. BASE_TAG=${{ needs.version.outputs.base }}
  200. platforms: linux/amd64,linux/arm64
  201. cache-from: type=gha
  202. cache-to: type=gha,mode=max
  203. jigasi:
  204. runs-on: ubuntu-latest
  205. needs: [version, base-java]
  206. steps:
  207. - name: Check out code
  208. uses: actions/checkout@v3
  209. - name: Set up QEMU
  210. uses: docker/setup-qemu-action@v1
  211. with:
  212. platforms: linux/amd64,linux/arm64
  213. - name: Setup Docker Buildx
  214. uses: docker/setup-buildx-action@v1
  215. - name: Login to DockerHub
  216. uses: docker/login-action@v1
  217. if: ${{ github.event_name != 'pull_request' }}
  218. with:
  219. username: ${{ secrets.DOCKERHUB_USERNAME }}
  220. password: ${{ secrets.DOCKERHUB_TOKEN }}
  221. - name: Build and push
  222. uses: docker/build-push-action@v2
  223. if: ${{ github.event_name != 'pull_request' }}
  224. with:
  225. push: true
  226. context: ./jigasi
  227. tags: |
  228. ${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.base }}
  229. ${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.date }}
  230. build-args: |
  231. JITSI_REPO=${{ secrets.JITSI_REPO }}
  232. BASE_TAG=${{ needs.version.outputs.base }}
  233. # FIXME jigasi does not support linux/arm64
  234. platforms: linux/amd64
  235. cache-from: type=gha
  236. cache-to: type=gha,mode=max
  237. - name: Dryrun
  238. uses: docker/build-push-action@v2
  239. if: ${{ github.event_name == 'pull_request' }}
  240. with:
  241. context: ./jigasi
  242. tags: |
  243. jitsi/jigasi:${{ needs.version.outputs.base }}
  244. jitsi/jigasi:${{ needs.version.outputs.date }}
  245. build-args: |
  246. JITSI_REPO=jitsi
  247. BASE_TAG=${{ needs.version.outputs.base }}
  248. # FIXME jigasi does not support linux/arm64
  249. platforms: linux/amd64
  250. cache-from: type=gha
  251. cache-to: type=gha,mode=max
  252. jvb:
  253. runs-on: ubuntu-latest
  254. needs: [version, base-java]
  255. steps:
  256. - name: Check out code
  257. uses: actions/checkout@v3
  258. - name: Set up QEMU
  259. uses: docker/setup-qemu-action@v1
  260. with:
  261. platforms: linux/amd64,linux/arm64
  262. - name: Setup Docker Buildx
  263. uses: docker/setup-buildx-action@v1
  264. - name: Login to DockerHub
  265. uses: docker/login-action@v1
  266. if: ${{ github.event_name != 'pull_request' }}
  267. with:
  268. username: ${{ secrets.DOCKERHUB_USERNAME }}
  269. password: ${{ secrets.DOCKERHUB_TOKEN }}
  270. - name: Build and push
  271. uses: docker/build-push-action@v2
  272. if: ${{ github.event_name != 'pull_request' }}
  273. with:
  274. push: true
  275. context: ./jvb
  276. tags: |
  277. ${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.base }}
  278. ${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.date }}
  279. build-args: |
  280. JITSI_REPO=${{ secrets.JITSI_REPO }}
  281. BASE_TAG=${{ needs.version.outputs.base }}
  282. platforms: linux/amd64,linux/arm64
  283. cache-from: type=gha
  284. cache-to: type=gha,mode=max
  285. - name: Dryrun
  286. uses: docker/build-push-action@v2
  287. if: ${{ github.event_name == 'pull_request' }}
  288. with:
  289. context: ./jvb
  290. tags: |
  291. jitsi/jvb:${{ needs.version.outputs.base }}
  292. jitsi/jvb:${{ needs.version.outputs.date }}
  293. build-args: |
  294. JITSI_REPO=jitsi
  295. BASE_TAG=${{ needs.version.outputs.base }}
  296. platforms: linux/amd64,linux/arm64
  297. cache-from: type=gha
  298. cache-to: type=gha,mode=max
  299. prosody:
  300. runs-on: ubuntu-latest
  301. needs: [version, base]
  302. steps:
  303. - name: Check out code
  304. uses: actions/checkout@v3
  305. - name: Set up QEMU
  306. uses: docker/setup-qemu-action@v1
  307. with:
  308. platforms: linux/amd64,linux/arm64
  309. - name: Setup Docker Buildx
  310. uses: docker/setup-buildx-action@v1
  311. - name: Login to DockerHub
  312. uses: docker/login-action@v1
  313. if: ${{ github.event_name != 'pull_request' }}
  314. with:
  315. username: ${{ secrets.DOCKERHUB_USERNAME }}
  316. password: ${{ secrets.DOCKERHUB_TOKEN }}
  317. - name: Build and push
  318. uses: docker/build-push-action@v2
  319. if: ${{ github.event_name != 'pull_request' }}
  320. with:
  321. push: true
  322. context: ./prosody
  323. tags: |
  324. ${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.base }}
  325. ${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.date }}
  326. build-args: |
  327. JITSI_REPO=${{ secrets.JITSI_REPO }}
  328. BASE_TAG=${{ needs.version.outputs.base }}
  329. platforms: linux/amd64,linux/arm64
  330. cache-from: type=gha
  331. cache-to: type=gha,mode=max
  332. - name: Dryrun
  333. uses: docker/build-push-action@v2
  334. if: ${{ github.event_name == 'pull_request' }}
  335. with:
  336. context: ./prosody
  337. tags: |
  338. jitsi/prosody:${{ needs.version.outputs.base }}
  339. jitsi/prosody:${{ needs.version.outputs.date }}
  340. build-args: |
  341. JITSI_REPO=jitsi
  342. BASE_TAG=${{ needs.version.outputs.base }}
  343. platforms: linux/amd64,linux/arm64
  344. cache-from: type=gha
  345. cache-to: type=gha,mode=max
  346. web:
  347. runs-on: ubuntu-latest
  348. needs: [version, base]
  349. steps:
  350. - name: Check out code
  351. uses: actions/checkout@v3
  352. - name: Set up QEMU
  353. uses: docker/setup-qemu-action@v1
  354. with:
  355. platforms: linux/amd64,linux/arm64
  356. - name: Setup Docker Buildx
  357. uses: docker/setup-buildx-action@v1
  358. - name: Login to DockerHub
  359. uses: docker/login-action@v1
  360. if: ${{ github.event_name != 'pull_request' }}
  361. with:
  362. username: ${{ secrets.DOCKERHUB_USERNAME }}
  363. password: ${{ secrets.DOCKERHUB_TOKEN }}
  364. - name: Build and push
  365. uses: docker/build-push-action@v2
  366. if: ${{ github.event_name != 'pull_request' }}
  367. with:
  368. push: true
  369. context: ./web
  370. tags: |
  371. ${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.base }}
  372. ${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.date }}
  373. build-args: |
  374. JITSI_REPO=${{ secrets.JITSI_REPO }}
  375. BASE_TAG=${{ needs.version.outputs.base }}
  376. platforms: linux/amd64,linux/arm64
  377. cache-from: type=gha
  378. cache-to: type=gha,mode=max
  379. - name: Dryrun
  380. uses: docker/build-push-action@v2
  381. if: ${{ github.event_name == 'pull_request' }}
  382. with:
  383. context: ./web
  384. tags: |
  385. jitsi/web:${{ needs.version.outputs.base }}
  386. jitsi/web:${{ needs.version.outputs.date }}
  387. build-args: |
  388. JITSI_REPO=jitsi
  389. BASE_TAG=${{ needs.version.outputs.base }}
  390. platforms: linux/amd64,linux/arm64
  391. cache-from: type=gha
  392. cache-to: type=gha,mode=max