unstable.yml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  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. - name: Dryrun
  48. uses: docker/build-push-action@v2
  49. if: ${{ github.event_name == 'pull_request' }}
  50. with:
  51. context: ./base
  52. tags: |
  53. jitsi/base:${{ needs.version.outputs.base }}
  54. jitsi/base:${{ needs.version.outputs.date }}
  55. build-args: |
  56. JITSI_RELEASE=unstable
  57. platforms: linux/amd64,linux/arm64
  58. base-java:
  59. runs-on: ubuntu-latest
  60. needs: [version, base]
  61. steps:
  62. - name: Check out code
  63. uses: actions/checkout@v3
  64. - name: Set up QEMU
  65. uses: docker/setup-qemu-action@v1
  66. with:
  67. platforms: linux/amd64,linux/arm64
  68. - name: Setup Docker Buildx
  69. uses: docker/setup-buildx-action@v1
  70. - name: Login to DockerHub
  71. uses: docker/login-action@v1
  72. if: ${{ github.event_name != 'pull_request' }}
  73. with:
  74. username: ${{ secrets.DOCKERHUB_USERNAME }}
  75. password: ${{ secrets.DOCKERHUB_TOKEN }}
  76. - name: Build and push
  77. uses: docker/build-push-action@v2
  78. if: ${{ github.event_name != 'pull_request' }}
  79. with:
  80. push: true
  81. context: ./base-java
  82. tags: |
  83. ${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.base }}
  84. ${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.date }}
  85. build-args: |
  86. JITSI_REPO=${{ secrets.JITSI_REPO }}
  87. BASE_TAG=${{ needs.version.outputs.base }}
  88. platforms: linux/amd64,linux/arm64
  89. - name: Dryrun
  90. uses: docker/build-push-action@v2
  91. if: ${{ github.event_name == 'pull_request' }}
  92. with:
  93. context: ./base-java
  94. tags: |
  95. jitsi/base-java:${{ needs.version.outputs.base }}
  96. jitsi/base-java:${{ needs.version.outputs.date }}
  97. build-args: |
  98. JITSI_REPO=jitsi
  99. BASE_TAG=${{ needs.version.outputs.base }}
  100. platforms: linux/amd64,linux/arm64
  101. jibri:
  102. runs-on: ubuntu-latest
  103. needs: [version, base-java]
  104. steps:
  105. - name: Check out code
  106. uses: actions/checkout@v3
  107. - name: Set up QEMU
  108. uses: docker/setup-qemu-action@v1
  109. with:
  110. platforms: linux/amd64,linux/arm64
  111. - name: Setup Docker Buildx
  112. uses: docker/setup-buildx-action@v1
  113. - name: Login to DockerHub
  114. uses: docker/login-action@v1
  115. if: ${{ github.event_name != 'pull_request' }}
  116. with:
  117. username: ${{ secrets.DOCKERHUB_USERNAME }}
  118. password: ${{ secrets.DOCKERHUB_TOKEN }}
  119. - name: Build and push
  120. uses: docker/build-push-action@v2
  121. if: ${{ github.event_name != 'pull_request' }}
  122. with:
  123. push: true
  124. context: ./jibri
  125. tags: |
  126. ${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.base }}
  127. ${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.date }}
  128. build-args: |
  129. JITSI_REPO=${{ secrets.JITSI_REPO }}
  130. BASE_TAG=${{ needs.version.outputs.base }}
  131. # FIXME jibri does not support linux/arm64
  132. platforms: linux/amd64
  133. - name: Dryrun
  134. uses: docker/build-push-action@v2
  135. if: ${{ github.event_name == 'pull_request' }}
  136. with:
  137. context: ./jibri
  138. tags: |
  139. jitsi/jibri:${{ needs.version.outputs.base }}
  140. jitsi/jibri:${{ needs.version.outputs.date }}
  141. build-args: |
  142. JITSI_REPO=jitsi
  143. BASE_TAG=${{ needs.version.outputs.base }}
  144. # FIXME jibri does not support linux/arm64
  145. platforms: linux/amd64
  146. jicofo:
  147. runs-on: ubuntu-latest
  148. needs: [version, base-java]
  149. steps:
  150. - name: Check out code
  151. uses: actions/checkout@v3
  152. - name: Set up QEMU
  153. uses: docker/setup-qemu-action@v1
  154. with:
  155. platforms: linux/amd64,linux/arm64
  156. - name: Setup Docker Buildx
  157. uses: docker/setup-buildx-action@v1
  158. - name: Login to DockerHub
  159. uses: docker/login-action@v1
  160. if: ${{ github.event_name != 'pull_request' }}
  161. with:
  162. username: ${{ secrets.DOCKERHUB_USERNAME }}
  163. password: ${{ secrets.DOCKERHUB_TOKEN }}
  164. - name: Build and push
  165. uses: docker/build-push-action@v2
  166. if: ${{ github.event_name != 'pull_request' }}
  167. with:
  168. push: true
  169. context: ./jicofo
  170. tags: |
  171. ${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.base }}
  172. ${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.date }}
  173. build-args: |
  174. JITSI_REPO=${{ secrets.JITSI_REPO }}
  175. BASE_TAG=${{ needs.version.outputs.base }}
  176. platforms: linux/amd64,linux/arm64
  177. - name: Dryrun
  178. uses: docker/build-push-action@v2
  179. if: ${{ github.event_name == 'pull_request' }}
  180. with:
  181. context: ./jicofo
  182. tags: |
  183. jitsi/jicofo:${{ needs.version.outputs.base }}
  184. jitsi/jicofo:${{ needs.version.outputs.date }}
  185. build-args: |
  186. JITSI_REPO=jitsi
  187. BASE_TAG=${{ needs.version.outputs.base }}
  188. platforms: linux/amd64,linux/arm64
  189. jigasi:
  190. runs-on: ubuntu-latest
  191. needs: [version, base-java]
  192. steps:
  193. - name: Check out code
  194. uses: actions/checkout@v3
  195. - name: Set up QEMU
  196. uses: docker/setup-qemu-action@v1
  197. with:
  198. platforms: linux/amd64,linux/arm64
  199. - name: Setup Docker Buildx
  200. uses: docker/setup-buildx-action@v1
  201. - name: Login to DockerHub
  202. uses: docker/login-action@v1
  203. if: ${{ github.event_name != 'pull_request' }}
  204. with:
  205. username: ${{ secrets.DOCKERHUB_USERNAME }}
  206. password: ${{ secrets.DOCKERHUB_TOKEN }}
  207. - name: Build and push
  208. uses: docker/build-push-action@v2
  209. if: ${{ github.event_name != 'pull_request' }}
  210. with:
  211. push: true
  212. context: ./jigasi
  213. tags: |
  214. ${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.base }}
  215. ${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.date }}
  216. build-args: |
  217. JITSI_REPO=${{ secrets.JITSI_REPO }}
  218. BASE_TAG=${{ needs.version.outputs.base }}
  219. # FIXME jigasi does not support linux/arm64
  220. platforms: linux/amd64
  221. - name: Dryrun
  222. uses: docker/build-push-action@v2
  223. if: ${{ github.event_name == 'pull_request' }}
  224. with:
  225. context: ./jigasi
  226. tags: |
  227. jitsi/jigasi:${{ needs.version.outputs.base }}
  228. jitsi/jigasi:${{ needs.version.outputs.date }}
  229. build-args: |
  230. JITSI_REPO=jitsi
  231. BASE_TAG=${{ needs.version.outputs.base }}
  232. # FIXME jigasi does not support linux/arm64
  233. platforms: linux/amd64
  234. jvb:
  235. runs-on: ubuntu-latest
  236. needs: [version, base-java]
  237. steps:
  238. - name: Check out code
  239. uses: actions/checkout@v3
  240. - name: Set up QEMU
  241. uses: docker/setup-qemu-action@v1
  242. with:
  243. platforms: linux/amd64,linux/arm64
  244. - name: Setup Docker Buildx
  245. uses: docker/setup-buildx-action@v1
  246. - name: Login to DockerHub
  247. uses: docker/login-action@v1
  248. if: ${{ github.event_name != 'pull_request' }}
  249. with:
  250. username: ${{ secrets.DOCKERHUB_USERNAME }}
  251. password: ${{ secrets.DOCKERHUB_TOKEN }}
  252. - name: Build and push
  253. uses: docker/build-push-action@v2
  254. if: ${{ github.event_name != 'pull_request' }}
  255. with:
  256. push: true
  257. context: ./jvb
  258. tags: |
  259. ${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.base }}
  260. ${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.date }}
  261. build-args: |
  262. JITSI_REPO=${{ secrets.JITSI_REPO }}
  263. BASE_TAG=${{ needs.version.outputs.base }}
  264. platforms: linux/amd64,linux/arm64
  265. - name: Dryrun
  266. uses: docker/build-push-action@v2
  267. if: ${{ github.event_name == 'pull_request' }}
  268. with:
  269. context: ./jvb
  270. tags: |
  271. jitsi/jvb:${{ needs.version.outputs.base }}
  272. jitsi/jvb:${{ needs.version.outputs.date }}
  273. build-args: |
  274. JITSI_REPO=jitsi
  275. BASE_TAG=${{ needs.version.outputs.base }}
  276. platforms: linux/amd64,linux/arm64
  277. prosody:
  278. runs-on: ubuntu-latest
  279. needs: [version, base]
  280. steps:
  281. - name: Check out code
  282. uses: actions/checkout@v3
  283. - name: Set up QEMU
  284. uses: docker/setup-qemu-action@v1
  285. with:
  286. platforms: linux/amd64,linux/arm64
  287. - name: Setup Docker Buildx
  288. uses: docker/setup-buildx-action@v1
  289. - name: Login to DockerHub
  290. uses: docker/login-action@v1
  291. if: ${{ github.event_name != 'pull_request' }}
  292. with:
  293. username: ${{ secrets.DOCKERHUB_USERNAME }}
  294. password: ${{ secrets.DOCKERHUB_TOKEN }}
  295. - name: Build and push
  296. uses: docker/build-push-action@v2
  297. if: ${{ github.event_name != 'pull_request' }}
  298. with:
  299. push: true
  300. context: ./prosody
  301. tags: |
  302. ${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.base }}
  303. ${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.date }}
  304. build-args: |
  305. JITSI_REPO=${{ secrets.JITSI_REPO }}
  306. BASE_TAG=${{ needs.version.outputs.base }}
  307. platforms: linux/amd64,linux/arm64
  308. - name: Dryrun
  309. uses: docker/build-push-action@v2
  310. if: ${{ github.event_name == 'pull_request' }}
  311. with:
  312. context: ./prosody
  313. tags: |
  314. jitsi/prosody:${{ needs.version.outputs.base }}
  315. jitsi/prosody:${{ needs.version.outputs.date }}
  316. build-args: |
  317. JITSI_REPO=jitsi
  318. BASE_TAG=${{ needs.version.outputs.base }}
  319. platforms: linux/amd64,linux/arm64
  320. web:
  321. runs-on: ubuntu-latest
  322. needs: [version, base]
  323. steps:
  324. - name: Check out code
  325. uses: actions/checkout@v3
  326. - name: Set up QEMU
  327. uses: docker/setup-qemu-action@v1
  328. with:
  329. platforms: linux/amd64,linux/arm64
  330. - name: Setup Docker Buildx
  331. uses: docker/setup-buildx-action@v1
  332. - name: Login to DockerHub
  333. uses: docker/login-action@v1
  334. if: ${{ github.event_name != 'pull_request' }}
  335. with:
  336. username: ${{ secrets.DOCKERHUB_USERNAME }}
  337. password: ${{ secrets.DOCKERHUB_TOKEN }}
  338. - name: Build and push
  339. uses: docker/build-push-action@v2
  340. if: ${{ github.event_name != 'pull_request' }}
  341. with:
  342. push: true
  343. context: ./web
  344. tags: |
  345. ${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.base }}
  346. ${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.date }}
  347. build-args: |
  348. JITSI_REPO=${{ secrets.JITSI_REPO }}
  349. BASE_TAG=${{ needs.version.outputs.base }}
  350. platforms: linux/amd64,linux/arm64
  351. - name: Dryrun
  352. uses: docker/build-push-action@v2
  353. if: ${{ github.event_name == 'pull_request' }}
  354. with:
  355. context: ./web
  356. tags: |
  357. jitsi/web:${{ needs.version.outputs.base }}
  358. jitsi/web:${{ needs.version.outputs.date }}
  359. build-args: |
  360. JITSI_REPO=jitsi
  361. BASE_TAG=${{ needs.version.outputs.base }}
  362. platforms: linux/amd64,linux/arm64