This run took 35 seconds.
$ date
--- stdout ---
Tue Jan 20 05:53:31 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-tools-api-testing.git /src/repo --depth=1 -b master
--- stderr ---
Cloning into '/src/repo'...
--- stdout ---
--- end ---
$ git config user.name libraryupgrader
--- stdout ---
--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---
--- end ---
$ git submodule update --init
--- stdout ---
--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.
--- end ---
$ git show-ref refs/heads/master
--- stdout ---
f013446deb13fb606376b032acf673f43f95289f refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"diff": {
"name": "diff",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1112148,
"name": "diff",
"dependency": "diff",
"title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
"url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx",
"severity": "low",
"cwe": [
"CWE-400",
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<8.0.3"
}
],
"effects": [
"mocha"
],
"range": "<8.0.3",
"nodes": [
"node_modules/diff"
],
"fixAvailable": {
"name": "mocha",
"version": "0.13.0",
"isSemVerMajor": true
}
},
"mocha": {
"name": "mocha",
"severity": "low",
"isDirect": true,
"via": [
"diff"
],
"effects": [],
"range": "0.14.0 - 12.0.0-beta-3",
"nodes": [
"node_modules/mocha"
],
"fixAvailable": {
"name": "mocha",
"version": "0.13.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 2,
"moderate": 0,
"high": 0,
"critical": 0,
"total": 2
},
"dependencies": {
"prod": 53,
"dev": 486,
"optional": 2,
"peer": 1,
"peerOptional": 0,
"total": 538
}
}
}
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"diff": {
"name": "diff",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1112148,
"name": "diff",
"dependency": "diff",
"title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
"url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx",
"severity": "low",
"cwe": [
"CWE-400",
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<8.0.3"
}
],
"effects": [
"mocha"
],
"range": "<8.0.3",
"nodes": [
"node_modules/diff"
],
"fixAvailable": {
"name": "mocha",
"version": "0.13.0",
"isSemVerMajor": true
}
},
"mocha": {
"name": "mocha",
"severity": "low",
"isDirect": true,
"via": [
"diff"
],
"effects": [],
"range": "0.14.0 - 12.0.0-beta-3",
"nodes": [
"node_modules/mocha"
],
"fixAvailable": {
"name": "mocha",
"version": "0.13.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 2,
"moderate": 0,
"high": 0,
"critical": 0,
"total": 2
},
"dependencies": {
"prod": 53,
"dev": 486,
"optional": 2,
"peer": 1,
"peerOptional": 0,
"total": 538
}
}
}
--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
"added": 538,
"removed": 0,
"changed": 0,
"audited": 539,
"funding": 119,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"diff": {
"name": "diff",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1112148,
"name": "diff",
"dependency": "diff",
"title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
"url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx",
"severity": "low",
"cwe": [
"CWE-400",
"CWE-1333"
],
"cvss": {
"score": 0,
"vectorString": null
},
"range": "<8.0.3"
}
],
"effects": [
"mocha"
],
"range": "<8.0.3",
"nodes": [
"node_modules/diff"
],
"fixAvailable": {
"name": "mocha",
"version": "0.13.0",
"isSemVerMajor": true
}
},
"mocha": {
"name": "mocha",
"severity": "low",
"isDirect": true,
"via": [
"diff"
],
"effects": [],
"range": "0.14.0 - 12.0.0-beta-3",
"nodes": [
"node_modules/mocha"
],
"fixAvailable": {
"name": "mocha",
"version": "0.13.0",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 2,
"moderate": 0,
"high": 0,
"critical": 0,
"total": 2
},
"dependencies": {
"prod": 53,
"dev": 486,
"optional": 2,
"peer": 1,
"peerOptional": 0,
"total": 538
}
}
}
}
--- end ---
{"added": 538, "removed": 0, "changed": 0, "audited": 539, "funding": 119, "audit": {"auditReportVersion": 2, "vulnerabilities": {"diff": {"name": "diff", "severity": "low", "isDirect": false, "via": [{"source": 1112148, "name": "diff", "dependency": "diff", "title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch", "url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx", "severity": "low", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": "<8.0.3"}], "effects": ["mocha"], "range": "<8.0.3", "nodes": ["node_modules/diff"], "fixAvailable": {"name": "mocha", "version": "0.13.0", "isSemVerMajor": true}}, "mocha": {"name": "mocha", "severity": "low", "isDirect": true, "via": ["diff"], "effects": [], "range": "0.14.0 - 12.0.0-beta-3", "nodes": ["node_modules/mocha"], "fixAvailable": {"name": "mocha", "version": "0.13.0", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 2, "moderate": 0, "high": 0, "critical": 0, "total": 2}, "dependencies": {"prod": 53, "dev": 486, "optional": 2, "peer": 1, "peerOptional": 0, "total": 538}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
added 537 packages, and audited 538 packages in 5s
119 packages are looking for funding
run `npm fund` for details
# npm audit report
diff <8.0.3
jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch - https://github.com/advisories/GHSA-73rr-hh4g-fpgx
fix available via `npm audit fix --force`
Will install mocha@0.13.0, which is a breaking change
node_modules/diff
mocha 0.14.0 - 12.0.0-beta-3
Depends on vulnerable versions of diff
node_modules/mocha
2 low severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stdout ---
added 537 packages, and audited 538 packages in 5s
119 packages are looking for funding
run `npm fund` for details
2 low severity vulnerabilities
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
[baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
--- stdout ---
> api-testing@1.7.2 test
> npm run lint && nyc --reporter=lcov --reporter=text-summary --reporter=text _mocha --recursive
> api-testing@1.7.2 lint
> eslint --cache .
The action api
framework
✔ should be able to make a request to the action API
✔ should return the original error text if something goes wrong
tag management helpers
✔ should create a new tag and return existing
✔ should be idempotent with respect to new tag creation if force is true
✔ should handle deleting a non-existent tag gracefully
Client Factory
✔ Should share supertest agent between REST and Action API Clients
✔ Should return a test client representing an anonymous user when agent is not supplied to constructor
✔ Should return a REST test client for a specific endpoint
✔ Should return a supertest agent with an empty cookie jar
✔ Should return a supertest agent with a cookie jar set
Configuration
using /tmp/gKsoraLCcJ as the configuration root folder
Loading api-testing config from /tmp/gKsoraLCcJ/.api-testing.config.json
✔ Use .api-testing.config.json file if API_TESTING_CONFIG_FILE does not exist
Loading api-testing config from /tmp/gKsoraLCcJ/configs/quibble.json
✔ Select full path config set in API_TESTING_CONFIG_FILE env variable over local config
✔ Throw exception if config file set in API_TESTING_CONFIG_FILE does not exist
✔ Throws exception if ".api-testing.config.json" doesnt exist and API_TESTING_CONFIG_FILE is not set
Using REST_BASE_URL for configuration
✔ should return a json when REST_BASE_URL is set
Dynamic modification
✔ should apply after calling set()
✔ should apply after calling replace()
Loading api-testing config from /tmp/gKsoraLCcJ/configs/quibble.json
✔ should apply after calling load()
18 passing (143ms)
=============================== Coverage summary ===============================
Statements : 71.58% ( 257/359 )
Branches : 58.9% ( 86/146 )
Functions : 63.15% ( 48/76 )
Lines : 71.83% ( 255/355 )
================================================================================
-------------------|---------|----------|---------|---------|---------------------------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-------------------|---------|----------|---------|---------|---------------------------------------
All files | 71.58 | 58.9 | 63.15 | 71.83 |
REST.js | 34.37 | 21.05 | 12.5 | 34.37 | 52-139
action_clients.js | 85.07 | 82.14 | 63.63 | 85.07 | 30,118-121,125-130,148-160
actionapi.js | 61.6 | 61.11 | 63.63 | 61.29 | ...26,269-277,389-452,476-477,493-503
assert.js | 57.14 | 0 | 20 | 57.14 | 23,35-38,51,62
clientFactory.js | 100 | 100 | 100 | 100 |
config.js | 95.23 | 85.71 | 92.3 | 95.23 | 40,156
utils.js | 67.85 | 50 | 62.5 | 69.23 | 44-54,65,71,83,87,107,114
wiki.js | 85 | 36.36 | 83.33 | 87.17 | 30,49,88-92,112
-------------------|---------|----------|---------|---------|---------------------------------------
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
[DNM] there are no updates
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmpcot0ozxn
--- stdout ---
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
--- end ---