ci.yml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  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 system-config.js
  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. build:
  35. runs-on: ubuntu-latest
  36. steps:
  37. - name: Check out code
  38. uses: actions/checkout@v3
  39. - name: Setup Docker Buildx
  40. uses: docker/setup-buildx-action@v2
  41. with:
  42. driver: docker
  43. - name: Build base
  44. uses: docker/build-push-action@v2
  45. with:
  46. context: ./base
  47. load: true
  48. tags: |
  49. jitsi/base:latest
  50. build-args: |
  51. JITSI_RELEASE=unstable
  52. - name: Build base-java
  53. uses: docker/build-push-action@v2
  54. with:
  55. context: ./base-java
  56. load: true
  57. tags: |
  58. jitsi/base-java:latest
  59. - name: Build jibri
  60. uses: docker/build-push-action@v2
  61. with:
  62. context: ./jibri
  63. load: true
  64. tags: |
  65. jitsi/jibri:latest
  66. - name: Build jicofo
  67. uses: docker/build-push-action@v2
  68. with:
  69. context: ./jicofo
  70. load: true
  71. tags: |
  72. jitsi/jicofo:latest
  73. - name: Build jigasi
  74. uses: docker/build-push-action@v2
  75. with:
  76. context: ./jigasi
  77. load: true
  78. tags: |
  79. jitsi/jigasi:latest
  80. - name: Build jvb
  81. uses: docker/build-push-action@v2
  82. with:
  83. context: ./jvb
  84. load: true
  85. tags: |
  86. jitsi/jvb:latest
  87. - name: Build prosody
  88. uses: docker/build-push-action@v2
  89. with:
  90. context: ./prosody
  91. load: true
  92. tags: |
  93. jitsi/prosody:latest
  94. - name: Build web
  95. uses: docker/build-push-action@v2
  96. with:
  97. context: ./web
  98. load: true
  99. tags: |
  100. jitsi/web:latest