You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
451 lines
17 KiB
451 lines
17 KiB
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
|
|
|