jibri: add support for arm64

Use Debian's Chromium and ChromeDriver instead of Google's.

This has the limitation of not being able to control the version we
ship, however.
This commit is contained in:
Saúl Ibarra Corretgé
2022-06-13 10:56:07 +02:00
parent 8d5a9cf1c9
commit 829841e1a4
6 changed files with 37 additions and 24 deletions

View File

@@ -141,8 +141,7 @@ jobs:
build-args: | build-args: |
JITSI_REPO=${{ secrets.JITSI_REPO }} JITSI_REPO=${{ secrets.JITSI_REPO }}
BASE_TAG=${{ needs.version.outputs.base }} BASE_TAG=${{ needs.version.outputs.base }}
# FIXME jibri does not support linux/arm64 platforms: linux/amd64,linux/arm64
platforms: linux/amd64
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max
- name: Dryrun - name: Dryrun
@@ -156,8 +155,7 @@ jobs:
build-args: | build-args: |
JITSI_REPO=jitsi JITSI_REPO=jitsi
BASE_TAG=${{ needs.version.outputs.base }} BASE_TAG=${{ needs.version.outputs.base }}
# FIXME jibri does not support linux/arm64 platforms: linux/amd64,linux/arm64
platforms: linux/amd64
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max

View File

@@ -4,15 +4,15 @@ JITSI_BUILD ?= unstable
JITSI_REPO ?= jitsi JITSI_REPO ?= jitsi
NATIVE_ARCH ?= $(shell uname -m) NATIVE_ARCH ?= $(shell uname -m)
JITSI_MULTIARCH_SERVICES := base base-java web prosody jicofo jvb JITSI_MULTIARCH_SERVICES := base base-java web prosody jicofo jvb jibri
JITSI_AMD64ONLY_SERVICES := jigasi jibri JITSI_AMD64ONLY_SERVICES := jigasi
ifeq ($(NATIVE_ARCH),x86_64) ifeq ($(NATIVE_ARCH),x86_64)
TARGETPLATFORM := linux/amd64 TARGETPLATFORM := linux/amd64
JITSI_SERVICES := base base-java web prosody jicofo jvb jigasi jibri JITSI_SERVICES := base base-java web prosody jicofo jvb jigasi jibri
else ifeq ($(NATIVE_ARCH),aarch64) else ifeq ($(NATIVE_ARCH),aarch64)
TARGETPLATFORM := linux/arm64 TARGETPLATFORM := linux/arm64
JITSI_SERVICES := base base-java web prosody jicofo jvb JITSI_SERVICES := base base-java web prosody jicofo jvb jibri
else else
TARGETPLATFORM := unsupported TARGETPLATFORM := unsupported
JITSI_SERVICES := dummy JITSI_SERVICES := dummy

View File

@@ -12,6 +12,8 @@ RUN apt-dpkg-wrap apt-get update && \
apt-dpkg-wrap apt-get install -y jibri libgl1-mesa-dri procps jitsi-upload-integrations jq && \ apt-dpkg-wrap apt-get install -y jibri libgl1-mesa-dri procps jitsi-upload-integrations jq && \
apt-cleanup apt-cleanup
ARG TARGETPLATFORM=unset
ARG USE_CHROMIUM=0
#ARG CHROME_RELEASE=latest #ARG CHROME_RELEASE=latest
#ARG CHROMEDRIVER_MAJOR_RELEASE=latest #ARG CHROMEDRIVER_MAJOR_RELEASE=latest
ARG CHROME_RELEASE=102.0.5005.61 ARG CHROME_RELEASE=102.0.5005.61

View File

@@ -2,25 +2,36 @@
set -o pipefail -xeu set -o pipefail -xeu
if [ "${CHROME_RELEASE}" = "latest" ]; then if [ "${USE_CHROMIUM}" = 1 -o "${TARGETPLATFORM}" = "linux/arm64" ]; then
wget -qO - https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmour > /etc/apt/trusted.gpg.d/google.gpg echo "Using Debian's Chromium"
echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list
apt-dpkg-wrap apt-get update apt-dpkg-wrap apt-get update
apt-dpkg-wrap apt-get install -y google-chrome-stable apt-dpkg-wrap apt-get install -y chromium chromium-driver chromium-sandbox
apt-cleanup apt-cleanup
chromium --version
else else
curl -4so "/tmp/google-chrome-stable_${CHROME_RELEASE}-1_amd64.deb" "http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_RELEASE}-1_amd64.deb" if [ "${CHROME_RELEASE}" = "latest" ]; then
apt-dpkg-wrap apt-get update wget -qO - https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmour > /etc/apt/trusted.gpg.d/google.gpg
apt-dpkg-wrap apt-get install -y "/tmp/google-chrome-stable_${CHROME_RELEASE}-1_amd64.deb" echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list
apt-cleanup apt-dpkg-wrap apt-get update
apt-dpkg-wrap apt-get install -y google-chrome-stable
apt-cleanup
else
curl -4so "/tmp/google-chrome-stable_${CHROME_RELEASE}-1_amd64.deb" "http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_RELEASE}-1_amd64.deb"
apt-dpkg-wrap apt-get update
apt-dpkg-wrap apt-get install -y "/tmp/google-chrome-stable_${CHROME_RELEASE}-1_amd64.deb"
apt-cleanup
fi
google-chrome --version
if [ "${CHROMEDRIVER_MAJOR_RELEASE}" = "latest" ]; then
CHROMEDRIVER_RELEASE="$(curl -4Ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE)"
else
CHROMEDRIVER_RELEASE="$(curl -4Ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROMEDRIVER_MAJOR_RELEASE})"
fi
curl -4Ls "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_RELEASE}/chromedriver_linux64.zip" | zcat >> /usr/bin/chromedriver
chmod +x /usr/bin/chromedriver
fi fi
if [ "${CHROMEDRIVER_MAJOR_RELEASE}" = "latest" ]; then
CHROMEDRIVER_RELEASE="$(curl -4Ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE)"
else
CHROMEDRIVER_RELEASE="$(curl -4Ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROMEDRIVER_MAJOR_RELEASE})"
fi
curl -4Ls "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_RELEASE}/chromedriver_linux64.zip" | zcat >> /usr/bin/chromedriver
chmod +x /usr/bin/chromedriver
chromedriver --version chromedriver --version

View File

@@ -0,0 +1,3 @@
{
"CommandLineFlagSecurityWarningsEnabled": false
}

View File

@@ -1,4 +1,3 @@
{ {
"CommandLineFlagSecurityWarningsEnabled": false "CommandLineFlagSecurityWarningsEnabled": false
} }