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

View File

@ -4,15 +4,15 @@ JITSI_BUILD ?= unstable
JITSI_REPO ?= jitsi
NATIVE_ARCH ?= $(shell uname -m)
JITSI_MULTIARCH_SERVICES := base base-java web prosody jicofo jvb
JITSI_AMD64ONLY_SERVICES := jigasi jibri
JITSI_MULTIARCH_SERVICES := base base-java web prosody jicofo jvb jibri
JITSI_AMD64ONLY_SERVICES := jigasi
ifeq ($(NATIVE_ARCH),x86_64)
TARGETPLATFORM := linux/amd64
JITSI_SERVICES := base base-java web prosody jicofo jvb jigasi jibri
else ifeq ($(NATIVE_ARCH),aarch64)
TARGETPLATFORM := linux/arm64
JITSI_SERVICES := base base-java web prosody jicofo jvb
JITSI_SERVICES := base base-java web prosody jicofo jvb jibri
else
TARGETPLATFORM := unsupported
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-cleanup
ARG TARGETPLATFORM=unset
ARG USE_CHROMIUM=0
#ARG CHROME_RELEASE=latest
#ARG CHROMEDRIVER_MAJOR_RELEASE=latest
ARG CHROME_RELEASE=102.0.5005.61

View File

@ -2,25 +2,36 @@
set -o pipefail -xeu
if [ "${CHROME_RELEASE}" = "latest" ]; then
wget -qO - https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmour > /etc/apt/trusted.gpg.d/google.gpg
echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list
if [ "${USE_CHROMIUM}" = 1 -o "${TARGETPLATFORM}" = "linux/arm64" ]; then
echo "Using Debian's Chromium"
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
chromium --version
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
if [ "${CHROME_RELEASE}" = "latest" ]; then
wget -qO - https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmour > /etc/apt/trusted.gpg.d/google.gpg
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 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
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

View File

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

View File

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