Skip to content

Commit 05c2027

Browse files
committed
build: fix build node Firefox in arm64
Signed-off-by: Viet Nguyen Duc <[email protected]>
1 parent 7e9d497 commit 05c2027

8 files changed

+23
-14
lines changed

Makefile

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ FFMPEG_TAG_PREV_VERSION := $(or $(FFMPEG_TAG_PREV_VERSION),$(FFMPEG_TAG_PREV_VER
2121
FFMPEG_TAG_VERSION := $(or $(FFMPEG_TAG_VERSION),$(FFMPEG_TAG_VERSION),ffmpeg-7.0.2)
2222
FFMPEG_BASED_NAME := $(or $(FFMPEG_BASED_NAME),$(FFMPEG_BASED_NAME),linuxserver)
2323
FFMPEG_BASED_TAG := $(or $(FFMPEG_BASED_TAG),$(FFMPEG_BASED_TAG),7.0.2)
24-
PLATFORMS := $(or $(PLATFORMS),$(shell echo $$PLATFORMS),linux/amd64)
24+
CURRENT_PLATFORM := $(shell if [ `arch` = "aarch64" ]; then echo "linux/arm64"; else echo "linux/amd64"; fi)
25+
PLATFORMS := $(or $(PLATFORMS),$(shell echo $$PLATFORMS),$(CURRENT_PLATFORM))
2526
SEL_PASSWD := $(or $(SEL_PASSWD),$(SEL_PASSWD),secret)
2627
CHROMIUM_VERSION := $(or $(CHROMIUM_VERSION),$(CHROMIUM_VERSION),latest)
2728

@@ -585,7 +586,7 @@ test_edge_standalone:
585586
esac
586587

587588
test_firefox_download_lang_packs:
588-
FIREFOX_VERSION=$$(docker run --rm $(NAME)/node-firefox:$(TAG_VERSION) firefox --version | awk '{print $$3}') ; \
589+
FIREFOX_VERSION=$$(curl -sk https://product-details.mozilla.org/1.0/firefox_versions.json | jq -r '.LATEST_FIREFOX_VERSION') ; \
589590
./NodeFirefox/get_lang_package.sh $$FIREFOX_VERSION ./tests/target/firefox_lang_packs
590591

591592
test_firefox: test_firefox_download_lang_packs
@@ -635,10 +636,10 @@ test_parallel: hub chrome firefox edge chromium video
635636
make test_video_integrity
636637

637638
test_video_standalone: standalone_chrome standalone_chromium standalone_firefox standalone_edge
638-
DOCKER_COMPOSE_FILE=docker-compose-v3-test-standalone.yml TEST_DELAY_AFTER_TEST=2 make test_video
639+
DOCKER_COMPOSE_FILE=docker-compose-v3-test-standalone.yml TEST_DELAY_AFTER_TEST=2 HUB_CHECKS_INTERVAL=45 make test_video
639640

640641
test_video_dynamic_name:
641-
VIDEO_FILE_NAME=auto TEST_DELAY_AFTER_TEST=2 \
642+
VIDEO_FILE_NAME=auto TEST_DELAY_AFTER_TEST=2 HUB_CHECKS_INTERVAL=45 \
642643
make test_video
643644

644645
# This should run on its own CI job. There is no need to combine it with the other tests.
@@ -649,7 +650,7 @@ test_video: video hub chrome firefox edge chromium
649650
sudo chmod -R 777 ./tests/videos
650651
docker_compose_file=$(or $(DOCKER_COMPOSE_FILE), docker-compose-v3-test-video.yml) ; \
651652
list_of_tests_amd64=$(or $(LIST_OF_TESTS_AMD64), "NodeChrome NodeChromium NodeFirefox NodeEdge") ; \
652-
list_of_tests_arm64=$(or $(LIST_OF_TESTS_ARM64), "NodeChromium NodeFirefox") ; \
653+
list_of_tests_arm64=$(or $(LIST_OF_TESTS_ARM64), "NodeFirefox NodeChromium") ; \
653654
TEST_FIREFOX_INSTALL_LANG_PACKAGE=$(or $(TEST_FIREFOX_INSTALL_LANG_PACKAGE), "true") ; \
654655
if [ "$${TEST_FIREFOX_INSTALL_LANG_PACKAGE}" = "true" ]; then \
655656
make test_firefox_download_lang_packs ; \
@@ -667,6 +668,7 @@ test_video: video hub chrome firefox edge chromium
667668
echo UID=$$(id -u) >> .env ; \
668669
echo BINDING_VERSION=$(BINDING_VERSION) >> .env ; \
669670
echo TEST_DELAY_AFTER_TEST=$(or $(TEST_DELAY_AFTER_TEST), 2) >> .env ; \
671+
echo HUB_CHECKS_INTERVAL=$(or $(HUB_CHECKS_INTERVAL), 45) >> .env ; \
670672
echo SELENIUM_ENABLE_MANAGED_DOWNLOADS=$(or $(SELENIUM_ENABLE_MANAGED_DOWNLOADS), "true") >> .env ; \
671673
echo TEST_FIREFOX_INSTALL_LANG_PACKAGE=$${TEST_FIREFOX_INSTALL_LANG_PACKAGE} >> .env ; \
672674
echo BASIC_AUTH_USERNAME=$(or $(BASIC_AUTH_USERNAME), "admin") >> .env ; \
@@ -748,7 +750,7 @@ test_node_relay: hub node_base standalone_firefox
748750
done
749751

750752
test_standalone_docker: standalone_docker
751-
DOCKER_COMPOSE_FILE=docker-compose-v3-test-standalone-docker.yaml CONFIG_FILE=standalone_docker_config.toml \
753+
DOCKER_COMPOSE_FILE=docker-compose-v3-test-standalone-docker.yaml CONFIG_FILE=standalone_docker_config.toml HUB_CHECKS_INTERVAL=45 \
752754
RECORD_STANDALONE=true GRID_URL=http://0.0.0.0:4444 LIST_OF_TESTS_AMD64="DeploymentAutoscaling" TEST_PARALLEL_HARDENING=true TEST_DELAY_AFTER_TEST=2 \
753755
SELENIUM_ENABLE_MANAGED_DOWNLOADS=true LOG_LEVEL=SEVERE SKIP_CHECK_DOWNLOADS_VOLUME=true make test_node_docker
754756

@@ -759,7 +761,7 @@ test_node_docker: hub standalone_docker standalone_chrome standalone_firefox sta
759761
docker_compose_file=$(or $(DOCKER_COMPOSE_FILE), docker-compose-v3-test-node-docker.yaml) ; \
760762
config_file=$(or $(CONFIG_FILE), config.toml) ; \
761763
list_of_tests_amd64=$(or $(LIST_OF_TESTS_AMD64), "NodeChrome NodeChromium NodeFirefox NodeEdge") ; \
762-
list_of_tests_arm64=$(or $(LIST_OF_TESTS_ARM64), "NodeChromium NodeFirefox") ; \
764+
list_of_tests_arm64=$(or $(LIST_OF_TESTS_ARM64), "NodeFirefox NodeChromium") ; \
763765
if [ "$(PLATFORMS)" = "linux/amd64" ]; then \
764766
list_nodes="$${list_of_tests_amd64}" ; \
765767
else \
@@ -780,23 +782,27 @@ test_node_docker: hub standalone_docker standalone_chrome standalone_firefox sta
780782
echo TEST_DELAY_AFTER_TEST=$(or $(TEST_DELAY_AFTER_TEST), 2) >> .env ; \
781783
echo RECORD_STANDALONE=$(or $(RECORD_STANDALONE), "true") >> .env ; \
782784
echo GRID_URL=$(or $(GRID_URL), "") >> .env ; \
785+
echo HUB_CHECKS_INTERVAL=$(or $(HUB_CHECKS_INTERVAL), 20) >> .env ; \
783786
echo NODE=$$node >> .env ; \
784787
echo UID=$$(id -u) >> .env ; \
785788
echo BINDING_VERSION=$(BINDING_VERSION) >> .env ; \
786789
echo HOST_IP=$$(hostname -I | awk '{print $$1}') >> .env ; \
787790
if [ "$(PLATFORMS)" = "linux/amd64" ]; then \
788-
echo NODE_EDGE=edge >> .env ; \
791+
NODE_EDGE=edge ; \
792+
NODE_CHROME=chrome ; \
789793
else \
790-
echo NODE_EDGE=chromium >> .env ; \
794+
NODE_EDGE=chromium ; \
795+
NODE_CHROME=chromium ; \
791796
fi; \
797+
echo NODE_EDGE=$${NODE_EDGE} >> .env ; \
792798
if [ $$node = "NodeChrome" ] ; then \
793-
echo NODE_CHROME=chrome >> .env ; \
799+
echo NODE_CHROME=$${NODE_CHROME} >> .env ; \
794800
fi ; \
795801
if [ $$node = "NodeChromium" ] ; then \
796802
echo NODE_CHROME=chromium >> .env ; \
797803
echo SELENIUM_GRID_TEST_HEADLESS=true >> .env ; \
798804
else \
799-
echo NODE_CHROME=chrome >> .env ; \
805+
echo NODE_CHROME=$${NODE_CHROME} >> .env ; \
800806
fi ; \
801807
export $$(cat .env | xargs) ; \
802808
envsubst < $${config_file} > ./videos/config.toml ; \

NodeFirefox/Dockerfile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ USER root
1010
# Firefox
1111
#=========
1212
ARG FIREFOX_VERSION=latest
13-
ARG TARGETARCH
1413
RUN if [ "$(dpkg --print-architecture)" = "amd64" ]; then \
1514
FIREFOX_DOWNLOAD_URL=$(if [ $FIREFOX_VERSION = "latest" ] || [ $FIREFOX_VERSION = "beta-latest" ] || [ $FIREFOX_VERSION = "nightly-latest" ] || [ $FIREFOX_VERSION = "devedition-latest" ] || [ $FIREFOX_VERSION = "esr-latest" ]; then echo "https://download.mozilla.org/?product=firefox-$FIREFOX_VERSION-ssl&os=linux64&lang=en-US"; else echo "https://download-installer.cdn.mozilla.net/pub/firefox/releases/$FIREFOX_VERSION/linux-x86_64/en-US/firefox-$FIREFOX_VERSION.tar.bz2"; fi) ; \
1615
else \

NodeFirefox/get_lang_package.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ trap on_exit EXIT ERR
1010
# Script is used to download language packs for a specific version of Firefox.
1111
# It requires the version number as the first argument and the target directory as the second argument.
1212

13-
VERSION=${1:-$(firefox --version | awk '{print $3}')}
13+
VERSION=${1:-$(curl -sk https://product-details.mozilla.org/1.0/firefox_versions.json | jq -r '.LATEST_FIREFOX_VERSION')}
1414
TARGET_DIR="${2:-$(dirname $(readlink -f $(which firefox)))/distribution/extensions}"
1515
BASE_URL="https://ftp.mozilla.org/pub/firefox/releases/$VERSION/linux-x86_64/xpi/"
1616

tests/charts/make/chart_setup_env.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ trap 'on_failure' ERR
1818

1919
echo "Installing Docker for AMD64 / ARM64"
2020
sudo apt-get update -qq || true
21-
sudo apt-get install -yq ca-certificates curl
21+
sudo apt-get install -yq ca-certificates curl wget jq
2222
sudo install -m 0755 -d /etc/apt/keyrings
2323
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
2424
sudo chmod a+r /etc/apt/keyrings/docker.asc

tests/docker-compose-v3-test-node-docker.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,5 @@ services:
7474
- BINDING_VERSION=${BINDING_VERSION}
7575
- SELENIUM_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS}
7676
- TEST_DELAY_AFTER_TEST=${TEST_DELAY_AFTER_TEST}
77+
- HUB_CHECKS_INTERVAL=${HUB_CHECKS_INTERVAL}
7778
command: ["/bin/bash", "-c", "./bootstrap.sh ${NODE}"]

tests/docker-compose-v3-test-standalone-docker.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,5 @@ services:
6161
- SELENIUM_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS}
6262
- TEST_PARALLEL_HARDENING=${TEST_PARALLEL_HARDENING}
6363
- TEST_DELAY_AFTER_TEST=${TEST_DELAY_AFTER_TEST}
64+
- HUB_CHECKS_INTERVAL=${HUB_CHECKS_INTERVAL}
6465
command: ["/bin/bash", "-c", "./bootstrap.sh ${NODE}"]

tests/docker-compose-v3-test-standalone.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,5 @@ services:
8080
- TEST_DELAY_AFTER_TEST=${TEST_DELAY_AFTER_TEST}
8181
- SELENIUM_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS}
8282
- TEST_FIREFOX_INSTALL_LANG_PACKAGE=${TEST_FIREFOX_INSTALL_LANG_PACKAGE}
83+
- HUB_CHECKS_INTERVAL=${HUB_CHECKS_INTERVAL}
8384
command: ["/bin/bash", "-c", "./bootstrap.sh ${NODE}"]

tests/docker-compose-v3-test-video.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,5 @@ services:
8080
- TEST_DELAY_AFTER_TEST=${TEST_DELAY_AFTER_TEST}
8181
- SELENIUM_ENABLE_MANAGED_DOWNLOADS=${SELENIUM_ENABLE_MANAGED_DOWNLOADS}
8282
- TEST_FIREFOX_INSTALL_LANG_PACKAGE=${TEST_FIREFOX_INSTALL_LANG_PACKAGE}
83+
- HUB_CHECKS_INTERVAL=${HUB_CHECKS_INTERVAL}
8384
command: ["/bin/bash", "-c", "./bootstrap.sh ${NODE}"]

0 commit comments

Comments
 (0)