unstable.yml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  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. platforms: linux/amd64,linux/arm64
  234. cache-from: type=gha
  235. cache-to: type=gha,mode=max
  236. - name: Dryrun
  237. uses: docker/build-push-action@v2
  238. if: ${{ github.event_name == 'pull_request' }}
  239. with:
  240. context: ./jigasi
  241. tags: |
  242. jitsi/jigasi:${{ needs.version.outputs.base }}
  243. jitsi/jigasi:${{ needs.version.outputs.date }}
  244. build-args: |
  245. JITSI_REPO=jitsi
  246. BASE_TAG=${{ needs.version.outputs.base }}
  247. platforms: linux/amd64,linux/arm64
  248. cache-from: type=gha
  249. cache-to: type=gha,mode=max
  250. jvb:
  251. runs-on: ubuntu-latest
  252. needs: [version, base-java]
  253. steps:
  254. - name: Check out code
  255. uses: actions/checkout@v3
  256. - name: Set up QEMU
  257. uses: docker/setup-qemu-action@v1
  258. with:
  259. platforms: linux/amd64,linux/arm64
  260. - name: Setup Docker Buildx
  261. uses: docker/setup-buildx-action@v1
  262. - name: Login to DockerHub
  263. uses: docker/login-action@v1
  264. if: ${{ github.event_name != 'pull_request' }}
  265. with:
  266. username: ${{ secrets.DOCKERHUB_USERNAME }}
  267. password: ${{ secrets.DOCKERHUB_TOKEN }}
  268. - name: Build and push
  269. uses: docker/build-push-action@v2
  270. if: ${{ github.event_name != 'pull_request' }}
  271. with:
  272. push: true
  273. context: ./jvb
  274. tags: |
  275. ${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.base }}
  276. ${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.date }}
  277. build-args: |
  278. JITSI_REPO=${{ secrets.JITSI_REPO }}
  279. BASE_TAG=${{ needs.version.outputs.base }}
  280. platforms: linux/amd64,linux/arm64
  281. cache-from: type=gha
  282. cache-to: type=gha,mode=max
  283. - name: Dryrun
  284. uses: docker/build-push-action@v2
  285. if: ${{ github.event_name == 'pull_request' }}
  286. with:
  287. context: ./jvb
  288. tags: |
  289. jitsi/jvb:${{ needs.version.outputs.base }}
  290. jitsi/jvb:${{ needs.version.outputs.date }}
  291. build-args: |
  292. JITSI_REPO=jitsi
  293. BASE_TAG=${{ needs.version.outputs.base }}
  294. platforms: linux/amd64,linux/arm64
  295. cache-from: type=gha
  296. cache-to: type=gha,mode=max
  297. prosody:
  298. runs-on: ubuntu-latest
  299. needs: [version, base]
  300. steps:
  301. - name: Check out code
  302. uses: actions/checkout@v3
  303. - name: Set up QEMU
  304. uses: docker/setup-qemu-action@v1
  305. with:
  306. platforms: linux/amd64,linux/arm64
  307. - name: Setup Docker Buildx
  308. uses: docker/setup-buildx-action@v1
  309. - name: Login to DockerHub
  310. uses: docker/login-action@v1
  311. if: ${{ github.event_name != 'pull_request' }}
  312. with:
  313. username: ${{ secrets.DOCKERHUB_USERNAME }}
  314. password: ${{ secrets.DOCKERHUB_TOKEN }}
  315. - name: Build and push
  316. uses: docker/build-push-action@v2
  317. if: ${{ github.event_name != 'pull_request' }}
  318. with:
  319. push: true
  320. context: ./prosody
  321. tags: |
  322. ${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.base }}
  323. ${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.date }}
  324. build-args: |
  325. JITSI_REPO=${{ secrets.JITSI_REPO }}
  326. BASE_TAG=${{ needs.version.outputs.base }}
  327. platforms: linux/amd64,linux/arm64
  328. cache-from: type=gha
  329. cache-to: type=gha,mode=max
  330. - name: Dryrun
  331. uses: docker/build-push-action@v2
  332. if: ${{ github.event_name == 'pull_request' }}
  333. with:
  334. context: ./prosody
  335. tags: |
  336. jitsi/prosody:${{ needs.version.outputs.base }}
  337. jitsi/prosody:${{ needs.version.outputs.date }}
  338. build-args: |
  339. JITSI_REPO=jitsi
  340. BASE_TAG=${{ needs.version.outputs.base }}
  341. platforms: linux/amd64,linux/arm64
  342. cache-from: type=gha
  343. cache-to: type=gha,mode=max
  344. web:
  345. runs-on: ubuntu-latest
  346. needs: [version, base]
  347. steps:
  348. - name: Check out code
  349. uses: actions/checkout@v3
  350. - name: Set up QEMU
  351. uses: docker/setup-qemu-action@v1
  352. with:
  353. platforms: linux/amd64,linux/arm64
  354. - name: Setup Docker Buildx
  355. uses: docker/setup-buildx-action@v1
  356. - name: Login to DockerHub
  357. uses: docker/login-action@v1
  358. if: ${{ github.event_name != 'pull_request' }}
  359. with:
  360. username: ${{ secrets.DOCKERHUB_USERNAME }}
  361. password: ${{ secrets.DOCKERHUB_TOKEN }}
  362. - name: Build and push
  363. uses: docker/build-push-action@v2
  364. if: ${{ github.event_name != 'pull_request' }}
  365. with:
  366. push: true
  367. context: ./web
  368. tags: |
  369. ${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.base }}
  370. ${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.date }}
  371. build-args: |
  372. JITSI_REPO=${{ secrets.JITSI_REPO }}
  373. BASE_TAG=${{ needs.version.outputs.base }}
  374. platforms: linux/amd64,linux/arm64
  375. cache-from: type=gha
  376. cache-to: type=gha,mode=max
  377. - name: Dryrun
  378. uses: docker/build-push-action@v2
  379. if: ${{ github.event_name == 'pull_request' }}
  380. with:
  381. context: ./web
  382. tags: |
  383. jitsi/web:${{ needs.version.outputs.base }}
  384. jitsi/web:${{ needs.version.outputs.date }}
  385. build-args: |
  386. JITSI_REPO=jitsi
  387. BASE_TAG=${{ needs.version.outputs.base }}
  388. platforms: linux/amd64,linux/arm64
  389. cache-from: type=gha
  390. cache-to: type=gha,mode=max