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
echo "Using Debian's Chromium"
apt-dpkg-wrap apt-get update
apt-dpkg-wrap apt-get install -y chromium chromium-driver chromium-sandbox
apt-cleanup
chromium --version
else
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 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 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 google-chrome-stable
apt-cleanup apt-cleanup
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" 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 update
apt-dpkg-wrap apt-get install -y "/tmp/google-chrome-stable_${CHROME_RELEASE}-1_amd64.deb" apt-dpkg-wrap apt-get install -y "/tmp/google-chrome-stable_${CHROME_RELEASE}-1_amd64.deb"
apt-cleanup apt-cleanup
fi fi
if [ "${CHROMEDRIVER_MAJOR_RELEASE}" = "latest" ]; then google-chrome --version
if [ "${CHROMEDRIVER_MAJOR_RELEASE}" = "latest" ]; then
CHROMEDRIVER_RELEASE="$(curl -4Ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE)" CHROMEDRIVER_RELEASE="$(curl -4Ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE)"
else else
CHROMEDRIVER_RELEASE="$(curl -4Ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROMEDRIVER_MAJOR_RELEASE})" 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
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
} }