summaryrefslogtreecommitdiffstats
path: root/taskcluster/docker
diff options
context:
space:
mode:
Diffstat (limited to 'taskcluster/docker')
-rw-r--r--taskcluster/docker/android-components/Dockerfile56
-rw-r--r--taskcluster/docker/android-ui-tests/Dockerfile42
-rw-r--r--taskcluster/docker/lint/system-setup.sh1
-rw-r--r--taskcluster/docker/periodic-updates/scripts/getHSTSPreloadList.js8
-rwxr-xr-xtaskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh12
-rw-r--r--taskcluster/docker/snap-coreXX-build/snap-tests/basic_tests.py3
-rw-r--r--taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests.py16
-rw-r--r--taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/qa_expectations.json7
-rw-r--r--taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/test_pdf_navigation_select_text_with_highlight.pngbin0 -> 194997 bytes
-rw-r--r--taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/test_pdf_navigation_select_text_without_highlight.png (renamed from taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/test_pdf_navigation_select_text.png)bin193731 -> 193731 bytes
-rwxr-xr-xtaskcluster/docker/updatebot/run.py1
-rw-r--r--taskcluster/docker/updatebot/updatebot-version.sh2
12 files changed, 137 insertions, 11 deletions
diff --git a/taskcluster/docker/android-components/Dockerfile b/taskcluster/docker/android-components/Dockerfile
new file mode 100644
index 0000000000..be3ba58b3c
--- /dev/null
+++ b/taskcluster/docker/android-components/Dockerfile
@@ -0,0 +1,56 @@
+FROM $DOCKER_IMAGE_PARENT
+MAINTAINER Geoff Brown <gbrown@mozilla.com>
+
+# This is the image used for most build and test tasks related to
+# android-components, focus, and fenix.
+
+VOLUME /builds/worker/checkouts
+VOLUME /builds/worker/workspace
+VOLUME /builds/worker/tooltool-cache
+
+ENV CURL='curl --location --retry 5' \
+ GRADLE_OPTS='-Xmx4096m -Dorg.gradle.daemon=false -Dorg.gradle.parallel=false' \
+ LANG='en_US.UTF-8' \
+ TERM='dumb'
+
+# less, screen, and vim help debugging interactive tasks in taskcluster
+# yaml required by some ui-test tasks
+RUN apt-get update && \
+ apt-get install \
+ autoconf2.13 \
+ build-essential \
+ base-files \
+ ccache \
+ cmake \
+ curl \
+ file \
+ gnupg \
+ jq \
+ less \
+ locales \
+ openjdk-17-jdk \
+ openssh-client \
+ procps \
+ python3-dev \
+ python3-pip \
+ python3-yaml \
+ rsync \
+ screen \
+ sudo \
+ tar \
+ unzip \
+ uuid \
+ valgrind \
+ vim \
+ x11-utils \
+ xvfb \
+ wget \
+ zip \
+ zstd
+
+RUN pip3 install --break-system-packages taskcluster
+
+RUN locale-gen "$LANG"
+
+# Back to the workdir, matching desktop-build.
+WORKDIR /builds/worker
diff --git a/taskcluster/docker/android-ui-tests/Dockerfile b/taskcluster/docker/android-ui-tests/Dockerfile
new file mode 100644
index 0000000000..0a1d9a9305
--- /dev/null
+++ b/taskcluster/docker/android-ui-tests/Dockerfile
@@ -0,0 +1,42 @@
+ARG DOCKER_IMAGE_PARENT
+FROM $DOCKER_IMAGE_PARENT
+
+LABEL authors="Richard Pappalardo <rpappalax@gmail.com>, Aaron Train <atrain@mozilla.com>"
+LABEL maintainer="Richard Pappalardo <rpappalax@gmail.com>"
+
+#----------------------------------------------------------------------------------------------------------------------
+#-- Test tools --------------------------------------------------------------------------------------------------------
+#----------------------------------------------------------------------------------------------------------------------
+
+RUN chown -R worker:worker ${HOME}/.config
+
+USER worker:worker
+
+ENV GOOGLE_SDK_DOWNLOAD ./gcloud.tar.gz
+ENV GOOGLE_SDK_VERSION 450
+
+ENV TEST_TOOLS /builds/worker/test-tools
+ENV PATH ${PATH}:${TEST_TOOLS}:${TEST_TOOLS}/google-cloud-sdk/bin
+
+RUN mkdir -p ${TEST_TOOLS} && \
+ mkdir -p ${HOME}/.config/gcloud
+
+RUN curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-${GOOGLE_SDK_VERSION}.0.0-linux-x86_64.tar.gz --output ${GOOGLE_SDK_DOWNLOAD} \
+ && tar -xvf ${GOOGLE_SDK_DOWNLOAD} -C ${TEST_TOOLS} \
+ && rm -f ${GOOGLE_SDK_DOWNLOAD} \
+ && ${TEST_TOOLS}/google-cloud-sdk/install.sh --quiet \
+ && ${TEST_TOOLS}/google-cloud-sdk/bin/gcloud --quiet components update
+
+# Flank v21.08.1 (pinned release)
+RUN URL_FLANK_BIN="$($CURL --silent 'https://api.github.com/repos/Flank/flank/releases/48276753' | jq -r '.assets[] | select(.browser_download_url | test("flank.jar")) .browser_download_url')" \
+ && $CURL --output "${TEST_TOOLS}/flank.jar" "${URL_FLANK_BIN}" \
+ && chmod +x "${TEST_TOOLS}/flank.jar"
+
+# Used in parse-ui-test-fromfile.py
+RUN pip3 install --break-system-packages junitparser beautifultable
+
+# Used for env var ingest in testrail.py
+RUN pip3 install --break-system-packages python-dotenv
+
+# run-task expects to run as root
+USER root
diff --git a/taskcluster/docker/lint/system-setup.sh b/taskcluster/docker/lint/system-setup.sh
index 33516d890a..4ac14b8d80 100644
--- a/taskcluster/docker/lint/system-setup.sh
+++ b/taskcluster/docker/lint/system-setup.sh
@@ -11,6 +11,7 @@ apt_packages=()
apt_packages+=('curl')
apt_packages+=('iproute2')
apt_packages+=('locales')
+apt_packages+=('m4')
apt_packages+=('graphviz')
apt_packages+=('python3-pip')
apt_packages+=('python-is-python3')
diff --git a/taskcluster/docker/periodic-updates/scripts/getHSTSPreloadList.js b/taskcluster/docker/periodic-updates/scripts/getHSTSPreloadList.js
index aeaa29bc2d..b695f0dd90 100644
--- a/taskcluster/docker/periodic-updates/scripts/getHSTSPreloadList.js
+++ b/taskcluster/docker/periodic-updates/scripts/getHSTSPreloadList.js
@@ -160,16 +160,16 @@ function RedirectAndAuthStopper() {}
RedirectAndAuthStopper.prototype = {
// nsIChannelEventSink
- asyncOnChannelRedirect(oldChannel, newChannel, flags, callback) {
+ asyncOnChannelRedirect() {
throw Components.Exception("", Cr.NS_ERROR_ENTITY_CHANGED);
},
// nsIAuthPrompt2
- promptAuth(channel, level, authInfo) {
+ promptAuth() {
return false;
},
- asyncPromptAuth(channel, callback, context, level, authInfo) {
+ asyncPromptAuth() {
throw Components.Exception("", Cr.NS_ERROR_NOT_IMPLEMENTED);
},
@@ -184,7 +184,7 @@ RedirectAndAuthStopper.prototype = {
};
function fetchstatus(host) {
- return new Promise((resolve, reject) => {
+ return new Promise(resolve => {
let xhr = new XMLHttpRequest();
let uri = "https://" + host.name + "/";
diff --git a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
index f01f5cd9c3..4ab38dd799 100755
--- a/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
+++ b/taskcluster/docker/periodic-updates/scripts/periodic_file_updates.sh
@@ -318,7 +318,13 @@ function compare_remote_settings_files {
remote_records_url="$REMOTE_SETTINGS_SERVER/buckets/${bucket}/collections/${collection}/changeset?_expected=${last_modified}"
local_location_output="$REMOTE_SETTINGS_OUTPUT/${bucket}/${collection}.json"
mkdir -p "$REMOTE_SETTINGS_OUTPUT/${bucket}"
- ${WGET} -qO- "$remote_records_url" | ${JQ} '{"data": .changes, "timestamp": .timestamp}' > "${local_location_output}"
+ # We sort both the keys and the records in search-config-v2 to make it
+ # easier to read and to experiment with making changes via the dump file.
+ if [ "${collection}" = "search-config-v2" ]; then
+ ${WGET} -qO- "$remote_records_url" | ${JQ} --sort-keys '{"data": .changes | sort_by(.recordType, .identifier), "timestamp": .timestamp}' > "${local_location_output}"
+ else
+ ${WGET} -qO- "$remote_records_url" | ${JQ} '{"data": .changes, "timestamp": .timestamp}' > "${local_location_output}"
+ fi
# 5. Download attachments if needed.
if [ "${bucket}" = "blocklists" ] && [ "${collection}" = "addons-bloomfilters" ]; then
@@ -415,10 +421,10 @@ function compare_mobile_experiments() {
( ${DIFF} fenix-experiments-old.json fenix-experiments-new.json; ${DIFF} focus-experiments-old.json focus-experiments-new.json ) > "${EXPERIMENTER_DIFF_ARTIFACT}"
if [ -s "${EXPERIMENTER_DIFF_ARTIFACT}" ]; then
+ return 0
+ else
# no change
return 1
- else
- return 0
fi
}
diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/basic_tests.py b/taskcluster/docker/snap-coreXX-build/snap-tests/basic_tests.py
index 87320d5638..e567c9c2e9 100644
--- a/taskcluster/docker/snap-coreXX-build/snap-tests/basic_tests.py
+++ b/taskcluster/docker/snap-coreXX-build/snap-tests/basic_tests.py
@@ -373,6 +373,9 @@ class SnapTests(SnapTestsBase):
return rv
def test_youtube_film(self, exp):
+ # Bug 1885473: require sign-in?
+ return True
+
self.open_tab("https://www.youtube.com/watch?v=i4FSx9LXVSE")
if not self.wait_for_enable_drm():
self._logger.info("Skipped on ESR because cannot enable DRM")
diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests.py b/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests.py
index 7788dabe34..4c843b31d5 100644
--- a/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests.py
+++ b/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests.py
@@ -466,7 +466,21 @@ class QATests(SnapTestsBase):
)
action.drag_and_drop_by_offset(paragraph, 50, 10).perform()
time.sleep(0.75)
- self.assert_rendering(exp["select_text"], self._driver)
+ try:
+ ref_screen_source = "select_text_with_highlight"
+ self._wait.until(
+ EC.visibility_of_element_located(
+ (By.CSS_SELECTOR, "button.highlightButton")
+ )
+ )
+ except TimeoutException:
+ ref_screen_source = "select_text_without_highlight"
+ self._logger.info(
+ "Wait for pdf highlight button: timed out, maybe it is not there"
+ )
+ finally:
+ time.sleep(0.75)
+ self.assert_rendering(exp[ref_screen_source], self._driver)
# release select selection
action.move_by_offset(0, 150).perform()
diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/qa_expectations.json b/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/qa_expectations.json
index f9806ffa90..32f74a1025 100644
--- a/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/qa_expectations.json
+++ b/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/qa_expectations.json
@@ -56,8 +56,11 @@
"documentProperties": {
"reference": "test_pdf_navigation_documentProperties.png"
},
- "select_text": {
- "reference": "test_pdf_navigation_select_text.png"
+ "select_text_with_highlight": {
+ "reference": "test_pdf_navigation_select_text_with_highlight.png"
+ },
+ "select_text_without_highlight": {
+ "reference": "test_pdf_navigation_select_text_without_highlight.png"
},
"hand_tool": {
"reference": "test_pdf_navigation_hand_tool.png"
diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/test_pdf_navigation_select_text_with_highlight.png b/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/test_pdf_navigation_select_text_with_highlight.png
new file mode 100644
index 0000000000..9e2e7458a6
--- /dev/null
+++ b/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/test_pdf_navigation_select_text_with_highlight.png
Binary files differ
diff --git a/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/test_pdf_navigation_select_text.png b/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/test_pdf_navigation_select_text_without_highlight.png
index 0e24a1ac74..0e24a1ac74 100644
--- a/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/test_pdf_navigation_select_text.png
+++ b/taskcluster/docker/snap-coreXX-build/snap-tests/qa_tests/test_pdf_navigation_select_text_without_highlight.png
Binary files differ
diff --git a/taskcluster/docker/updatebot/run.py b/taskcluster/docker/updatebot/run.py
index ce27de1a22..5cfb1cb3a0 100755
--- a/taskcluster/docker/updatebot/run.py
+++ b/taskcluster/docker/updatebot/run.py
@@ -192,6 +192,7 @@ localconfig = {
"General": {
"env": OPERATING_MODE,
"gecko-path": GECKO_DEV_PATH,
+ "soft_timeout": 3600,
},
"Logging": {
"local": True,
diff --git a/taskcluster/docker/updatebot/updatebot-version.sh b/taskcluster/docker/updatebot/updatebot-version.sh
index ff210045e1..ea788dd130 100644
--- a/taskcluster/docker/updatebot/updatebot-version.sh
+++ b/taskcluster/docker/updatebot/updatebot-version.sh
@@ -1,2 +1,2 @@
-export UPDATEBOT_REVISION=78a8ed3b827b7527fa0a4621b138a0c81f80cc87
+export UPDATEBOT_REVISION=5cf21801808c95a3948916fd03f1001d964d796a