Unstable Build #3872
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Unstable Build | |
on: | |
schedule: | |
- cron: "0 5 * * *" | |
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/keyrings/prosody.gpg | |
- name: Prosody dsa1024 key support | |
run: echo 'APT::Key::Assert-Pubkey-Algo ">=rsa2048,ed25519,ed448,dsa1024";' | sudo tee /etc/apt/apt.conf.d/99weakkey-warning | |
- name: Prosody repo | |
id: prosody_repo | |
run: echo "deb [signed-by=/etc/apt/keyrings/prosody.gpg] https://packages.prosody.im/debian bookworm main" | sudo tee /etc/apt/sources.list.d/prosody.list | |
- 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-arch: | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { os: ubuntu-24.04, arch: amd64 } | |
- { os: ubuntu-24.04-arm, arch: arm64 } | |
needs: version | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
driver: docker | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
push: true | |
context: ./base | |
tags: | | |
${{ secrets.JITSI_REPO }}/base:${{ needs.version.outputs.base }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/base:${{ needs.version.outputs.date }}-${{ matrix.config.arch }} | |
build-args: | | |
JITSI_RELEASE=unstable | |
base: | |
runs-on: ubuntu-latest | |
needs: [version, base-arch] | |
steps: | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Create Docker Manifest | |
uses: int128/docker-manifest-create-action@v2 | |
with: | |
tags: | | |
${{ secrets.JITSI_REPO }}/base:${{ needs.version.outputs.base }} | |
${{ secrets.JITSI_REPO }}/base:${{ needs.version.outputs.date }} | |
sources: | | |
${{ secrets.JITSI_REPO }}/base:${{ needs.version.outputs.base }}-amd64 | |
${{ secrets.JITSI_REPO }}/base:${{ needs.version.outputs.base }}-arm64 | |
base-java-arch: | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { os: ubuntu-24.04, arch: amd64 } | |
- { os: ubuntu-24.04-arm, arch: arm64 } | |
needs: [version, base] | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
driver: docker | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
push: true | |
context: ./base-java | |
tags: | | |
${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.base }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.date }}-${{ matrix.config.arch }} | |
build-args: | | |
JITSI_REPO=${{ secrets.JITSI_REPO }} | |
BASE_TAG=${{ needs.version.outputs.base }} | |
base-java: | |
runs-on: ubuntu-latest | |
needs: [version, base-java-arch] | |
steps: | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Create Docker Manifest | |
uses: int128/docker-manifest-create-action@v2 | |
with: | |
tags: | | |
${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.base }} | |
${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.date }} | |
sources: | | |
${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.base }}-amd64 | |
${{ secrets.JITSI_REPO }}/base-java:${{ needs.version.outputs.base }}-arm64 | |
jibri-arch: | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { os: ubuntu-24.04, arch: amd64 } | |
- { os: ubuntu-24.04-arm, arch: arm64 } | |
needs: [version, base-java] | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
driver: docker | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
push: true | |
context: ./jibri | |
tags: | | |
${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.base }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.date }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.jibri_version }}-${{ matrix.config.arch }} | |
build-args: | | |
JITSI_REPO=${{ secrets.JITSI_REPO }} | |
BASE_TAG=${{ needs.version.outputs.base }} | |
jibri: | |
runs-on: ubuntu-latest | |
needs: [version, jibri-arch] | |
steps: | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Create Docker Manifest | |
uses: int128/docker-manifest-create-action@v2 | |
with: | |
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 }} | |
sources: | | |
${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.base }}-amd64 | |
${{ secrets.JITSI_REPO }}/jibri:${{ needs.version.outputs.base }}-arm64 | |
jicofo-arch: | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { os: ubuntu-24.04, arch: amd64 } | |
- { os: ubuntu-24.04-arm, arch: arm64 } | |
needs: [version, base-java] | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
driver: docker | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
push: true | |
context: ./jicofo | |
tags: | | |
${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.base }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.date }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.jicofo_version }}-${{ matrix.config.arch }} | |
build-args: | | |
JITSI_REPO=${{ secrets.JITSI_REPO }} | |
BASE_TAG=${{ needs.version.outputs.base }} | |
jicofo: | |
runs-on: ubuntu-latest | |
needs: [version, jicofo-arch] | |
steps: | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Create Docker Manifest | |
uses: int128/docker-manifest-create-action@v2 | |
with: | |
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 }} | |
sources: | | |
${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.base }}-amd64 | |
${{ secrets.JITSI_REPO }}/jicofo:${{ needs.version.outputs.base }}-arm64 | |
jigasi-arch: | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { os: ubuntu-24.04, arch: amd64 } | |
- { os: ubuntu-24.04-arm, arch: arm64 } | |
needs: [version, base-java] | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
driver: docker | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
push: true | |
context: ./jigasi | |
tags: | | |
${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.base }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.date }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.jigasi_version }}-${{ matrix.config.arch }} | |
build-args: | | |
JITSI_REPO=${{ secrets.JITSI_REPO }} | |
BASE_TAG=${{ needs.version.outputs.base }} | |
jigasi: | |
runs-on: ubuntu-latest | |
needs: [version, jigasi-arch] | |
steps: | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Create Docker Manifest | |
uses: int128/docker-manifest-create-action@v2 | |
with: | |
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 }} | |
sources: | | |
${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.base }}-amd64 | |
${{ secrets.JITSI_REPO }}/jigasi:${{ needs.version.outputs.base }}-arm64 | |
jvb-arch: | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { os: ubuntu-24.04, arch: amd64 } | |
- { os: ubuntu-24.04-arm, arch: arm64 } | |
needs: [version, base-java] | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
driver: docker | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
push: true | |
context: ./jvb | |
tags: | | |
${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.base }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.date }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.jvb_version }}-${{ matrix.config.arch }} | |
build-args: | | |
JITSI_REPO=${{ secrets.JITSI_REPO }} | |
BASE_TAG=${{ needs.version.outputs.base }} | |
jvb: | |
runs-on: ubuntu-latest | |
needs: [version, jvb-arch] | |
steps: | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Create Docker Manifest | |
uses: int128/docker-manifest-create-action@v2 | |
with: | |
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 }} | |
sources: | | |
${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.base }}-amd64 | |
${{ secrets.JITSI_REPO }}/jvb:${{ needs.version.outputs.base }}-arm64 | |
prosody-arch: | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { os: ubuntu-24.04, arch: amd64 } | |
- { os: ubuntu-24.04-arm, arch: arm64 } | |
needs: [version, base] | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
driver: docker | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
push: true | |
context: ./prosody | |
tags: | | |
${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.base }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.date }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.prosody_version }}-${{ matrix.config.arch }} | |
build-args: | | |
JITSI_REPO=${{ secrets.JITSI_REPO }} | |
BASE_TAG=${{ needs.version.outputs.base }} | |
prosody: | |
runs-on: ubuntu-latest | |
needs: [version, prosody-arch] | |
steps: | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Create Docker Manifest | |
uses: int128/docker-manifest-create-action@v2 | |
with: | |
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 }} | |
sources: | | |
${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.base }}-amd64 | |
${{ secrets.JITSI_REPO }}/prosody:${{ needs.version.outputs.base }}-arm64 | |
web-arch: | |
runs-on: ${{ matrix.config.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: | |
- { os: ubuntu-24.04, arch: amd64 } | |
- { os: ubuntu-24.04-arm, arch: arm64 } | |
needs: [version, base] | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Setup Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
driver: docker | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
push: true | |
context: ./web | |
tags: | | |
${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.base }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.date }}-${{ matrix.config.arch }} | |
${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.web_version }}-${{ matrix.config.arch }} | |
build-args: | | |
JITSI_REPO=${{ secrets.JITSI_REPO }} | |
BASE_TAG=${{ needs.version.outputs.base }} | |
web: | |
runs-on: ubuntu-latest | |
needs: [version, web-arch] | |
steps: | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Create Docker Manifest | |
uses: int128/docker-manifest-create-action@v2 | |
with: | |
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 }} | |
sources: | | |
${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.base }}-amd64 | |
${{ secrets.JITSI_REPO }}/web:${{ needs.version.outputs.base }}-arm64 |