Unstable Build #1496
This file contains 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: | |
pull_request: | |
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 bullseye 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 | |
if: ${{ github.event_name != 'pull_request' }} | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name != 'pull_request' }} | |
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 | |
- name: Dryrun | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name == 'pull_request' }} | |
with: | |
context: ./base | |
tags: | | |
jitsi/base:${{ needs.version.outputs.base }} | |
jitsi/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 | |
if: ${{ github.event_name != 'pull_request' }} | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name != 'pull_request' }} | |
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 | |
- name: Dryrun | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name == 'pull_request' }} | |
with: | |
context: ./base-java | |
tags: | | |
jitsi/base-java:${{ needs.version.outputs.base }} | |
jitsi/base-java:${{ needs.version.outputs.date }} | |
build-args: | | |
JITSI_REPO=jitsi | |
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 | |
if: ${{ github.event_name != 'pull_request' }} | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name != 'pull_request' }} | |
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 | |
- name: Dryrun | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name == 'pull_request' }} | |
with: | |
context: ./jibri | |
tags: | | |
jitsi/jibri:${{ needs.version.outputs.base }} | |
jitsi/jibri:${{ needs.version.outputs.date }} | |
jitsi/jibri:${{ needs.version.outputs.jibri_version }} | |
build-args: | | |
JITSI_REPO=jitsi | |
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 | |
if: ${{ github.event_name != 'pull_request' }} | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name != 'pull_request' }} | |
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 | |
- name: Dryrun | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name == 'pull_request' }} | |
with: | |
context: ./jicofo | |
tags: | | |
jitsi/jicofo:${{ needs.version.outputs.base }} | |
jitsi/jicofo:${{ needs.version.outputs.date }} | |
jitsi/jicofo:${{ needs.version.outputs.jicofo_version }} | |
build-args: | | |
JITSI_REPO=jitsi | |
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 | |
if: ${{ github.event_name != 'pull_request' }} | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name != 'pull_request' }} | |
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 | |
- name: Dryrun | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name == 'pull_request' }} | |
with: | |
context: ./jigasi | |
tags: | | |
jitsi/jigasi:${{ needs.version.outputs.base }} | |
jitsi/jigasi:${{ needs.version.outputs.date }} | |
jitsi/jigasi:${{ needs.version.outputs.jigasi_version }} | |
build-args: | | |
JITSI_REPO=jitsi | |
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 | |
if: ${{ github.event_name != 'pull_request' }} | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name != 'pull_request' }} | |
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 | |
- name: Dryrun | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name == 'pull_request' }} | |
with: | |
context: ./jvb | |
tags: | | |
jitsi/jvb:${{ needs.version.outputs.base }} | |
jitsi/jvb:${{ needs.version.outputs.date }} | |
jitsi/jvb:${{ needs.version.outputs.jvb_version }} | |
build-args: | | |
JITSI_REPO=jitsi | |
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 | |
if: ${{ github.event_name != 'pull_request' }} | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name != 'pull_request' }} | |
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 | |
- name: Dryrun | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name == 'pull_request' }} | |
with: | |
context: ./prosody | |
tags: | | |
jitsi/prosody:${{ needs.version.outputs.base }} | |
jitsi/prosody:${{ needs.version.outputs.date }} | |
jitsi/prosody:${{ needs.version.outputs.prosody_version }} | |
build-args: | | |
JITSI_REPO=jitsi | |
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 | |
if: ${{ github.event_name != 'pull_request' }} | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name != 'pull_request' }} | |
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 | |
- name: Dryrun | |
uses: docker/build-push-action@v2 | |
if: ${{ github.event_name == 'pull_request' }} | |
with: | |
context: ./web | |
tags: | | |
jitsi/web:${{ needs.version.outputs.base }} | |
jitsi/web:${{ needs.version.outputs.date }} | |
jitsi/web:${{ needs.version.outputs.web_version }} | |
build-args: | | |
JITSI_REPO=jitsi | |
BASE_TAG=${{ needs.version.outputs.base }} | |
platforms: linux/amd64,linux/arm64 | |
cache-from: type=gha | |
cache-to: type=gha,mode=max |