123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317 |
- name: Unstable Build
- on:
- schedule:
- - cron: "0 6 * * *"
- workflow_dispatch:
- jobs:
- version:
- runs-on: ubuntu-latest
- outputs:
- base: unstable
- date: unstable-${{ steps.date.outputs.date }}
- prosody_version: prosody-${{ steps.prosody_version.outputs.version }}
- jicofo_version: jicofo-${{ steps.jicofo_version.outputs.version }}
- web_version: web-${{ steps.web_version.outputs.version }}
- jvb_version: jvb-${{ steps.jvb_version.outputs.version }}
- jibri_version: jibri-${{ steps.jibri_version.outputs.version }}
- jigasi_version: jigasi-${{ steps.jigasi_version.outputs.version }}
- steps:
- - name: Get current date
- id: date
- run: echo "date=$(date +%F)">> $GITHUB_OUTPUT
- - name: Prosody gpg key
- id: prosody_gpg_key
- run: curl --location --silent --show-error https://prosody.im/files/prosody-debian-packages.key | sudo dd of=/etc/apt/trusted.gpg.d/prosody.gpg
- - name: Prosody repo
- uses: myci-actions/add-deb-repo@11
- with:
- repo: deb https://packages.prosody.im/debian bookworm main
- repo-name: prosody
- keys-asc: https://prosody.im/files/prosody-debian-packages.key
- - name: Jitsi repo
- uses: myci-actions/add-deb-repo@11
- with:
- repo: deb https://download.jitsi.org/ unstable/
- repo-name: jitsi
- keys-asc: https://download.jitsi.org/jitsi-key.gpg.key
- - name: Get current jicofo versions
- id: jicofo_version
- run: echo "version=$( apt-cache show jitsi-meet | head -10 | grep '^Depends:' | tr ',' '\n' | grep jicofo | cut -d'=' -f2 | tr -d ')' | awk '{print $1}' )" >> $GITHUB_OUTPUT
- - name: Get current jitsi-meet-web versions
- id: web_version
- run: echo "version=$( apt-cache show jitsi-meet | head -10 | grep '^Depends:' | tr ',' '\n' | grep 'jitsi-meet-web ' | cut -d'=' -f2 | tr -d ')' | awk '{print $1}' )" >> $GITHUB_OUTPUT
- - name: Get current jvb versions
- id: jvb_version
- run: echo "version=$( apt-cache show jitsi-meet | head -10 | grep '^Pre-Depends:'| tr ',' '\n' | grep 'jitsi-videobridge2' | cut -d'=' -f2 | tr -d ')' | awk '{print $1}' )" >> $GITHUB_OUTPUT
- - name: Get current prosody versions
- id: prosody_version
- run: echo "version=$( apt-cache madison prosody | awk '{print $3;}' | head -1 | cut -d'-' -f1 )" >> $GITHUB_OUTPUT
- - name: Get current jibri version
- id: jibri_version
- run: echo "version=$( apt-cache show jibri | head -10 | grep Version | awk '{print $2}' )" >> $GITHUB_OUTPUT
- - name: Get current jigasi version
- id: jigasi_version
- run: echo "version=$( apt-cache show jigasi | head -10 | grep Version | awk '{print $2}' )" >> $GITHUB_OUTPUT
- base:
- runs-on: ubuntu-latest
- needs: version
- steps:
- - name: Check out code
- uses: actions/checkout@v3
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v1
- with:
- platforms: linux/amd64,linux/arm64
- - name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v1
- - name: Login to DockerHub
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build and push
- uses: docker/build-push-action@v2
- with:
- push: true
- context: ./base
- tags: |
- ${{ secrets.JITSI_REPO }}/base:${{ needs.version.outputs.base }}
- ${{ secrets.JITSI_REPO }}/base:${{ needs.version.outputs.date }}
- build-args: |
- JITSI_RELEASE=unstable
- platforms: linux/amd64,linux/arm64
- cache-from: type=gha
- cache-to: type=gha,mode=max
- base-java:
- runs-on: ubuntu-latest
- needs: [version, base]
- steps:
- - name: Check out code
- uses: actions/checkout@v3
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v1
- with:
- platforms: linux/amd64,linux/arm64
- - name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v1
- - name: Login to DockerHub
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build and push
- uses: docker/build-push-action@v2
- with:
- push: true
- context: ./base-java
- tags: |
- ${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.base }}
- ${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.date }}
- build-args: |
- JITSI_REPO=${{ secrets.JITSI_REPO }}
- BASE_TAG=${{ needs.version.outputs.base }}
- platforms: linux/amd64,linux/arm64
- cache-from: type=gha
- cache-to: type=gha,mode=max
- jibri:
- runs-on: ubuntu-latest
- needs: [version, base-java]
- steps:
- - name: Check out code
- uses: actions/checkout@v3
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v1
- with:
- platforms: linux/amd64,linux/arm64
- - name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v1
- - name: Login to DockerHub
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build and push
- uses: docker/build-push-action@v2
- with:
- push: true
- context: ./jibri
- tags: |
- ${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.base }}
- ${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.date }}
- ${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.jibri_version }}
- build-args: |
- JITSI_REPO=${{ secrets.JITSI_REPO }}
- BASE_TAG=${{ needs.version.outputs.base }}
- platforms: linux/amd64,linux/arm64
- cache-from: type=gha
- cache-to: type=gha,mode=max
- jicofo:
- runs-on: ubuntu-latest
- needs: [version, base-java]
- steps:
- - name: Check out code
- uses: actions/checkout@v3
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v1
- with:
- platforms: linux/amd64,linux/arm64
- - name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v1
- - name: Login to DockerHub
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build and push
- uses: docker/build-push-action@v2
- with:
- push: true
- context: ./jicofo
- tags: |
- ${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.base }}
- ${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.date }}
- ${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.jicofo_version }}
- build-args: |
- JITSI_REPO=${{ secrets.JITSI_REPO }}
- BASE_TAG=${{ needs.version.outputs.base }}
- platforms: linux/amd64,linux/arm64
- cache-from: type=gha
- cache-to: type=gha,mode=max
- jigasi:
- runs-on: ubuntu-latest
- needs: [version, base-java]
- steps:
- - name: Check out code
- uses: actions/checkout@v3
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v1
- with:
- platforms: linux/amd64,linux/arm64
- - name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v1
- - name: Login to DockerHub
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build and push
- uses: docker/build-push-action@v2
- with:
- push: true
- context: ./jigasi
- tags: |
- ${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.base }}
- ${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.date }}
- ${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.jigasi_version }}
- build-args: |
- JITSI_REPO=${{ secrets.JITSI_REPO }}
- BASE_TAG=${{ needs.version.outputs.base }}
- platforms: linux/amd64,linux/arm64
- cache-from: type=gha
- cache-to: type=gha,mode=max
- jvb:
- runs-on: ubuntu-latest
- needs: [version, base-java]
- steps:
- - name: Check out code
- uses: actions/checkout@v3
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v1
- with:
- platforms: linux/amd64,linux/arm64
- - name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v1
- - name: Login to DockerHub
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build and push
- uses: docker/build-push-action@v2
- with:
- push: true
- context: ./jvb
- tags: |
- ${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.base }}
- ${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.date }}
- ${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.jvb_version }}
- build-args: |
- JITSI_REPO=${{ secrets.JITSI_REPO }}
- BASE_TAG=${{ needs.version.outputs.base }}
- platforms: linux/amd64,linux/arm64
- cache-from: type=gha
- cache-to: type=gha,mode=max
- prosody:
- runs-on: ubuntu-latest
- needs: [version, base]
- steps:
- - name: Check out code
- uses: actions/checkout@v3
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v1
- with:
- platforms: linux/amd64,linux/arm64
- - name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v1
- - name: Login to DockerHub
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build and push
- uses: docker/build-push-action@v2
- with:
- push: true
- context: ./prosody
- tags: |
- ${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.base }}
- ${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.date }}
- ${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.prosody_version }}
- build-args: |
- JITSI_REPO=${{ secrets.JITSI_REPO }}
- BASE_TAG=${{ needs.version.outputs.base }}
- platforms: linux/amd64,linux/arm64
- cache-from: type=gha
- cache-to: type=gha,mode=max
- web:
- runs-on: ubuntu-latest
- needs: [version, base]
- steps:
- - name: Check out code
- uses: actions/checkout@v3
- - name: Set up QEMU
- uses: docker/setup-qemu-action@v1
- with:
- platforms: linux/amd64,linux/arm64
- - name: Setup Docker Buildx
- uses: docker/setup-buildx-action@v1
- - name: Login to DockerHub
- uses: docker/login-action@v1
- with:
- username: ${{ secrets.DOCKERHUB_USERNAME }}
- password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build and push
- uses: docker/build-push-action@v2
- with:
- push: true
- context: ./web
- tags: |
- ${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.base }}
- ${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.date }}
- ${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.web_version }}
- build-args: |
- JITSI_REPO=${{ secrets.JITSI_REPO }}
- BASE_TAG=${{ needs.version.outputs.base }}
- platforms: linux/amd64,linux/arm64
- cache-from: type=gha
- cache-to: type=gha,mode=max
|