[00:03:58] 3Wikimedia / 3Quality Assurance: Add browser tests for major core features - 10https://bugzilla.wikimedia.org/66272#c4 (10James Forrester) 5PATC>3NEW Gerrit 133507 is now merged; should this be marked as FIXED? [04:00:41] hi [04:03:20] i want to join as qa volunteer [04:03:24] please help [04:45:15] mini: hi there! Check out https://www.mediawiki.org/wiki/Quality_assurance/gettingstarted [04:45:33] mini: let me know if you have any questions, but warning, it is almost 10pm my time, and I'll be going to be soon. [04:46:45] ok thanks i will go through the link [08:05:17] 3Wikimedia / 3Quality Assurance: Add browser tests for major core features - 10https://bugzilla.wikimedia.org/66272#c5 (10Antoine "hashar" Musso) 5NEW>3RESO/FIX Sounds like. Unless both Chris want to reuse that bug as tracking ticket :-) [12:36:25] (03PS1) 10Hashar: Zuul initial clonemap for MediaWiki [integration/jenkins] - 10https://gerrit.wikimedia.org/r/141946 [12:40:26] (03PS1) 10Hashar: integration-jenkins-yamllint [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141947 [12:40:38] (03PS1) 10Hashar: integration-jenkins-yamllint [integration/zuul-config] - 10https://gerrit.wikimedia.org/r/141948 [12:41:46] (03CR) 10Hashar: [C: 032] integration-jenkins-yamllint [integration/zuul-config] - 10https://gerrit.wikimedia.org/r/141948 (owner: 10Hashar) [12:41:50] (03Merged) 10jenkins-bot: integration-jenkins-yamllint [integration/zuul-config] - 10https://gerrit.wikimedia.org/r/141948 (owner: 10Hashar) [12:42:24] (03CR) 10Hashar: "recheck" [integration/jenkins] - 10https://gerrit.wikimedia.org/r/141946 (owner: 10Hashar) [12:42:27] (03CR) 10jenkins-bot: [V: 04-1] Zuul initial clonemap for MediaWiki [integration/jenkins] - 10https://gerrit.wikimedia.org/r/141946 (owner: 10Hashar) [12:42:57] (03CR) 10Hashar: "recheck" [integration/jenkins] - 10https://gerrit.wikimedia.org/r/141946 (owner: 10Hashar) [12:43:35] (03CR) 10Hashar: [C: 032] Zuul initial clonemap for MediaWiki [integration/jenkins] - 10https://gerrit.wikimedia.org/r/141946 (owner: 10Hashar) [12:43:38] (03Merged) 10jenkins-bot: Zuul initial clonemap for MediaWiki [integration/jenkins] - 10https://gerrit.wikimedia.org/r/141946 (owner: 10Hashar) [12:43:45] (03CR) 10Hashar: [C: 032] integration-jenkins-yamllint [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141947 (owner: 10Hashar) [12:44:14] (03Merged) 10jenkins-bot: integration-jenkins-yamllint [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141947 (owner: 10Hashar) [12:46:16] (03PS3) 10Hashar: Use mw-run-update-script.sh script [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141851 [12:47:03] (03PS3) 10Hashar: (WIP) Experiment zuul-cloner with extensions [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 [12:47:07] (03PS4) 10Hashar: (WIP) Experiment zuul cloner (replace multigit.sh) (WIP) [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141819 [12:47:49] (03CR) 10Hashar: "rebased on top of https://gerrit.wikimedia.org/r/#/c/141851/ ""Use mw-run-update-script.sh script""" [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 (owner: 10Hashar) [12:47:53] (03CR) 10Hashar: "rebased on top of https://gerrit.wikimedia.org/r/#/c/141851/ ""Use mw-run-update-script.sh script""" [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141819 (owner: 10Hashar) [12:54:05] (03PS4) 10Hashar: (WIP) Experiment zuul-cloner with extensions [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 [12:54:08] (03PS5) 10Hashar: (WIP) Experiment zuul cloner (replace multigit.sh) (WIP) [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141819 [12:54:34] (03CR) 10Hashar: "Now use the clone map provided by https://gerrit.wikimedia.org/r/#/c/141946/ in integration/jenkins.git" [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 (owner: 10Hashar) [12:54:57] (03CR) 10Hashar: "Now use the clone map provided by https://gerrit.wikimedia.org/r/#/c/141946/ in integration/jenkins.git" [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141819 (owner: 10Hashar) [13:05:17] (03PS1) 10Hashar: zuul clonemap: clone to /src/ instead of /src/core [integration/jenkins] - 10https://gerrit.wikimedia.org/r/141954 [13:05:28] (03CR) 10Hashar: [C: 032] zuul clonemap: clone to /src/ instead of /src/core [integration/jenkins] - 10https://gerrit.wikimedia.org/r/141954 (owner: 10Hashar) [13:05:31] (03Merged) 10jenkins-bot: zuul clonemap: clone to /src/ instead of /src/core [integration/jenkins] - 10https://gerrit.wikimedia.org/r/141954 (owner: 10Hashar) [13:08:56] holy shit [13:09:06] it works https://integration.wikimedia.org/ci/job/mediawiki-core-extensions-integration/8/console ! [13:16:30] (03PS5) 10Hashar: (WIP) Experiment zuul-cloner with extensions [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 [13:17:19] (03CR) 10Hashar: "Added mediawiki/extensions/cldr" [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 (owner: 10Hashar) [13:42:53] (03PS6) 10Hashar: (WIP) Experiment zuul-cloner with extensions [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 [15:38:32] 3Wikimedia / 3Quality Assurance: Add browser tests for major core features - 10https://bugzilla.wikimedia.org/66272#c6 (10Chris McMahon) Fixed is good. From here on out we'll manage the /core/tests/browser repo like all the other /tests/browser repos. [17:05:54] Hi ryasmeen [17:06:42] hi ritus, welcome! [17:09:47] ritus: Rummana doesn't seem to be here right now, she is "ryasmeen|Away". can I help you with anything? [17:23:19] Hi Chris thank you [17:24:06] I came across few issues in the Wikitext editor and would like to log them [17:24:49] i searched if they have been previously reported in the bugzilla [17:24:58] didn't find it there [17:25:58] My question is under what product and under component should i log it? [17:29:53] ritus: one moment... [17:30:39] ritus: wikitext editor bugs in bugzilla are under Mediawiki/Page editing [17:31:52] thank you :) [18:54:04] chrismcmalunch: mind pinging me when you're back from lunch? have a favor to ask you for next week (a one day only deal!) [19:47:18] hi greg-g what's up? [19:50:08] chrismcmahon: the short version is: I'd like to take next thursday off (july 3rd, day before fourth of july, day after my birthday). The only worrisome part, really, is it is a Thursday deploy. Would you be up to being pingable and be willing to ping others in case of anything troublesome? (*knock on wood*) [19:50:41] greg-g: it's a big responsibility, but I think I'm up to it ;-) [19:50:52] :) [19:50:57] pinging is tough ;) [19:51:15] greg-g: any particular times/risks/whatever? [19:51:17] thanks man [19:51:29] not that I know of yet [19:51:35] greg-g: np, I am taking off all the following week [19:51:35] I'll sync with you on Wednesday [19:51:40] sounds good [19:51:41] yeah, saw that, enjoy :) [19:51:53] I haven't had a whole week off in a really long time. [19:53:43] * greg-g nods [19:53:54] mine is coming in August [19:58:54] (03CR) 10Hashar: [C: 04-2] "That cause the MediaWiki update.php script do die out with:" [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141851 (owner: 10Hashar) [20:10:31] (03PS1) 10Hashar: Sleep one second between update.php runs [integration/jenkins] - 10https://gerrit.wikimedia.org/r/142060 [20:11:13] (03CR) 10Hashar: "Issue described above should be fixed by https://gerrit.wikimedia.org/r/142060 """Sleep one second between update.php runs [integration/je" [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141851 (owner: 10Hashar) [20:11:28] (03CR) 10Hashar: [C: 032] Sleep one second between update.php runs [integration/jenkins] - 10https://gerrit.wikimedia.org/r/142060 (owner: 10Hashar) [20:11:31] (03Merged) 10jenkins-bot: Sleep one second between update.php runs [integration/jenkins] - 10https://gerrit.wikimedia.org/r/142060 (owner: 10Hashar) [20:14:34] (03PS7) 10Hashar: (WIP) Experiment zuul-cloner with extensions [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 [20:15:59] (03CR) 10Hashar: "Added back cldr. We had an issue when update.php got run twice in a row. Worked around by sleeping one second between update.php runs [int" [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 (owner: 10Hashar) [20:23:06] (03PS8) 10Hashar: (WIP) Experiment zuul-cloner with extensions [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 [21:40:04] (03PS9) 10Hashar: (WIP) Experiment zuul-cloner with extensions [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 [21:42:58] (03CR) 10Cmcmahon: [C: 032] Moved a couple of UploadWizard from Cloudbees [integration/jenkins-job-builder-config] (cloudbees) - 10https://gerrit.wikimedia.org/r/141449 (owner: 10Zfilipin) [21:46:08] (03PS10) 10Hashar: (WIP) Experiment zuul-cloner with extensions [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 [22:15:26] chrismcmahon, hashar: I want to add the Mantle extension to betalabs because new Flow needs it, thus https://gerrit.wikimedia.org/r/#/c/142142/ Anything else I need to do? [22:16:59] spagewmf: make sure Mantle is registered in mediawiki/extensions.git :-) [22:17:15] (it is ) [22:17:21] so yeah looks good [22:17:35] I know folks keep forgetting about wmf-config/extension-list-labs [22:18:11] hashar: glad you checked, https://wikitech.wikimedia.org/wiki/How_to_deploy_code doesn't mention that [22:19:37] that is only for beta [22:20:01] hmm [22:20:07] no prod need something similar maybe [22:20:09] i can't remember :-( [22:24:16] hashar: it *is* written down, https://www.mediawiki.org/wiki/Writing_an_extension_for_deployment#Deploy_to_beta_cluster_on_Labs :) yay. Adding a link [22:24:47] \O/ [22:25:08] various folks doing deployment can help as well [22:25:17] I barely do any mw deployments / code nowadays [22:26:26] greg-g: so testing all extensions together is not working :-] [22:26:47] took me two hours to manage to pass install.php [22:26:49] and [22:27:10] PHPUnit finally ran but got a fatal error \O/ [22:27:58] :/ [22:28:03] hashar: who should I ask to +2 https://gerrit.wikimedia.org/r/#/c/142142/ ? [22:28:28] greg-g: easy $20 for you ^ [22:28:43] greg-g: but I got a bunch of useful informations for my cross repositories RFC :] [22:28:58] greg-g: it is too late for me to reasonably grant +2 on anything [22:29:21] but yeah that one is probably fine and has no impact on labs prod :]  you might want to double check with someone more awake than I [22:29:23] and I actually don't have +2 there ;) (semi-on purpose) [22:30:04] gerrit 1 42 1 42 contains the answer to the the meaning of life! It's a sign. https://en.wikipedia.org/wiki/42_%28number%29#The_Hitchhiker.27s_Guide_to_the_Galaxy [22:30:37] hashar: thanks as always for staying up! [22:31:19] oh I am not being productive though :(- [22:31:37] today I crafted a jenkins job to run phpunit with all extensions together [22:31:39] chrismcmahon: can you +2 a labs config change (in operations/mediawiki-config) ? [22:31:58] for your change, you can ask in -operations or some folks that use to deploy regulary [22:32:02] i.e. my team :] [22:32:03] spagewmf: hmm, last time I looked I did not have +2 in operations [22:32:33] hashar: wow. Feel free not to answer, but do we have a jenkins job to run *q*unit with all extensions together ? [22:32:47] spagewmf: nope, don't have the privs to +2 that [22:35:38] (03PS11) 10Hashar: (WIP) Experiment zuul-cloner with extensions [integration/jenkins-job-builder-config] - 10https://gerrit.wikimedia.org/r/141846 [22:35:49] spagewmf: nop :-/ [22:36:13] spagewmf: but that is a known issue! [22:36:38] the challenge is fetching all the repos with the proper branches [22:36:48] or Zuul references [22:37:00] I got a python client that solves that [22:37:08] and play testing it with extensions at https://integration.wikimedia.org/ci/job/mediawiki-core-extensions-integration/35/console [22:38:04] but yeah qunit we will need [22:38:09] as well as browser tests [22:38:20] anyway 1am, I am way overtime [22:41:13] Krinkle: how much do we not locally cache/mirror and/or bundle when it comes to gems/npm/etc? [22:41:33] greg-g: They change every few hours, cache is just cache. [22:41:52] Krinkle: I mean, when we deploy [22:42:04] And people specify arbitrary dependencies in git that we need to fetch on demand. [22:42:13] are we deploying just "whatevers up in those repositories" or do we deploy specific versions (my recolection is the later) [22:42:18] right [22:42:22] I thought you were referring to ops thread about sandboxing jenkins job execution [22:42:27] I am :) [22:42:32] OK [22:42:55] We deploy using git-deploy, in those specific repos node_modules is fetched manually and then fixed [22:43:14] we don't fetch from third parties in production directly, but it's not far off. [22:43:28] just trying to determine if we can get by with having intranet copies of the needed repos to limit exposure? [22:43:43] right, that's what I thought (not fetching from 3rd parties in prod) [22:44:37] since, we don't just use whatever's the latest version of any given package/library/npm, we explicitly upgrade, so, having a local mirror wouldn't affect testability [22:44:41] We have vague plans to set up a proxy/mirror for npm and perhaps others (like apt.wikimedia.org) though only for performance reasons and to some degree security (security that a package once published doesn't change) [22:44:50] yeah [22:45:07] this (isolated instances) might push some of that further along [22:45:25] But a plain mirror wouldn't suffice, it'd have to go through to third-party on demand if that version isn't mirrored yet. [22:45:56] true, and just trusting whatever the build says it needs isn't any safer than just going directly to third-party then [22:45:59] hmm [22:46:17] Well, it'd fetch it once during the test, then during deployment it'd be from the mirror. [22:46:25] so at least it's consistent. [22:46:34] it wouldn't change between test and prod [22:46:48] yeah, only issue would be someone taking advantage of a vulnerable package that was just published that we havent' reviewed yet [22:47:11] there's other stuff as well though, like fetching from gerrit.wikimedia, git.wikimedia, github.com or whatever it might do. [22:47:25] I think it should not be a goal to have the test vms have no outgoing connectivity. [22:47:37] new version of some npm module with an exploit, someone upgrades the npm modeul in the build and runs exploiting code in a test, boom [22:47:39] as well as composer-install for mediawiki [22:48:02] the tests are isolated in throw-away vms with no cluster access. [22:48:35] By design if any arbitrary code exploit is a problem, the test environment is wrong. [22:48:48] People can just as well submit that exploit as a patch in gerrit. [22:48:52] yeah.. true, they already have root... so what's the diff... [22:49:05] No need to go through a repository and make it difficult :P [22:49:32] submit a path to mediawiki core in gerri that does proc_open('rm -rf ../../.././'); [22:49:41] (don't do that) [22:49:42] :) [22:50:15] Right now we rely on whitelisting individual users to bypass pre-review for pre-merge-testing. For new gerrit accounts we only execute lint tests, not executing php /phpunit. [22:50:37] In teh future, we'll spawn throw-away labs vms and run all tests. Without having to care about this. [22:51:22] yeah, is it worth mimicking what travisci does wrt their security model? [22:51:41] What're you referring to exactly? [22:52:15] what they do/don't allow [22:52:24] basically [22:52:39] they allow anything sudo [22:52:50] they keep a pool of instances spawned ahead of time, assign each job an instance, and destruct after. [22:53:05] not using openstack, but something proprietary [22:53:09] * greg-g nods [22:53:22] as long as we kill at X minutes, we're probably mostly ok [22:53:30] Openstack has that feature though, and openstack (the organisation) uses this for their Jenkins already. [22:53:37] yeah, that's all built-in. [22:54:25] attach to pool, ssh into it from jenkins, fetch the data, execute the tests, timeout and/or collect output and use exit code to flag build status. [22:55:03] ok, good enough for me :) [22:55:30] thanks Krinkle [22:56:13] I think it's fine how there's this thread about a million different approaches, but as far as I'm concerned we're going with labs. It is semantically correct (matches the same requirements), and is a model proven to work by Openstack, browserstack, Travis CI, saucelabs, etc.. And if some of the other alternatives are really mature and appropiate enough, I;m sure we'll eventually change labs to use that. [22:56:36] and would save a lot of R&D and maintenance by not being a separate cluster. [22:56:57] yeah, I find the idea of doubling knowledge needed unuseful [22:57:04] brb [22:57:08] If ops want ssomething else they're gonna have to build and maintain it themselves :) [22:57:48] Jenkins as it is is already understaffed. Hashar and I certainly won't be able to build and maintain something like a cluster of Docker or otherwise. [22:58:04] hm.. I should mention that in the thread. [23:00:47] yes