[00:00:39] Yeah [00:00:52] And if it can stand-up to codesearch, I'll point extdist and libup at it too [00:00:59] Nice. [00:02:16] it's powered by a 70 line Python script ^.^ [00:02:33] also, we need to clean up Gerrit [00:03:03] So very much, yes. [00:04:01] !log Docker: Complete rebuild finished and published; only took 2.5 hours. But now T228196 is fixed elsewise anyway, oh well. [00:04:03] Logged the message at https://wikitech.wikimedia.org/wiki/Release_Engineering/SAL [00:04:03] T228196: docker-registry: some layers has been corrupted due to deleting other swift containers - https://phabricator.wikimedia.org/T228196 [00:14:58] legoktm: pull or push? [00:15:07] pull [00:15:23] so codesearch used to have its own way of mirroring repos? [00:15:48] it just clones them locally and pulls regularly [00:15:56] right [00:16:05] legoktm: and it still does, but from this mirror instead? [00:16:14] yes [00:16:17] cool [00:16:43] codesearch also kept like 3 or 4 copies of the same repo, so it would hit gerrit multiple times for the same stuff, and now it's getting deduplicated through the mirror [00:16:53] legoktm: what's the general latency people you'd expect from gerrit merge to indexed? [00:17:08] s/people// [00:17:46] the mirror is going to git fetch every hour, and I'm going to lower codesearch's pull frequency to every 30 minutes since we're not hitting Gerrit itself anymore, so 90 minutes give or take? [00:18:18] (worst case) [00:20:33] How fast was it before? [00:21:14] hourly iirc [00:21:30] ..I have the code open, I don't know why I didn't just read it [00:21:31] an hour [00:22:20] Right. [00:26:54] Jul 17 00:26:31 codesearch4 docker[8610]: 2019/07/17 00:26:31 Failed to clone https://ggmirror.wmflabs.org/cgit/oojs/ui.git, see output below [00:26:54] Jul 17 00:26:31 codesearch4 docker[8610]: Cloning into 'vcs-29f093d4447d83115130403a69195df9332e06d0'... [00:26:54] Jul 17 00:26:31 codesearch4 docker[8610]: fatal: dumb http transport does not support shallow capabilities [00:31:05] https://lists.zx2c4.com/pipermail/cgit/2015-January/002351.html sigh [00:33:38] legoktm: Fun. [00:37:10] (03PS1) 10Jforrester: dockerfiles: Provide ci-buster [integration/config] - 10https://gerrit.wikimedia.org/r/523833 [00:37:12] (03PS1) 10Jforrester: dockerfiles: [lintr] Migrate from jessie all the way to buster [integration/config] - 10https://gerrit.wikimedia.org/r/523834 [00:37:14] (03PS1) 10Jforrester: jjb: [lintr-docker] Migrate to buster-based image [integration/config] - 10https://gerrit.wikimedia.org/r/523835 [00:38:35] Also, tah-dah, buster's here. [00:40:14] (03CR) 10Jforrester: [C: 03+2] dockerfiles: Provide ci-buster [integration/config] - 10https://gerrit.wikimedia.org/r/523833 (owner: 10Jforrester) [00:40:19] (03CR) 10Jforrester: [C: 03+2] dockerfiles: [lintr] Migrate from jessie all the way to buster [integration/config] - 10https://gerrit.wikimedia.org/r/523834 (owner: 10Jforrester) [00:41:07] (Mostly because a bunch of R packages haven't been back-ported from buster, but shhhhh. ;-)) [00:41:43] (03Merged) 10jenkins-bot: dockerfiles: Provide ci-buster [integration/config] - 10https://gerrit.wikimedia.org/r/523833 (owner: 10Jforrester) [00:41:46] (03Merged) 10jenkins-bot: dockerfiles: [lintr] Migrate from jessie all the way to buster [integration/config] - 10https://gerrit.wikimedia.org/r/523834 (owner: 10Jforrester) [00:42:17] !log Docker: Deploy ci-buster and lintr:0.2.0 [00:42:18] Logged the message at https://wikitech.wikimedia.org/wiki/Release_Engineering/SAL [00:58:29] (03CR) 10Jforrester: [C: 03+2] "Deployed." [integration/config] - 10https://gerrit.wikimedia.org/r/523835 (owner: 10Jforrester) [01:00:44] (03Merged) 10jenkins-bot: jjb: [lintr-docker] Migrate to buster-based image [integration/config] - 10https://gerrit.wikimedia.org/r/523835 (owner: 10Jforrester) [01:04:23] ok, mirror is working with smart http now [01:04:36] turns out it's already built into git [02:21:53] https://www.mediawiki.org/wiki/Gerrit/2019_cleanup [03:09:09] what does archiving mean on that page? [03:12:50] TimStarling: usually, empty the repo leaving behind a README or ARCHIVED file, mark it as read-only in Gerrit, disable any CI, archive any phab projects, wiki pages, etc. We have a checklist for MW extensions/skins, but not a generic one yet [03:13:35] this is for security? or some other reason? [03:13:56] Reduce load on people doing security checks, things indexing repos, etc. [03:14:09] Avoid misleading people that this software might work or be supported. [03:14:17] just cleanup, makes it obvious the repo isn't being used [03:15:35] James_F: oh, I have the page sorted by date rather than repo [03:17:21] do you want me to sort it the other way? I can just tweak the script [03:19:06] legoktm: Mostly I wanted to split out the operations/debs stuff from the rest, as it's mostly all of a type. [03:19:40] But yeah, alpha-sort is more likely for people to notice "their" old repos without having to read 2000 lines. [03:19:56] something like ircecho presumably works as well as ever, with no obvious security concerns, and it's hard to know if anyone is using it [03:20:21] making it so that "git pull" erases all the source files seems quite intrusive [03:21:21] probably. though it'll need to get ported to Python 3 if people want to keep using it [03:21:56] Yeah, another argument in favour of blanking old code. But disruption for downstream users is a fair point. [03:22:01] will there be a documented way to get the code prior to archiving, aside from git checkout HEAD^ ? [03:22:19] at least for MW, it's supposed to be intrusive so people know that the thing has been archived and no longer supported [03:22:33] we could put that in the README [03:22:57] TimStarling: Example current practice is https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Convert2Wiki/+/523811 [03:23:40] TimStarling: I.e. you end up with a repo with just https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Convert2Wiki/+/master/ARCHIVED or similar in it. [03:24:41] Oh dear. https://www.mediawiki.org/wiki/Special:Watchlist -> "Internal error" for me. [03:24:44] for extensions, the security concerns are somewhat different than for a standalone thing that will work essentially forever if you can find its dependencies [03:24:53] I think what we do will depend upon what exactly is in the repo. e.g. if it's just a fork or copy of some upstream (lots of ops stuff), we can blank it and leave a pointer to the upstream [03:25:17] if it's custom code that's useful outside of Wikimedia, we should deliberate a bit more on whether blanking is best, or whether we should just mark it as unmaintained [03:25:30] Internal error and no