chore(ci): Add steps to download firefox beta build for testing from specific tasks. (#11312)

Because

- We are now able to trigger builds based on changes made to Firefox
Beta on mozilla-central. How ever, we weren't using the firefox images
from those tasks.

This commit

- Allows us to run the firefox beta tests against the recently built
version of Firefox Beta.

Fixes #11311
This commit is contained in:
Benjamin Forehand Jr 2024-09-09 14:08:47 -05:00 коммит произвёл GitHub
Родитель a65feef108
Коммит a85f1354bc
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
5 изменённых файлов: 25 добавлений и 6 удалений

Просмотреть файл

@ -152,6 +152,7 @@ jobs:
environment:
FIREFOX_VERSION: nimbus-firefox-beta
PYTEST_ARGS: -k FIREFOX_DESKTOP -m run_targeting -n 4 --reruns 1
FIREFOX_BETA: 1
MOZ_REMOTE_SETTINGS_DEVTOOLS: 1 # allows us to override and set the remote settings URL
steps:
- checkout

Просмотреть файл

@ -226,7 +226,7 @@ integration_test_legacy: build_prod
MOZ_HEADLESS=1 $(COMPOSE_INTEGRATION) run firefox sh -c "./experimenter/tests/experimenter_legacy_tests.sh"
integration_test_nimbus: build_prod
MOZ_HEADLESS=1 $(COMPOSE_INTEGRATION) run firefox sh -c "UPDATE_FIREFOX_VERSION=$(UPDATE_FIREFOX_VERSION) PYTEST_SENTRY_DSN=$(PYTEST_SENTRY_DSN) PYTEST_SENTRY_ALWAYS_REPORT=$(PYTEST_SENTRY_ALWAYS_REPORT) CIRCLECI=$(CIRCLECI) ./experimenter/tests/nimbus_integration_tests.sh"
MOZ_HEADLESS=1 $(COMPOSE_INTEGRATION) run firefox sh -c "UPDATE_FIREFOX_VERSION=$(UPDATE_FIREFOX_VERSION) FIREFOX_BETA=$(FIREFOX_BETA) PYTEST_SENTRY_DSN=$(PYTEST_SENTRY_DSN) PYTEST_SENTRY_ALWAYS_REPORT=$(PYTEST_SENTRY_ALWAYS_REPORT) CIRCLECI=$(CIRCLECI) ./experimenter/tests/nimbus_integration_tests.sh"
integration_test_nimbus_rust: build_integration_test build_prod
MOZ_HEADLESS=1 $(COMPOSE_INTEGRATION) run -it rust-sdk sh -c "./experimenter/tests/nimbus_rust_tests.sh"

Просмотреть файл

@ -1 +1 @@
FIREFOX_BETA_TASK_ID="BKByaFiCSCSZ66onU50hdA"
FIREFOX_BETA_TASK_ID="crcYKM6FSYiAQxxGMUrFIg"

Просмотреть файл

@ -5,15 +5,33 @@ set +x
export PATH=$PATH:/home/seluser/.local/bin
PYTEST_ARGS=${PYTEST_ARGS:-"-k FIREFOX_DESKTOP"}
if [[ -n "${UPDATE_FIREFOX_VERSION}" ]]; then
sudo ./experimenter/tests/integration/nimbus/utils/nightly-install.sh
fi
if [[ -n "${FIREFOX_BETA}" ]]; then
source ./experimenter/tests/firefox-desktop-beta-build.env
FIREFOX_BETA_TASK_ID=${FIREFOX_BETA_TASK_ID//\"/}
echo "Installing firefox beta from taskcluster"
sudo apt-get update -qqy
sudo rm -rf /var/lib/apt/lists/* /var/cache/apt/*
sudo wget --no-verbose -O /tmp/firefox.tar.bz2 "https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/${FIREFOX_BETA_TASK_ID}/artifacts/public/build/target.tar.bz2"
sudo rm -rf /opt/firefox-latest
sudo tar -C /opt -xjf /tmp/firefox.tar.bz2
sudo rm /tmp/firefox.tar.bz2
sudo ln -fs /opt/firefox/firefox /usr/bin/firefox
sudo chown -R seluser /opt/firefox/firefox
fi
curl -sSL https://install.python-poetry.org | python3 - --version 1.8.3
sudo chmod -R a+rwx /code/experimenter/tests/integration/
mkdir -m a+rwx /code/experimenter/tests/integration/test-reports
poetry -C experimenter/tests/integration -vvv install --no-root
firefox --version
poetry -C experimenter/tests/integration install --no-root
poetry -C experimenter/tests/integration \
-vvv \
run \

Просмотреть файл

@ -17,14 +17,14 @@ case $input in
fenix)
INDEX_BASE="gecko.v2.mozilla-beta.latest.mobile"
TASK_ID=$(curl ${CURLFLAGS[@]} "${TASKCLUSTER_API}/tasks/${INDEX_BASE}" | jq '.tasks[] | select(.namespace == "gecko.v2.mozilla-beta.latest.mobile.fenix-beta") | .taskId')
echo TASK ID "${TASK_ID}"
echo FIREFOX_FENIX_TASK_ID TASK ID "${TASK_ID}"
echo "FIREFOX_FENIX_TASK_ID=${TASK_ID}" > firefox-fenix-build.env
mv firefox-fenix-build.env experimenter/tests
;;
desktop-beta)
INDEX_BASE="gecko.v2.mozilla-beta.latest.firefox"
TASK_ID=$(curl ${CURLFLAGS[@]} "${TASKCLUSTER_API}/tasks/${INDEX_BASE}" | jq '.tasks[] | select(.namespace == "gecko.v2.mozilla-beta.latest.firefox.linux-debug") | .taskId')
echo TASK ID "${TASK_ID}"
TASK_ID=$(curl ${CURLFLAGS[@]} "${TASKCLUSTER_API}/tasks/${INDEX_BASE}" | jq '.tasks[] | select(.namespace == "gecko.v2.mozilla-beta.latest.firefox.linux64-debug") | .taskId')
echo FIREFOX_BETA_TASK_ID "${TASK_ID}"
echo "FIREFOX_BETA_TASK_ID=${TASK_ID}" > firefox-desktop-beta-build.env
mv firefox-desktop-beta-build.env experimenter/tests
;;