ci.yml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. name: CI Test Build
  2. on:
  3. pull_request:
  4. push:
  5. branches:
  6. - master
  7. jobs:
  8. lint:
  9. name: Lint
  10. runs-on: ubuntu-latest
  11. steps:
  12. - uses: actions/checkout@v4
  13. - uses: actions/setup-node@v4
  14. - name: Check Node / npm versions
  15. run: |
  16. node -v
  17. npm -v
  18. - name: setup tpl
  19. run: |
  20. dpkgArch="$(dpkg --print-architecture)"
  21. case "${dpkgArch##*-}" in \
  22. "amd64") TPL_ARCH=amd64; S6_ARCH=amd64 ;; \
  23. "arm64") TPL_ARCH=arm64; S6_ARCH=aarch64 ;; \
  24. *) echo "unsupported architecture"; exit 1 ;; \
  25. esac
  26. wget -qO /tmp/tpl https://github.com/jitsi/tpl/releases/download/v1.4.0/tpl-linux-${TPL_ARCH}
  27. chmod +x /tmp/tpl
  28. - name: Run tpl with default values for web
  29. run: |
  30. /tmp/tpl web/rootfs/defaults/system-config.js > /tmp/config.js
  31. /tmp/tpl web/rootfs/defaults/settings-config.js >> /tmp/config.js
  32. - name: Check config.js syntax
  33. run: node /tmp/config.js
  34. - name: Run tpl with default values for jvb
  35. run: |
  36. /tmp/tpl jvb/rootfs/defaults/jvb.conf > /tmp/jvb.conf
  37. /tmp/tpl jvb/rootfs/defaults/logging.properties > /tmp/logging.properties
  38. /tmp/tpl jvb/rootfs/defaults/autoscaler-sidecar.config > /tmp/autoscaler-sidecar.config
  39. - name: Run tpl with default values for jicofo
  40. run: |
  41. /tmp/tpl jicofo/rootfs/defaults/jicofo.conf > /tmp/jicofo.conf
  42. /tmp/tpl jicofo/rootfs/defaults/logging.properties > /tmp/logging.properties
  43. - name: Run tpl with default values for jibri
  44. run: |
  45. /tmp/tpl jibri/rootfs/defaults/jibri.conf > /tmp/jibri.conf
  46. /tmp/tpl jibri/rootfs/defaults/logging.properties > /tmp/logging.properties
  47. /tmp/tpl jibri/rootfs/defaults/xmpp.conf > /tmp/xmpp.conf
  48. /tmp/tpl jibri/rootfs/defaults/xorg-video-dummy.conf > /tmp/xorg-video-dummy.conf
  49. /tmp/tpl jibri/rootfs/defaults/autoscaler-sidecar.config > /tmp/autoscaler-sidecar.config
  50. - name: Run tpl with default values for jigasi
  51. run: |
  52. /tmp/tpl jigasi/rootfs/defaults/sip-communicator.properties > /tmp/sip-communicator.properties
  53. /tmp/tpl jigasi/rootfs/defaults/sipserver-sip-communicator.properties > /tmp/xmpp-sip-communicator.properties
  54. /tmp/tpl jigasi/rootfs/defaults/transcriber-sip-communicator.properties > /tmp/xmpp-sip-communicator.properties
  55. /tmp/tpl jigasi/rootfs/defaults/xmpp-sip-communicator.properties > /tmp/xmpp-sip-communicator.properties
  56. /tmp/tpl jigasi/rootfs/defaults/logging.properties > /tmp/logging.properties
  57. /tmp/tpl jigasi/rootfs/defaults/autoscaler-sidecar.config > /tmp/autoscaler-sidecar.config
  58. - name: Run tpl with default values for prosody
  59. run: |
  60. /tmp/tpl prosody/rootfs/defaults/prosody.cfg.lua > /tmp/prosody.cfg.lua
  61. /tmp/tpl prosody/rootfs/defaults/saslauthd.conf > /tmp/saslauthd.conf
  62. /tmp/tpl prosody/rootfs/defaults/conf.d/jitsi-meet.cfg.lua > /tmp/jitsi-meet.cfg.lua
  63. /tmp/tpl prosody/rootfs/defaults/conf.d/brewery.cfg.lua > /tmp/brewery.cfg.lua
  64. /tmp/tpl prosody/rootfs/defaults/conf.d/visitors.cfg.lua > /tmp/visitors.cfg.lua
  65. /tmp/tpl prosody/rootfs/defaults/rules.d/jvb_muc_presence_filter.pfw > /tmp/jvb_muc_presence_filter.pfw
  66. build:
  67. runs-on: ubuntu-latest
  68. steps:
  69. - name: Check out code
  70. uses: actions/checkout@v3
  71. - name: Setup Docker Buildx
  72. uses: docker/setup-buildx-action@v2
  73. with:
  74. driver: docker
  75. - name: Build base
  76. uses: docker/build-push-action@v2
  77. with:
  78. context: ./base
  79. load: true
  80. tags: |
  81. jitsi/base:latest
  82. build-args: |
  83. JITSI_RELEASE=unstable
  84. - name: Build base-java
  85. uses: docker/build-push-action@v2
  86. with:
  87. context: ./base-java
  88. load: true
  89. tags: |
  90. jitsi/base-java:latest
  91. - name: Build jibri
  92. uses: docker/build-push-action@v2
  93. with:
  94. context: ./jibri
  95. load: true
  96. tags: |
  97. jitsi/jibri:latest
  98. - name: Build jicofo
  99. uses: docker/build-push-action@v2
  100. with:
  101. context: ./jicofo
  102. load: true
  103. tags: |
  104. jitsi/jicofo:latest
  105. - name: Build jigasi
  106. uses: docker/build-push-action@v2
  107. with:
  108. context: ./jigasi
  109. load: true
  110. tags: |
  111. jitsi/jigasi:latest
  112. - name: Build jvb
  113. uses: docker/build-push-action@v2
  114. with:
  115. context: ./jvb
  116. load: true
  117. tags: |
  118. jitsi/jvb:latest
  119. - name: Build prosody
  120. uses: docker/build-push-action@v2
  121. with:
  122. context: ./prosody
  123. load: true
  124. tags: |
  125. jitsi/prosody:latest
  126. - name: Build web
  127. uses: docker/build-push-action@v2
  128. with:
  129. context: ./web
  130. load: true
  131. tags: |
  132. jitsi/web:latest