diff --git a/.ffmpeg/Dockerfile b/.ffmpeg/Dockerfile index 1372eb5766..b59969f0f0 100644 --- a/.ffmpeg/Dockerfile +++ b/.ffmpeg/Dockerfile @@ -1,9 +1,10 @@ FROM ubuntu:noble AS builder -ARG FFMPEG_VERSION="7.1" +ARG FFMPEG_VERSION="7.1.1" ARG RCLONE_VER="v1.69.1" ARG GO_VERSION="latest" ARG GO_CRYPTO_VERSION="v0.35.0" ARG GO_OAUTH2_VERSION="v0.27.0" +ARG GO_NET_VERSION="v0.36.0" USER root @@ -30,12 +31,13 @@ RUN if [ "${GO_VERSION}" = "latest" ]; then \ && go version RUN cd /usr/local/src \ - && git clone https://github.com/rclone/rclone.git \ + && git clone https://github.com/rclone/rclone.git --filter=blob:none \ && cd rclone \ && git checkout ${RCLONE_VER} \ # Patch deps version in go.mod to fix CVEs && sed -i "s|golang.org/x/crypto v.*|golang.org/x/crypto ${GO_CRYPTO_VERSION}|g" go.mod \ && sed -i "s|golang.org/x/oauth2 v.*|golang.org/x/oauth2 ${GO_OAUTH2_VERSION}|g" go.mod \ + && sed -i "s|golang.org/x/net v.*|golang.org/x/net ${GO_NET_VERSION}|g" go.mod \ && go mod tidy \ # Build rclone && make \ @@ -46,7 +48,7 @@ RUN cd /usr/local/src \ # Install x264 from source #====================================== RUN cd /usr/local/src \ - && git clone https://code.videolan.org/videolan/x264.git \ + && git clone https://code.videolan.org/videolan/x264.git --filter=blob:none \ && cd x264 \ && ./configure --prefix="/usr/local" --enable-static \ && make \ @@ -56,9 +58,9 @@ RUN cd /usr/local/src \ # Install FFmpeg from source #====================================== RUN cd /usr/local/src \ - && git clone https://github.com/FFmpeg/FFmpeg.git \ + && git clone https://github.com/FFmpeg/FFmpeg.git --filter=blob:none \ && cd FFmpeg \ - && git checkout release/${FFMPEG_VERSION} \ + && git checkout n${FFMPEG_VERSION} \ && rm -rf .git \ && PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" FFMPEG_VERSION=${FFMPEG_VERSION} ./configure \ --prefix="/usr/local" \ diff --git a/.github/workflows/docker-test.yml b/.github/workflows/docker-test.yml index 9e60d67f74..c214ce28f3 100644 --- a/.github/workflows/docker-test.yml +++ b/.github/workflows/docker-test.yml @@ -172,13 +172,16 @@ jobs: - name: Format and lint scripts run: | make format_shell_scripts + - name: Disable QEMU + if: matrix.test-strategy == 'test_node_relay' && contains(matrix.os, 'amd') == true + run: echo "DOCKER_ENABLE_QEMU=false >> $GITHUB_ENV" - name: Set up containerd image store feature uses: nick-invision/retry@master with: timeout_minutes: 10 max_attempts: 3 command: | - make setup_dev_env + DOCKER_ENABLE_QEMU=${DOCKER_ENABLE_QEMU} make setup_dev_env - name: Output Docker info run: docker info - name: Set up Python diff --git a/Base/Dockerfile b/Base/Dockerfile index a430bbe266..8133236b9b 100644 --- a/Base/Dockerfile +++ b/Base/Dockerfile @@ -45,6 +45,11 @@ ENV DEBIAN_FRONTEND=noninteractive \ # Miscellaneous packages # Includes minimal runtime used for executing non GUI Java programs #======================== +RUN echo "deb [arch=amd64] http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse\n" > /etc/apt/sources.list \ + && echo "deb-src [arch=amd64] http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse\n" >> /etc/apt/sources.list \ + && echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports noble main restricted universe multiverse" >> /etc/apt/sources.list \ + && echo "deb-src [arch=arm64] http://ports.ubuntu.com/ubuntu-ports noble main restricted universe multiverse" >> /etc/apt/sources.list + RUN apt-get -qqy update \ && apt-get upgrade -yq \ && apt-get -qqy --no-install-recommends install \ @@ -56,7 +61,6 @@ RUN apt-get -qqy update \ unzip \ wget \ jq \ - curl \ supervisor \ gnupg2 \ libnss3-tools \ @@ -64,6 +68,11 @@ RUN apt-get -qqy update \ ca-certificates \ && rm -rf /var/lib/apt/lists/* /var/cache/apt/* +RUN ARCH=$(if [ "$(dpkg --print-architecture)" = "arm64" ]; then echo "aarch64"; else echo "$(dpkg --print-architecture)"; fi) \ + && wget -q https://github.com/moparisthebest/static-curl/releases/download/v8.11.0/curl-$ARCH -O /usr/bin/curl \ + && chmod +x /usr/bin/curl \ + && curl --version + RUN --mount=type=secret,id=SEL_PASSWD \ if [ "${TARGETARCH}" = "arm" ] && [ "${TARGETVARIANT}" = "v7" ]; then \ export ARCH=armhf ; \ diff --git a/docker-compose-v2-tracing.yml b/docker-compose-v2-tracing.yml index 1d53051e97..c317d092d6 100644 --- a/docker-compose-v2-tracing.yml +++ b/docker-compose-v2-tracing.yml @@ -15,8 +15,6 @@ services: - selenium-hub environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 - SE_ENABLE_TRACING=true - SE_OTEL_TRACES_EXPORTER=otlp - SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317 @@ -30,8 +28,6 @@ services: - selenium-hub environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 - SE_ENABLE_TRACING=true - SE_OTEL_TRACES_EXPORTER=otlp - SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317 @@ -45,8 +41,6 @@ services: - selenium-hub environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 - SE_ENABLE_TRACING=true - SE_OTEL_TRACES_EXPORTER=otlp - SE_OTEL_EXPORTER_ENDPOINT=http://jaeger:4317 diff --git a/docker-compose-v2.yml b/docker-compose-v2.yml index 37ecc8ae0a..0fd0a77236 100644 --- a/docker-compose-v2.yml +++ b/docker-compose-v2.yml @@ -10,8 +10,6 @@ services: - selenium-hub environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ports: - "6900:5900" @@ -22,8 +20,6 @@ services: - selenium-hub environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ports: - "6901:5900" @@ -34,8 +30,6 @@ services: - selenium-hub environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 ports: - "6902:5900" diff --git a/docker-compose-v3-full-grid-swarm.yml b/docker-compose-v3-full-grid-swarm.yml index 6aabacff85..e2a49f91f9 100644 --- a/docker-compose-v3-full-grid-swarm.yml +++ b/docker-compose-v3-full-grid-swarm.yml @@ -11,8 +11,6 @@ services: shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 deploy: replicas: 1 entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' @@ -22,8 +20,6 @@ services: shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 deploy: replicas: 1 entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' @@ -33,8 +29,6 @@ services: shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 deploy: replicas: 1 entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' diff --git a/docker-compose-v3-swarm.yml b/docker-compose-v3-swarm.yml index 6aabacff85..e2a49f91f9 100644 --- a/docker-compose-v3-swarm.yml +++ b/docker-compose-v3-swarm.yml @@ -11,8 +11,6 @@ services: shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 deploy: replicas: 1 entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' @@ -22,8 +20,6 @@ services: shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 deploy: replicas: 1 entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' @@ -33,8 +29,6 @@ services: shm_size: 2gb environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 deploy: replicas: 1 entrypoint: bash -c 'SE_OPTS="--host $$HOSTNAME" /opt/bin/entry_point.sh' diff --git a/tests/charts/make/chart_setup_env.sh b/tests/charts/make/chart_setup_env.sh index 7ce3d216cf..9e2629cbb3 100755 --- a/tests/charts/make/chart_setup_env.sh +++ b/tests/charts/make/chart_setup_env.sh @@ -3,6 +3,7 @@ echo "Set ENV variables" CLUSTER=${CLUSTER:-"minikube"} DOCKER_VERSION=${DOCKER_VERSION:-""} +DOCKER_ENABLE_QEMU=${DOCKER_ENABLE_QEMU:-"true"} HELM_VERSION=${HELM_VERSION:-"latest"} KUBERNETES_VERSION=${KUBERNETES_VERSION:-$(curl -L -s https://dl.k8s.io/release/stable.txt)} @@ -49,11 +50,8 @@ fi docker version docker buildx version docker buildx use default || true -if [ "$(dpkg --print-architecture)" = "amd64" ]; then - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes --credential yes ; -else - docker run --rm --privileged aptman/qus -- -r ; - docker run --rm --privileged aptman/qus -s -- -p +if [ "${DOCKER_ENABLE_QEMU}" = "true" ]; then + docker run --privileged --rm tonistiigi/binfmt --install all ; fi docker info echo "===============================" diff --git a/tests/docker-compose-v3-test-node-relay.yml b/tests/docker-compose-v3-test-node-relay.yml index 1397517d1e..7f4036b61e 100644 --- a/tests/docker-compose-v3-test-node-relay.yml +++ b/tests/docker-compose-v3-test-node-relay.yml @@ -9,8 +9,6 @@ services: - ./videos/relay_config.toml:/opt/selenium/config.toml environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 - SE_LOG_LEVEL=${LOG_LEVEL} - GENERATE_CONFIG=false @@ -58,8 +56,6 @@ services: - emulator environment: - SE_EVENT_BUS_HOST=selenium-hub - - SE_EVENT_BUS_PUBLISH_PORT=4442 - - SE_EVENT_BUS_SUBSCRIBE_PORT=4443 - SE_LOG_LEVEL=${LOG_LEVEL} - SE_NODE_SESSION_TIMEOUT=${SESSION_TIMEOUT} - SE_NODE_RELAY_URL=http://emulator:4723