Background
We have had false positives in the Slack #performance-alerts channel recently flagged by failing builds in https://integration.wikimedia.org/ci/view/Readers%20Teams/
They seem to happen at times when the beta cluster is unstable (e.g. down or read only or API issues - often due to bot scraping)
A recent error looked liked this:
Error: invalidjson: No valid JSON response
at /src/node_modules/mwbot/src/index.js:254:31
at tryCatcher (/src/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/src/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/src/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/src/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/src/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/src/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/src/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/src/node_modules/bluebird/js/release/async.js:102:5)
at Async.drainQueues [as _onImmediate] (/src/node_modules/bluebird/js/release/async.js:15:14)
at process.processImmediate (node:internal/timers:483:21)and
Unhandled Rejection at: Promise {
12:49:51 [0-0] <rejected> WebDriverRequestError: WebDriverError: Request failed with error code UND_ERR_HEADERS_TIMEOUT when running "url" with method "GET"
12:49:51 [0-0] at FetchRequest._libRequest (file:///src/node_modules/webdriver/build/node.js:1941:13)
12:49:51 [0-0] at async FetchRequest._request (file:///src/node_modules/webdriver/build/node.js:1967:20)
12:49:51 [0-0] at async Browser.wrapCommandFn (/src/node_modules/@wdio/utils/build/index.js:982:23) {
12:49:51 [0-0] url: URL {The API calls in particular seem to be problematic as they need to be called at the beginning of each run (and often are unnecessary)
Could these jobs run against a more stable dedicated environment?
User story
- Add user story in the format: “As a [persona], I want to [X], so that [Y]”
Requirements
- Add task requirements. Requirements should be user-centric, well-defined, unambiguous, implementable, testable, consistent, and comprehensive
BDD
- For QA engineer to fill out
Test Steps
- For QA engineer to fill out
Design
- Add mockups and design requirements
Acceptance criteria
- Add acceptance criteria
Communication criteria - does this need an announcement or discussion?
- Add communication criteria
Rollback plan
- What is the rollback plan in production for this task if something goes wrong?
This task was created by Version 1.2.0 of the Web team task template using phabulous