==> Building on articuno ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list ./ .SRCINFO 585 100% 0.00kB/s 0:00:00 585 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=3/5) .nvchecker.toml 41 100% 40.04kB/s 0:00:00 41 100% 40.04kB/s 0:00:00 (xfr#2, to-chk=2/5) PKGBUILD 2,166 100% 2.07MB/s 0:00:00 2,166 100% 2.07MB/s 0:00:00 (xfr#3, to-chk=1/5) web-ext-8.1.0-1.log 445 100% 434.57kB/s 0:00:00 445 100% 434.57kB/s 0:00:00 (xfr#4, to-chk=0/5) sent 1,674 bytes received 119 bytes 3,586.00 bytes/sec total size is 2,987 speedup is 1.67 ==> Running extra-riscv64-build -- -d /home/felix/packages/riscv64-pkg-cache:/var/cache/pacman/pkg -l root7 on remote host... [?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [root7]...done ==> Making package: web-ext 8.1.0-1 (Mon Jun 17 21:14:08 2024) ==> Retrieving sources...  -> Downloading web-ext-8.1.0.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 34129 0 34129 0 0 19981 0 --:--:-- 0:00:01 --:--:-- 19981 100 352k 0 352k 0 0 153k 0 --:--:-- 0:00:02 --:--:-- 541k ==> Validating source files with sha256sums... web-ext-8.1.0.tar.gz ... Passed ==> Making package: web-ext 8.1.0-1 (Mon Jun 17 21:14:32 2024) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... warning: removing 'nodejs-22.3.0-1' from target list because it conflicts with 'nodejs-lts-hydrogen-18.20.3-1' Package (4) New Version Net Change extra/c-ares 1.29.0-1 0.61 MiB extra/libngtcp2 1.6.0-1 0.43 MiB extra/libuv 1.48.0-2 0.56 MiB extra/nodejs-lts-hydrogen 18.20.3-1 39.92 MiB Total Installed Size: 41.52 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing libuv... installing libngtcp2... installing c-ares... installing nodejs-lts-hydrogen... Optional dependencies for nodejs-lts-hydrogen npm: nodejs package manager [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (4) New Version Net Change extra/nodejs-nopt 7.2.0-1 0.03 MiB extra/semver 7.6.2-1 0.09 MiB extra/node-gyp 10.1.0-3 7.11 MiB extra/npm 10.8.1-1 7.55 MiB Total Installed Size: 14.78 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing nodejs-nopt... installing semver... installing node-gyp... Optional dependencies for node-gyp gcc: to build C++ modules [installed] make: to build C++ modules [installed] python: to build C++ modules installing npm... Optional dependencies for npm git: for dependencies using Git URL's [?25h==> Retrieving sources...  -> Found web-ext-8.1.0.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting web-ext-8.1.0.tar.gz with bsdtar ==> Starting prepare()... ==> Starting build()... added 1002 packages, and audited 1003 packages in 59s 224 packages are looking for funding run `npm fund` for details 1 high severity vulnerability To address all issues, run: npm audit fix --force Run `npm audit` for details. > web-ext@8.1.0 build > node scripts/build Clean dist files... Running babel-cli... Successfully compiled 34 files with Babel (4474ms). babel build completed. npm warn config production Use `--omit=dev` instead. added 481 packages, and audited 482 packages in 24s 129 packages are looking for funding run `npm fund` for details 1 high severity vulnerability To address all issues, run: npm audit fix --force Run `npm audit` for details. ==> Starting check()... > web-ext@8.1.0 test > node scripts/test Running eslint... Running mocha unit tests... Setting mocha timeout from env var: 100000 (node:1618) ExperimentalWarning: `--experimental-loader` may be removed in the future; instead use `register()`: --import 'data:text/javascript,import { register } from "node:module"; import { pathToFileURL } from "node:url"; register("testdouble", pathToFileURL("./"));' (Use `node --trace-warnings ...` to show where the warning was created) (node:1618) ExperimentalWarning: `globalPreload` is planned for removal in favor of `initialize`. `globalPreload` is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) config applyConfigToArgv ✔ preserves a string value on the command line over configured (131ms) ✔ preserves configured value over default ✔ preserves a string value on the command line over all others ✔ preserves default value of option if not in config ✔ preserves value on the command line if not in config ✔ coerces config option values if needed ✔ uses a configured boolean value over an implicit default ✔ uses a configured boolean value over explicit falsey default ✔ uses configured boolean value over explicit truthy default ✔ uses a CLI boolean value over a configured one ✔ can load multiple configs for global options ✔ recognizes array config values as array types ✔ does not mistake an array config values for a sub-command ✔ uses CLI option over undefined configured option and default ✔ uses a configured number value over a falsey default ✔ uses a falsey CLI number value over a configured one ✔ uses configured value even when option defaults to undefined ✔ throws an error when an option is not camel cased ✔ throws an error when an option is invalid ✔ throws an error when a global option type is invalid ✔ throws an error when the type of option value is invalid ✔ does not throw an error when the type of option value is count sub commands ✔ preserves configured value over default ✔ preserves CLI value over default and configured ✔ preserves CLI value over configured ✔ can load multiple configs for sub-command options ✔ preserves default value if not in config ✔ preserves CLI value if not in config ✔ preserves global option when sub-command options exist ✔ handles camel case sub-commands ✔ throws an error when the option is not camel cased ✔ throws an error when the option is invalid ✔ throws an error when the type of option value is invalid ✔ throws an error when the type of one of option values is invalid ✔ throws an error when the type of option is missing ✔ throws an error when type of unrelated sub option is invalid loadJSConfigFile ✔ throws an error if the config file does not exist (94ms) ✔ throws an error if the config file has syntax errors (54ms) (node:1618) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension. ✔ provides help message on load failure due to .js ESM config file and no package ✔ provides help message on load failure due to .js CJS config file and type module package (node:1618) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension. (node:1618) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension. ✔ provides help message on load failure due to .js ESM config file and type commonjs package [/build/web-ext/src/web-ext-8.1.0-build/src/util/temp-dir.js][debug] Created temporary directory: /tmp/tmp-web-ext--1618-waYE7MV7MKd7 [/build/web-ext/src/web-ext-8.1.0-build/src/util/temp-dir.js][debug] Removing temporary directory: /tmp/tmp-web-ext--1618-waYE7MV7MKd7 ✔ parses successfully .js file as CommonJS config file ✔ parses successfully .mjs file as ESM config file when no package type ✔ parses .cjs file as CommonJS config file when no package type ✔ parses package.json file correctly ✔ does not throw an error for an empty config ✔ returns an empty object when webExt key is not in package.json discoverConfigFiles ✔ finds a config in your home directory ✔ finds a config in your working directory ✔ discovers all config files errors onlyInstancesOf ✔ lets you catch a certain error ✔ throws instances of other errors onlyErrorsWithCode ✔ catches errors having a code ✔ catches errors having a error no ✔ throws errors that do not match the code ✔ catches errors having one of many codes ✔ catches errors having one of many errno ✔ throws errors that are not in an array of codes isErrorWithCode ✔ returns true on errors that do match the code ✔ returns false on errors that do not match the code program.Program ✔ executes a command callback Options: --help Show help [boolean] --version Show version number [boolean] Unknown argument: thing ✔ reports unknown commands ✔ reports missing command ✔ exits 1 on a thrown error (39ms) cli.js thing Options: --help Show help [boolean] --version Show version number [boolean] This command does not take any arguments ✔ throws an error if sub-command is given an argument ✔ handles errors that have codes ✔ lets commands define options ✔ preserves global option configuration ✔ reads option values from env vars in sub commands ✔ configures the logger when verbose ✔ checks the version when verbose ✔ does not configure the logger unless verbose ✔ logs UsageErrors into console Options: --help Show help [boolean] --version Show version number [boolean] Unknown argument: nope ✔ throws an error about unknown commands Options: --help Show help [boolean] --version Show version number [boolean] Unknown argument: nope ✔ throws an error about unknown options cli.js thing Options: --help Show help [boolean] --version Show version number [boolean] Unknown argument: nope ✔ throws an error about unknown sub-command options ✔ passes on webextVersion ✔ checks for updates automatically ✔ does not check for updates during development ✔ does remove environment vars unsupported by the selected command program.main ✔ executes a command handler (63ms) Usage: cli.js [options] command Option values can also be set by declaring an environment variable prefixed with $WEB_EXT_. For example: $WEB_EXT_SOURCE_DIR=/path is the same as --source-dir=/path. To view specific help for any given command, add the command name. Example: cli.js --help run. Commands: cli.js build Create an extension package from source cli.js dump-config Run config discovery and dump the resulting config data as JSON cli.js sign Sign the extension so it can be installed in Firefox cli.js run Run the extension cli.js lint Validate the extension source cli.js docs Open the web-ext documentation in a browser Options: --version Show version number [boolean] -s, --source-dir Web extension source directory. [string] [required] [default: "/build/web-ext/src/web-ext-8.1.0-build"] -a, --artifacts-dir Directory where artifacts will be saved. [string] [required] [default: "/build/web-ext/src/web-ext-8.1.0-build/web-ext-artifacts"] -v, --verbose Show verbose output [boolean] -i, --ignore-files A list of glob patterns to define which files should be ignored. (Example: --ignore-files=path/to/first.js path/to/second.js "**/*.log") [array] --no-input Disable all features that require standard input [boolean] -c, --config Path to a CommonJS config file to set option defaults [string] --config-discovery Discover config files in home directory and working directory. Disable with --no-config-discovery. [boolean] [default: true] -h, --help Show help [boolean] You must specify a command ✔ throws an error if no command is given (45ms) ✔ can get the program version (47ms) ✔ turns sourceDir into an absolute path (50ms) ✔ normalizes the artifactsDir path (55ms) ✔ passes the path of a firefox binary when specified (80ms) ✔ passes the url of a firefox binary when specified (234ms) ✔ opens browser console when --browser-console is specified (73ms) ✔ opens devtools when --devtools is specified (105ms) ✔ calls run with a watched file ✔ calls run with multiple watched files ✔ calls run with a single watchIgnored pattern ✔ calls run with a multiple watchIgnored patterns ✔ converts custom preferences into an object (78ms) ✔ passes shouldExitProgram option to commands (58ms) ✔ applies options from the specified config file (57ms) ✔ discovers config files (55ms) ✔ lets you disable config discovery (53ms) ✔ applies config files in order (61ms) ✔ overwrites old config values (53ms) ✔ enables verbose more from config file (56ms) ✔ requires a parameter after --ignore-files (48ms) ✔ supports multiple parameters after --ignore-files (51ms) ✔ does pass a custom apk component with --firefox-apk-component (73ms) --no-input ✔ does parse "--no-input" cli argument as {"noInput":true} (68ms) ✔ does parse "--no-input=false" cli argument as {"noInput":false} (65ms) ✔ does parse "--no-input=true" cli argument as {"noInput":true} (65ms) ✔ does parse "--input" cli argument as {"noInput":false} (65ms) ✔ does parse "--input=false" cli argument as {"noInput":true} (65ms) ✔ does parse "--input=true" cli argument as {"noInput":false} (67ms) ✔ does parse "-v" cli argument as {} (64ms) program.defaultVersionGetter ✔ returns the package version in production - returns git commit information in development program.throwUsageErrorIfArray ✔ throws UsageError on array watcher ✔ watches for changes in the sourceDir (1078ms) --watch-file option is passed in ✔ changes if the watched file is touched (511ms) ✔ does not change if watched file is not touched (507ms) ✔ throws error if a non-file is passed into --watch-file proxyFileChanges ✔ proxies file changes ✔ ignores changes to artifacts ✔ provides a callback for ignoring files --watch-ignored is passed in ✔ does not call onChange if ignored file is touched (169ms) webExt ✔ exposes main exposes commands ✔ lazily loads cmd/run (65ms) ✔ lazily loads cmd/lint (914ms) ✔ lazily loads cmd/build (922ms) ✔ lazily loads cmd/sign (1401ms) ✔ lazily loads cmd/docs (943ms) ✔ lazily loads cmd/dump-config (679ms) build ✔ zips a package (149ms) ✔ configures a build command with the expected fileFilter ✔ throws on missing manifest properties in filename template (44ms) ✔ gives the correct custom name to an extension ✔ gives the correct name to a localized extension (63ms) ✔ sanitizes characters in extension name in filename from template ✔ throws an error if the filename contains a path ✔ throws an error if the filename doesn't end in .xpi or .zip ✔ accept a dash in the default_locale field ✔ handles repeating localization keys ✔ handles UTF-8 BOM in messages.json ✔ handles comments in messages.json ✔ checks locale file for malformed json ✔ checks locale file for incorrect format ✔ throws an error if the locale file does not exist ✔ can build an extension without an ID ✔ prepares the artifacts dir ✔ lets you specify a manifest ✔ asks FileFilter what files to include in the ZIP ✔ lets you rebuild when files change (56ms) ✔ throws errors when rebuilding in source watcher ✔ raises an UsageError if zip file exists ✔ overwrites zip file if it exists ✔ zips a package and includes a file from a negated filter (51ms) safeFileName ✔ makes names safe for writing to a file system defaultPackageCreator ✔ should reject on Unexpected errors getStringPropertyValue ✔ accepts the value 0 ✔ throws an error if string value is empty docs ✔ passes the correct url to docs ✔ throws an error when open fails lint ✔ creates and runs a linter ✔ fails when the linter fails ✔ runs as a binary ✔ sets runAsBinary according shouldExitProgram option ✔ passes sourceDir to the linter ✔ passes warningsAsErrors to the linter ✔ passes warningsAsErrors undefined to the linter ✔ configures the linter when verbose ✔ configures the linter when not verbose ✔ passes through linter configuration ✔ configures a lint command with the expected fileFilter run Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ passes a custom Firefox binary when specified (243ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ passes startUrl parameter to Firefox when specified (186ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Disabled auto-reloading because it's not possible with --pre-install Automatic extension reloading has been disabled ✔ passes the expected parameters to the extension runner (176ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ passes the expected dependencies to the extension runner (179ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext ✔ throws if watchFile is not an array (168ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext The extension will reload if any source file changes ✔ can watch and reload the extension (225ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext The extension will reload if any source file changes ✔ can disable input in the reload strategy (175ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Disabled auto-reloading because it's not possible with --pre-install Automatic extension reloading has been disabled ✔ will not reload when using --pre-install (207ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ allows you to opt out of extension reloading (183ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ allows to replace manifest parser (168ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ returns ExtensonRunner (186ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ creates a Firefox Desktop runner if targets is an empty array (185ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ creates a Firefox Desktop runner if "firefox-desktop" is in target (189ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ creates a Firefox Android runner if "firefox-android" is in target (172ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ creates a Chromium runner if "chromium" is in target (167ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ provides a chromiumBinary option to the Chromium runner (167ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ provides a chromiumProfile option to the Chromium runner (197ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ creates multiple extension runners (171ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Automatic extension reloading has been disabled ✔ provides a buildSourceDir method to the Firefox Android runner (173ms) profile-create-new option Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Profile directory not found. Creating directory /pretend/path/to/profile Automatic extension reloading has been disabled ✔ creates dir when firefox profile does not exist (227ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Profile directory not found. Creating directory /pretend/path/to/profile Automatic extension reloading has been disabled ✔ creates dir when chromium profile does not exist (181ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Profile directory /pretend/path/to/profile already exists Automatic extension reloading has been disabled ✔ uses the given firefox profile directory if it does exist (186ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext Profile directory /pretend/path/to/profile already exists Automatic extension reloading has been disabled ✔ uses the given chromium profile directory if it does exist (173ms) Running web extension from /build/web-ext/src/web-ext-8.1.0-build/tests/fixtures/minimal-web-ext ✔ throws error when used without firefox-profile or chromium-profile (160ms) sign ✔ builds and signs an extension (54ms) ✔ requires a channel for submission API ✔ passes the apiProxy parameter to submissionAPI signer ✔ passes the uploadSourceCode parameter to submissionAPI signer as submissionSource ✔ returns a signing result ✔ calls the add-on submission api signer ✔ calls the add-on submission api signer with approval timeout ✔ passes through a signing exception from submitAddon (node:1618) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. ✔ parses listing metadata as JSON and passes through to submitAddon ✔ raises an error on invalid JSON getIdFromFile ✔ gets a saved extension ID ✔ throws an error for empty files ✔ returns empty ID when extension file does not exist ✔ throws unexpected errors util/extension-runners/chromium ✔ uses the expected chrome flags ✔ installs and runs the extension ✔ installs a "reload manager" companion extension Last extension reload: 21:17:27 GMT+0000 (Coordinated Universal Time)[/build/web-ext/src/web-ext-8.1.0-build/src/extension-runners/chromium.js][debug] Last extension reload: 21:17:27 GMT+0000 (Coordinated Universal Time)[/build/web-ext/src/web-ext-8.1.0-build/src/extension-runners/chromium.js][debug] Last extension reload: 21:17:27 GMT+0000 (Coordinated Universal Time)[/build/web-ext/src/web-ext-8.1.0-build/src/extension-runners/chromium.js][debug] Last extension reload: 21:17:27 GMT+0000 (Coordinated Universal Time)[/build/web-ext/src/web-ext-8.1.0-build/src/extension-runners/chromium.js][debug] [/build/web-ext/src/web-ext-8.1.0-build/src/util/temp-dir.js][debug] Removing temporary directory: /tmp/tmp-web-ext--1618-llIKlriqVZJ9 ✔ controls the "reload manager" from a websocket server (122ms) ✔ exits if the chrome instance is shutting down ✔ calls all cleanup callbacks on exit ✔ does not call exit if chrome instance exits while shutting down ✔ awaits for the async setup to complete before exiting ✔ does use a custom chromium binary when passed ✔ does pass multiple starting urls to chrome ✔ does pass additional args to chrome ✔ does use a random user-data-dir ✔ does pass a user-data-dir flag to chrome ✔ does pass existing user-data-dir and profile-directory flag to chrome ✔ does support some special chars in profile-directory flag ✔ does recognize a UserData dir ✔ does reject a UserData dir with Local State dir ✔ does reject a UserData dir with Default file ✔ throws an error on profile in invalid user-data-dir ✔ does copy the profile and pass user-data-dir and profile-directory flags reloadAllExtensions Last extension reload: 21:17:27 GMT+0000 (Coordinated Universal Time) ✔ does not resolve before complete message from client (346ms) Last extension reload: 21:17:27 GMT+0000 (Coordinated Universal Time) ✔ resolve when any client send complete message Last extension reload: 21:17:27 GMT+0000 (Coordinated Universal Time) ✔ resolve when all client disconnect Last extension reload: 21:17:28 GMT+0000 (Coordinated Universal Time) ✔ resolve when not client connected util/extension-runners createExtensionRunner ✔ requires a valid target MultiExtensionRunner ✔ calls the "run" method on all the created IExtensionRunner ✔ calls the "reloadAllExtensions" on all the created runners ✔ calls the "reloadExtensionBySourceDir" on all the created runners ✔ calls exit on all the created IExtensionRunner ✔ shows a desktop notification on errors while reloading all extensions ✔ shows a desktop notification on errors while reloading an extension registerCleanup ✔ calls its callbacks once all the runner callbacks have been called (304ms) defaultWatcherCreator ✔ configures a source watcher ✔ configures a run command with the expected fileFilter ✔ returns a watcher ✔ reloads the extension defaultReloadStrategy ✔ configures a watcher ✔ configure the watcher to reload an extension by sourceDir ✔ cleans up when the extension runner closes ✔ can reload when user presses R in shell console ✔ allows you to disable input ✔ can still reload when user presses R after a reload error ✔ shuts down firefox on user request (CTRL+C in shell console) ✔ pauses the web-ext process (CTRL+Z in shell console) util/extension-runners/firefox-android raises an UsageError when: ✔ does not find any android device ✔ does not know which is the selected android device ✔ does not find the selected android device ✔ does not find a valid Firefox apk ✔ does not know which Firefox apk to use ✔ cannot find the Firefox apk selected using --firefox-apk value a valid device and Firefox apk has been selected: ✔ does select a Firefox apk if only one has been found ✔ stops any running instances of the selected Firefox apk and then starts it on the temporary profile ✔ does check for existing artifacts dirs ✔ does optionally remove older artifacts dirs ✔ does run a specific apk component if specific ✔ supports custom prefs via --pref ✔ builds and pushes the extension xpi to the android device ✔ discovers the RDP unix socket and forward it on a local tcp port ✔ discovers the RDP abstract unix socket and forward it on ✔ installs the build extension as a temporarily installed addon ✔ raises an error on addonId missing from installTemporaryAddon result ✔ reloads all reloadable extensions when reloadAllExtensions is called ✔ reloads an extension by sourceDir ✔ resolves to an array of WebExtError if the extension is not reloadable ✔ resolves an AllExtensionsReloadError if any extension fails to reload ✔ cleans the android device state when the exit method is called ✔ allows user to exit while waiting for the Android Firefox Debugger ✔ rejects on Android Firefox Debugger discovery timeouts ✔ rejects if an extension has never been uploaded on the device ✔ calls the callback registered on cleanup when firefox closes [/build/web-ext/src/web-ext-8.1.0-build/src/extension-runners/firefox-android.js][warn] The Firefox for Android target does not support --profile-path [/build/web-ext/src/web-ext-8.1.0-build/src/extension-runners/firefox-android.js][warn] The Firefox for Android target does not support --keep-profile-changes [/build/web-ext/src/web-ext-8.1.0-build/src/extension-runners/firefox-android.js][warn] The Firefox for Android target does not support --browser-console [/build/web-ext/src/web-ext-8.1.0-build/src/extension-runners/firefox-android.js][warn] The Firefox for Android target does not support --pre-install [/build/web-ext/src/web-ext-8.1.0-build/src/extension-runners/firefox-android.js][warn] The Firefox for Android target does not support --start-url [/build/web-ext/src/web-ext-8.1.0-build/src/extension-runners/firefox-android.js][warn] The Firefox for Android target does not support --args ✔ logs warnings on the unsupported CLI options util/extension-runners/firefox-desktop ✔ installs and runs the extension ✔ runs extension in correct port ✔ suggests --pre-install when remote install not supported ✔ passes -jsconsole when --browser-console is specified ✔ passes single url parameter to Firefox when specified ✔ passes multiple url parameters to Firefox when specified ✔ passes binaryArgs to Firefox ✔ passes a custom Firefox profile when specified ✔ keeps changes in custom profile when specified ✔ can pre-install into the profile before startup ✔ raise an error on addonId missing from installTemporaryAddon result ✔ calls the callback registered on cleanup when firefox closes ✔ kills Firefox when the exit method is called ✔ raises an Error when exit method is called on a non-started runner ✔ reloads all reloadable extensions when reloadAllExtensions is called ✔ reloads an extension by sourceDir ✔ resolves to an array of WebExtError if the extension is not reloadable ✔ resolves to an AllExtensionsReloadError if any extension fails to reload firefox run ✔ executes the Firefox runner with a given profile ✔ starts the remote debugger on a discovered port ✔ passes binary args to Firefox ✔ sets up a Firefox process environment ✔ fails on a firefox error ✔ passes a custom Firefox binary when specified ✔ logs stdout and stderr without errors ✔ supports flatpak [/build/web-ext/src/web-ext-8.1.0-build/src/firefox/index.js][debug] Running Firefox with profile at /dev/null/some-profile-path [/build/web-ext/src/web-ext-8.1.0-build/src/firefox/index.js][debug] Executing Firefox binary: undefined [/build/web-ext/src/web-ext-8.1.0-build/src/firefox/index.js][debug] Firefox args: [/build/web-ext/src/web-ext-8.1.0-build/src/firefox/index.js][info] Use --verbose or --devtools to see logging [/build/web-ext/src/web-ext-8.1.0-build/src/firefox/index.js][debug] Firefox closed ✔ logs link to debugging docs copyProfile ✔ copies a profile ✔ requires a valid profile directory ✔ can copy a profile by name ✔ configures the copied profile isDefaultProfile ✔ detects common Firefox default profiles specified by name ✔ allows profile name if it is not listed as default in profiles.ini ✔ allows profile path if it is not listed as default in profiles.ini ✔ allows profile path if there is no profiles.ini file ✔ rejects on any unexpected error while looking for profiles.ini createProfile ✔ resolves with a profile object ✔ creates a Firefox profile (node:1618) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. Use emitter.setMaxListeners() to increase limit ✔ configures a profile useProfile ✔ rejects to a UsageError when used on a default Firefox profile ✔ rejects to a UsageError when profile is not found detected firefox profile directory: /build/.config/mozilla/firefox not found (node:1618) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [process]. Use emitter.setMaxListeners() to increase limit ✔ resolves to a FirefoxProfile instance ✔ looks for profile path if passed a name ✔ checks if named profile is default detected firefox profile directory: /build/.config/mozilla/firefox not found detected firefox profile directory: /build/.config/mozilla/firefox not found ✔ configures a profile defaultCreateProfileFinder ✔ creates a finder ✔ creates finder based on userDirectoryPath if present ✔ returns a finder that resolves a profile name ✔ returns a finder that resolves undefined for no profiles.ini ✔ returns a finder that throws unexpected errors configureProfile ✔ resolves with a profile ✔ sets Firefox preferences ✔ sets Fennec preferences ✔ writes new preferences ✔ writes custom preferences installExtension ✔ installs an extension file into a profile ✔ requires a manifest ID ✔ can install the extension as a proxy ✔ requires a directory path for proxy installs ✔ re-uses an existing extension directory ✔ checks for an empty extensionsDir ✔ throws on unexpected errors firefox/preferences getPrefs ✔ gets Firefox prefs with some defaults ✔ gets Fennec prefs with some defaults ✔ throws an error for unsupported apps coerceCLICustomPreference ✔ converts a single --pref cli option from string to object ✔ converts array of --pref cli option values into object ✔ converts boolean values ✔ converts number values ✔ converts float values ✔ supports string values with "=" chars ✔ does not allow certain default preferences to be customized ✔ throws an error for invalid or incomplete preferences rdp-client parseRDPMessage ✔ returns a fatal error on failing to parse RDP message length ✔ returns a non-fatal error on failing to parse RDP message data ✔ does parse RDP message when all expected data is available FirefoxRDPClient ✔ connects to a Firefox RDP server ✔ forwards some of the events emitted by the connection request ✔ sends an RDP request ✔ rejects on RDP request without a target actor ✔ rejects on RDP request on source actor RDP error reply ✔ does disconnect on fatal parsing error handleMessage ✔ emits rdp-error event on RDP error and no source actor ✔ emits an unsolicited-event on known request types ✔ emits an error event on messages with no source actor ✔ emits error event on unexpected source actor flushPendingRequests ✔ does queue multiple requests for the same target actor ✔ rejects requests if not connected ✔ rejects all requests on closed connection ✔ rejects request if fails to stringify _expectReply ✔ throws if target actor has an active request FirefoxRDPClient disconnect ✔ does remove connection event listeners firefox.remote connect ✔ resolves with a RemoteFirefox instance ✔ connects on the default port ✔ lets you configure the port RemoteFirefox ✔ listens to client events disconnect ✔ lets you disconnect addonRequest ✔ makes requests to an add-on actor ✔ throws when add-on actor requests fail getInstalledAddon ✔ gets an installed add-on by ID ✔ throws an error when the add-on is not installed ✔ throws an error when listAddons() fails checkForAddonReloading ✔ checks for reload requestType in remote debugger ✔ throws an error if reload is not supported ✔ only checks for reloading once installTemporaryAddon ✔ throws getRoot errors ✔ fails when there is no add-ons actor ✔ lets you install an add-on temporarily ✔ falls back to listTabs when getRoot is unavailable ✔ fails when getRoot and listTabs both fail ✔ throws install errors reloadAddon Last extension reload: 21:17:30 GMT+0000 (Coordinated Universal Time) ✔ asks the actor to reload the add-on Last extension reload: 21:17:30 GMT+0000 (Coordinated Universal Time) ✔ makes sure the addon can be reloaded connectWithMaxRetries ✔ retries after a connection error ✔ only retries connection errors ✔ gives up connecting after too many retries findFreeTcpPort ✔ resolves to a free tcp port utils/adb discoverDevices ✔ rejects an UsageError on adb binary not found ✔ resolves the array of the android device ids runShellCommand ✔ rejects an UsageError on adb binary not found ✔ rejects on any unexpected exception ✔ resolves the shell command output as a string discoverInstalledFirefoxAPKs ✔ rejects an UsageError on adb binary not found ✔ retrieves current user ✔ rejects invalid get-current-user output ✔ resolves the array of the installed firefox APKs ✔ resolves the given firefox APK with exact package name amForceStopAPK ✔ rejects an UsageError on adb binary not found ✔ does not reject when "am force-stop" has been called successfully getOrCreateArtifactsDir ✔ rejects an UsageError on adb binary not found ✔ rejects a WebExtError if the artifact dir path exists ✔ resolves to the android artifacts dir path ✔ does not create a new artifact dir if it has been already created clearArtifactsDir ✔ rejects an UsageError on adb binary not found ✔ removes the directory if it has been previously created ✔ is a no-op if no artifacts dir has been previously created detectOrRemoveOldArtifacts ✔ detects old artifacts directories ✔ does optionally remove artifacts directories pushFile ✔ rejects an UsageError on adb binary not found ✔ resolves when the file has been completely transfered startFirefoxAPK ✔ rejects an UsageError on adb binary not found ✔ starts Firefox APK on a custom profile (only used by Fennec) ✔ starts a given APK component without a period ✔ starts a given APK component with a period ✔ starts a given APK component on fenix.nightly ✔ start reference browser without APK component ✔ start reference browser with custom APK component ✔ starts without specifying an APK component ✔ starts a fully-qualified APK component on the build-variant: fenix.nightly ✔ starts a fully-qualified APK component on the build-variant: org.mozilla.fenix.debug ✔ starts a given APK component that begins with a period discoverRDPUnixSocket ✔ rejects an UsageError on adb binary not found ✔ rejects an UsageError on setUserAbortDiscovery call ✔ rejects a WebExtError on timeouts (62ms) ✔ reminds the user to enable remote_debugging (57ms) ✔ rejects a WebExtError if more than one RDP socket have been found ✔ resolves the android RDP unix socket path setupForward ✔ rejects an UsageError on adb binary not found ✔ configures an adb forwarding for a given device exports exposed in util.adb ✔ should export a listADBDevices method ✔ should export a listADBFirefoxAPKs method prepareArtifactsDir ✔ creates an artifacts dir if needed ✔ ignores existing artifacts dir ✔ ensures the path is really a directory ✔ resolves with the artifacts dir ✔ throws an UsageError when it lacks permissions to stat the directory ✔ throws error when directory exists but lacks writing permissions ✔ throws error when creating a folder if lacks writing permissions ✔ creates the artifacts dir successfully if the parent dir does not exist ✔ throws error when creating a folder if there is not enough space ✔ throws on unexpected errors util/desktop-notifier desktopNotifications() ✔ is called and creates a message with correct parameters ✔ logs error when notifier fails util/file-exists ✔ returns true for existing files ✔ returns false for non-existent files ✔ returns false for directories ✔ returns false for unreadable files ✔ throws unexpected errors util/file-filter default ✔ ignores long XPI paths ✔ ignores short XPI paths ✔ ignores .git directories ✔ ignores nested .git directories ✔ ignores any hidden file ✔ ignores subdirectories within hidden folders ✔ ignores ZPI paths ✔ allows other files ✔ ignores node_modules by default ✔ ignores module content within node_modules by default options ✔ override the defaults with baseIgnoredPatterns ✔ add more files to ignore with ignoreFiles ✔ ignore artifactsDir and its content ✔ does not ignore an artifactsDir outside of sourceDir ✔ resolve relative path isSubPath ✔ test if target is a sub directory of src negation ✔ ignore paths not captured by negation ✔ includes paths captured by negation util.isDirectory ✔ resolves true for a directory ✔ resolves false for non-existent paths ✔ resolves false for non-directory paths ✔ resolves false for incomplete directory paths logger createLogger ✔ makes file names less redundant ConsoleStream ✔ lets you turn on verbose logging ✔ logs names in verbose mode ✔ does not log names in non-verbose mode ✔ does not log debug packets unless verbose ✔ does not log trace packets unless verbose ✔ logs debug packets when verbose ✔ logs trace packets when verbose ✔ logs info packets when verbose or not ✔ lets you capture logging ✔ only flushes captured messages once ✔ lets you start and stop capturing util/manifest getValidatedManifest ✔ returns a valid manifest ✔ allows manifests without an applications property ✔ reports an error for a missing manifest file ✔ reports an error for invalid manifest JSON ✔ reports an error when missing a name ✔ reports an error when missing version ✔ reports an error when missing applications.gecko ✔ allows a missing applications.gecko.id ✔ concatenates errors in error message ✔ ignore UTF-8 BOM in manifest JSON ✔ allows comments in manifest JSON ✔ reports an error with line number in manifest JSON with comments getManifestId with applications ✔ returns gecko.id if present ✔ returns undefined when gecko does not exist with browser_specific_settings ✔ returns gecko.id if present ✔ returns undefined when gecko does not exist with both applications and browser_specific_settings ✔ does prefer bss if it includes a gecko object ✔ does fallback to applications if bss.gecko is undefined without applications and browser_specific_settings ✔ returns undefined when ID is not specified nodejs util.promisify ✔ wraps a nodejs callback-based function into a promised function web-ext util.promisify.multiArgsPromisedFn custom helper ✔ optionally pass multiple results to a wrapped function util.submit-addon signAddon ✔ creates Client with parameters ✔ calls postNewAddon if `id` is undefined ✔ calls putVersion if `id` is defined ✔ throws error if xpiPath is invalid ✔ throws error if amoBaseUrl is an invalid URL ✔ passes through metadata json object if defined ✔ includes source data to be patched if submissionSource defined for new addon ✔ includes source data to be patched if submissionSource defined for new version ✔ throws error if submissionSource is not found ✔ throws error if submissionSource is a directory Client ✔ adds a missing trailing slash to baseUrl before setting apiUrl ✔ drops extra characters on baseUrl before setting apiUrl getPreviousUuidOrUploadXpi ✔ calls doUploadSubmit if previous hash is different to current ✔ skips doUploadSubmit if previous hash is the same as current ✔ calls doUploadSubmit if the channel is different to current hashXpiCrcs ✔ returns a sha256 hash of the crc32 hashes of the zip entries ✔ returns a different hash when a directory is added to the zip ✔ returns a different hash when a directory is replaced with an empty file ✔ returns a different hash when a file is renamed ✔ returns the same hash when file order changes doUploadSubmit ✔ submits the xpi waitForValidation ✔ aborts validation check after timeout ✔ waits for validation that passes ✔ waits for validation that fails doNewAddonSubmit ✔ posts the upload uuid ✔ combines provided metaDataJson with upload uuid doNewAddonOrVersionSubmit ✔ puts the upload uuid to the addon detail ✔ combines provided metaDataJson with upload uuid doFormDataPatch ✔ creates the url from addon and version ✔ catches and throws for non ok responses waitForApproval ✔ aborts approval wait after timeout ✔ waits for approval downloadSignedFile ✔ downloads the file to tmpdir ✔ raises when the response is not ok ✔ raises a consistent error when fetch raises ✔ raises a consistent error when saveToFile raises postNewAddon and putVersion ✔ creates new add-on; downloads the signed xpi ✔ creates a new version; then downloads the signed xpi doAfterSubmit ✔ skips download if approval timeout is 0 ✔ downloads the signed xpi if approval timeout > 0 ✔ calls doFormDataPatch if patchData.version is defined ✔ does not call doFormDataPatch is patchData.version is undefined fetchJson ✔ rejects with a promise on not ok responses ✔ rejects with a promise on < 100 responses ✔ rejects with a promise on >= 500 responses ✔ resolves with a promise containing response json fetch ✔ sets json content type for string type body ✔ doesn't set content type for FormData type body ✔ doesn't set content type for no body ✔ sends special user agent string ✔ uses a specified proxy saveIdToFile ✔ saves an extension ID to file ✔ will overwrite an existing file saveUploadUuidToFile ✔ saves a uuid & hash to file ✔ will overwrite an existing file getUploadUuidFromFile ✔ gets an upload uuid and hash from a saved file ✔ returns empty strings for uuid and hash if file does not exist ✔ returns empty strings for uuid and hash if file is malformed util.withTempDir ✔ creates a temp directory ✔ destroys the directory on completion ✔ destroys the directory on error util.TempDir ✔ requires you to create the directory before accessing path() ✔ does not throw on remove called before a temp dir is created util/updates checkForUpdates() ✔ calls the notifier with the correct parameters 575 passing (24s) 1 pending ==> Entering fakeroot environment... ==> Starting package()... rm: cannot remove '/build/web-ext/pkg/web-ext/usr/lib/node_modules//web-ext/node_modules/dtrace-provider/build/': No such file or directory ==> ERROR: A failure occurred in package().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/root7/build [?25h[?25hreceiving incremental file list web-ext-8.1.0-1-riscv64-build.log web-ext-8.1.0-1-riscv64-check.log web-ext-8.1.0-1-riscv64-package.log web-ext-8.1.0-1-riscv64-prepare.log sent 100 bytes received 11,432 bytes 23,064.00 bytes/sec total size is 46,129 speedup is 4.00