[01:13:44] (PS15) AndyRussG: [WIP] Custom mixin param handlers [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/343953 (https://phabricator.wikimedia.org/T144453) [01:19:43] (PS3) AndyRussG: [WIP] Custom mixin param handlers [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/344988 (https://phabricator.wikimedia.org/T144453) [01:22:34] (CR) jerkins-bot: [V: -1] [WIP] Custom mixin param handlers [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/344988 (https://phabricator.wikimedia.org/T144453) (owner: AndyRussG) [01:28:00] (PS4) AndyRussG: [WIP] Banner sequence campaign mixin [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/344988 (https://phabricator.wikimedia.org/T144453) [01:31:08] (CR) jerkins-bot: [V: -1] [WIP] Banner sequence campaign mixin [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/344988 (https://phabricator.wikimedia.org/T144453) (owner: AndyRussG) [04:24:26] (PS16) AndyRussG: [WIP] Custom campaign mixin param handlers [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/343953 (https://phabricator.wikimedia.org/T144453) [14:00:21] Fundraising-Backlog: SV Thank You page to Facebook error - https://phabricator.wikimedia.org/T161727#3150741 (Pcoombe) Open>Invalid That's weird. We don't use Facebook apps at all so this must be a problem which has to be solved on the user's end. I did try in Chrome and Firefox (looks like that's wh... [14:04:29] the length of the jenkins login loop seems directly correlated to how broken jenkins is at the moment [14:12:08] anyway it's doing the ArrayIndexOutOfBoundsException thing again so i'm going to restart [14:23:58] !log restarted jenkins to stop ArrayIndexOutOfBoundsException error [14:24:04] Logged the message at https://wikitech.wikimedia.org/wiki/Server_Admin_Log [14:25:38] don't see any blank nextBuildNumber files [14:25:40] * cwd wipes brow [14:38:04] Wikimedia-Fundraising: Maybe Later link in desktop small banner nag not working in IE9/10 - https://phabricator.wikimedia.org/T162049#3150839 (Pcoombe) [17:00:19] fr-tech: Good night, Mrs. Calabash, wherever you are. [17:00:19] -- discuss. [17:36:39] i guess k4 is still overseas and i shouldn't expect her to show up for 1on1 [17:36:47] amirite guise [17:36:55] cwd: I think she is flying right now [17:37:04] ty dstrine [17:37:12] np [17:44:09] * XenoRyet stops prepping for meeting with K4 [17:55:31] lol [19:25:49] well jenkins is smoldering again [19:26:06] it seems to be rotting at an increased speed [19:26:11] it knows something's up [19:27:06] rear brakes. not cool [19:27:41] The tool to push and twist didn't fit cos I had worn the pads down too far [19:28:01] Tha failmail looks fun! [19:29:01] i kicked it earlier but the old trick seems to be becoming less effective [19:30:44] Thanks for doing that, too [19:30:47] What is it? [19:31:04] no idea [19:31:08] restarting used to fix it [19:31:24] i do not feel compelled to crack open the .war file [19:32:23] .war? It's coming from Ingenico's API, I think. [19:32:55] awight: i am talking about java.lang.ArrayIndexOutOfBoundsException [19:33:09] i think the ingenico one is separate [19:34:00] Fundraising-Backlog, FR-Ingenico: SmashPig failing with Ingenico "NO DIRECTORY FOUND" - https://phabricator.wikimedia.org/T162087#3152043 (awight) [19:34:53] ahh [19:35:03] on that note... [19:35:11] Anything happen with process-control today? [19:36:04] Jenkins is looking peaked, indeed. [19:36:22] awight: i have been trying to get it working [19:36:29] there are a few options at this point [19:36:42] it seems to lock up the system with most commands i give it [19:36:53] oh dang [19:36:55] like how? [19:36:57] also a "permission denied" error i haven't dug into [19:37:07] cool, I can figure that out [19:37:10] awight: if i run for instance `yes 'please'` [19:37:20] the vm locks up [19:37:21] so you've been trying cron-generate [19:37:21] ? [19:37:25] vm? [19:37:25] no [19:37:34] (PS17) AndyRussG: [WIP] Custom campaign mixin param handlers [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/343953 (https://phabricator.wikimedia.org/T144453) [19:37:36] just trying to run things to see if the output collating works [19:37:42] paste me a commandline? [19:38:11] while sleep 1; do echo 'hi'; done [19:38:12] cos I was able to run on the old CRM host [19:38:28] That locks the shell or the vm? [19:38:44] the vm i'm using grinds to a halt [19:38:49] wtf [19:38:49] it is basically a civi server [19:39:12] i am trying to fuzz the i/o to make sure all that goes as we desire [19:39:17] that while command looks sort of like a forkbomb [19:39:31] how about: while 1; do sleep 1; echo hi; done [19:39:48] i mean you can run it interactively and nothing bad happens [19:39:58] while true; do sleep 1; echo hi; done [19:40:03] try just [19:40:05] yes 'please' [19:40:15] kk [19:40:25] i am wondering if the output buffering is getting out of control [19:40:43] btw, the "command" parameter isn't run in a shell, so not sure how your semicolons are interpreted [19:40:52] or is that the contents of a shell script? [19:41:08] heh when i tried it in a script i got "permission denied" every time [19:41:11] i couldn't figure out why [19:41:34] possibly because the user you ran as doesn't have access to the absolute path where your script is located? [19:41:39] no sudo? [19:41:45] it was 777 [19:41:50] I know that ~ is 700 on the real server [19:42:00] not the script, the enclosing directory hierarchy [19:42:04] oh yeah [19:42:06] that must have been it [19:42:08] i'll try again [19:42:15] haha, got me too. [19:42:26] (PS5) AndyRussG: [WIP] Banner sequence campaign mixin [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/344988 (https://phabricator.wikimedia.org/T144453) [19:44:32] I'm not sure how your script is gonna prove that we're not losing the last second of output, btw [19:44:43] donno what to do better, either. [19:44:47] (CR) jerkins-bot: [V: -1] [WIP] Banner sequence campaign mixin [extensions/CentralNotice] - https://gerrit.wikimedia.org/r/344988 (https://phabricator.wikimedia.org/T144453) (owner: AndyRussG) [19:44:58] awight: why the last second? [19:45:02] cause cron? [19:45:18] maybe print a timestamp every .01 seconds and tee to a second file [19:45:33] second [19:45:40] uh [19:45:42] standup [19:52:23] awight: i am wondering if we have to build a version for barium that we will kill as soon as it works [19:52:39] if we choose to target 1001/python 3.4 we have this available: [19:53:05] https://docs.python.org/3/library/asyncio.html [19:53:24] proc = yield from asyncio.create_subprocess_exec( [19:53:26] 'python', '-c', 'print(\'Hello async world!\')') [19:53:28] stdout, stderr = yield from proc.communicate() [19:53:30] retcode = proc.returncode [19:53:32] doesn't that look not horrible? [20:02:54] awight: also Jeff_Green wrote the behavior we need in very little perl: https://gist.github.com/caseydentinger/7611eb0acb05e001b5f6cf02ecf984e1 [20:19:57] cwd: I'm keeping this thing py3 compatible, so no worry about deprecation [20:20:08] anyway, I think python2.7 will live forever [20:20:25] 2020 [20:21:15] here's a backport to py2, https://pypi.python.org/pypi/trollius/ [20:22:16] cwd: that sample code looks nice--how does that yield step work? [20:22:46] subprocess.Popen.communicate() is blocking, but I guess in asyncio it isn't? [20:23:52] aside--I just learned that X11 default packages were hobbling my touchpad [20:24:05] I could only get natural scrolling working by *removing* two packages [20:26:20] Fundraising Sprint Far Beer, Fundraising Sprint Gondwanaland Reunification Engine, Fundraising-Backlog, Patch-For-Review, Unplanned-Sprint-Work: process-control streams to log - https://phabricator.wikimedia.org/T161571#3152214 (awight) @cwdent found some libraries that might simplify our cod... [20:26:43] cwd: what commit are you seting, btw? [20:26:59] awight: i was using the .deb'd one [20:27:18] IMO the streaming problem is solved "enough" in https://gerrit.wikimedia.org/r/#/c/345429/ [20:27:29] yeah the .deb is old news [20:27:34] and doesn't have any streaming capability [20:27:45] ... sorry I started work 3 hours late [20:27:48] awight: did you switch to libinput? [20:27:54] leaving you to guess and stuff [20:28:04] i got much better touchpad performance from that [20:28:09] cwd: yeah exactly [20:28:14] nice [20:28:20] it was already there, but masked by evdev and synaptics cruft [20:28:32] awight: no worries, i did some exploring that felt useful [20:28:44] how do you run this code without packaging? [20:28:45] Is ejegg|away around today? [20:28:50] I run locally [20:29:00] nah, i think he might be traveling? [20:29:09] o k [20:29:10] yeah...mine is like can't find modules and stuff [20:29:13] i can't python [20:29:27] pip install -r requirements.txt [20:29:30] is all [20:29:35] perfect [20:29:37] ty [20:29:39] you can also "python setup.py develop" [20:30:01] that's a nice one, it will install your package globally but as symlinks to the dev directory. [20:30:26] so many idioms [20:30:47] well setup.py is a superset AFAIK [20:30:52] isn't the module available in deb form? [20:31:15] Jeff_Green: yeah but cwd is trying to test unmerged changes, I think [20:31:45] oh i misread, I thought he was trying to get dependency thing [20:31:45] yeah i will re-deb once it looks good [20:34:30] (CR) Awight: Run commands in sequence (3 comments) [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345429 (https://phabricator.wikimedia.org/T161035) (owner: Awight) [20:34:47] cwd: Want to work on cron-generate? [20:34:50] awight: what is definitely missing from master at this point? [20:34:54] That shouldn't have changed since master. [20:35:15] what was wrong with that? just perms? [20:35:32] Last we spoke, you ran into a thing to ask Jeff_Green [20:35:49] we were... uncomfortable whitelisting remote command "sudo cron-generate" [20:36:04] Or did we solve that with setui? [20:36:05] d [20:36:50] that's already whitelisted! [20:38:00] awight: also I created wrappers in /usr/local/bin/* that handle sudo for on-host users, it works ok now because those are earlier in the stock path than /usr/bin/* but it may be good to move the scripts out of the normal path entirely [20:40:13] Jeff_Green: Where should that happen? Should the .deb interface with "alternatives" or something [20:40:16] > [20:40:18] ? [20:40:48] if we can get that to work it's ok with me [20:41:25] i tried in vain with a debian/install file but it seemed superseded by setup.py [20:41:27] Is /usr/local/bin gonna be good enough for the MVP, at least? [20:41:37] yes [20:41:51] cool. I'll entask the followup work [20:41:51] it's really not a big deal, worst that will happen is you won't get sudo for free, right? [20:42:26] well it might be a big deal [20:42:34] awight: did cwd mention the idea of making run_job punt if it's invoked as any user other than the one configured in the global config? [20:42:44] if the tool runs as your own user, it could thrash file permissions on output files [20:42:52] oh. [20:43:00] i failed to mention that [20:43:05] Yeah we talked about that, but I was hoping to make it a OS-level responsiblity [20:43:08] easy to implement, no? [20:43:21] sure but incredibly aggravating for pretty much anyone else who uses this [20:43:27] why? [20:43:44] make it a configurable option? [20:43:58] ugh [20:44:04] yeah I suppose [20:44:14] what's the alternative? [20:44:37] Iono, have something about the system permissions do that for us [20:44:58] like, we're unable to write a lockfile to /var/run/p-c [20:46:08] well let's think about the non-puppet user's perspective [20:46:41] package gets installed, everything is owned by root, either executable only by root, or by everyone [20:47:52] could make the package muck with user/group config, but that seems terrible [20:48:07] It's awkward that the .deb needs to know the service user [20:48:15] right [20:48:32] why does the .deb need to know? [20:48:34] some packages create their own users [20:48:37] isn't it just in the config? [20:48:52] the config that run-job reads? [20:48:53] we're talking about the version where what's in the config is not used here [20:49:13] Only third parties will run into this problem, but it's still worth solving [20:49:37] the .deb should create e.g. /var/log/process-control, and give itself mode 660 [20:49:55] why is it aggravating for other people? if the example user doesn't exist? [20:50:15] awight what's the group ownership? [20:50:37] The group is so that fr-devs can read the logs and config [20:50:54] no, what is the name of the group that the package sets to own that dir? [20:51:10] The package currently doesn't do any of that good stuff [20:51:13] We rely on puppet [20:51:23] right [20:51:41] I'm saying: without puppet or doing it by hand, the dir is either not going to exist, or the package is going to create it [20:52:09] and if the package creates it, unless otherwise specified it will be root.root 660, which is not good [20:52:40] Yeah we shouldn't leave that sort of double-edged default laying around [20:53:13] i really think it's a good thing to make it configurable in the process-control global config [20:53:32] would the installer read it out of the yaml? [20:53:37] The service user is currently configurable [20:53:43] bleh [20:54:04] does it really matter whilst this is a private package? [20:54:10] All that's missing IMO is * package doesn't do anything with dirs, like we said, and * it's possible to run the tool as a regular user, which can cause problems [20:54:29] http://wiki.c2.com/?MakeItWorkMakeItRightMakeItFast [20:54:43] Jeff_Green: The directories are also configurable. sorry, am I missing something? [20:54:48] we can molly guard the user thing in one line in the app [20:54:56] in run-job [20:55:07] ^^^ that's the cleanest approach I can think of [20:55:10] sure, it feels gross to me but no big deal [20:55:23] the whole thing is shell glue [20:55:40] the alternative is a bunch of site-specific config which is gross in other ways [20:55:44] it's not my favorite thing but meh [20:55:51] Fundraising-Backlog: process-control package sets up service user and directory permissions - https://phabricator.wikimedia.org/T162093#3152277 (awight) [20:56:33] i say for v1 we could just puppet everything into submission and then observe the working system to make the package better [20:56:52] once we are for sure about what the perms should be etc [20:56:54] the puppet part is already done [20:57:09] yeah [20:57:17] we can shave that yak later [20:57:25] We already have service user in the config, so I'll go ahead and write that "if I am not myself" [20:57:45] there is probably a poetic way to program that [20:58:00] whoami || panic [20:58:08] if you invoke 'run_job' on barium now, you get /usr/local/bin/run_job which is a wrapper that does "sudo -u jenkins /usr/bin/run_job {args}" [20:58:24] hyphen? [20:58:28] kk that's great [20:58:37] awight: i'm going to test it more but you are feeling comfortable with how logging is buffered on master? [20:58:49] awight: $@ [20:58:54] Jeff_Green: sweet [20:59:45] Jeff_Green: I think you were out, but I wanted to let you know I made the CLI changes you suggested, so run-job takes job name and not arbitrary file paths [20:59:46] awight: down the road if this feature is painful, we could easily make $bale_if_unsane_user a config option [20:59:53] (/me goes to check whether ".." defeats that) [21:00:03] awight: cool [21:00:16] yeah i was going to suggest to only compare if it's set [21:00:26] optional user restriction [21:02:13] default is unset and puppet sets it [21:02:46] seems like you'd need to build out more features if you don't restrict user [21:03:08] cuz of the lock and history files created by another user problem [21:03:09] yeah, like user-configurability [21:03:13] yep [21:03:15] yeah [21:03:38] ah yeah, you're right [21:03:53] a boolean to turn on the whitelist is better [21:04:12] i guess we already have drush wrapped to run under sudo, so that part might not break [21:09:53] (PS10) Awight: Run commands in sequence [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345429 (https://phabricator.wikimedia.org/T161035) [21:10:09] cwd: ^ that's ready for VM tests if you wish [21:10:13] awight: if i install this with requirements.txt, where is that going to put it vs. the .deb install? [21:10:18] (CR) jerkins-bot: [V: -1] Run commands in sequence [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345429 (https://phabricator.wikimedia.org/T161035) (owner: Awight) [21:10:18] alternatively, we could focus on cron-generate [21:10:53] cwd: I donno actually. If you want maximum likeness, then run "sudo python setup.py install" [21:12:05] well i also don't want to install it in such a way that it's going to overlap with the .deb install [21:12:15] cause i want this box to look like civi [21:12:27] I think you can setup.py uninstall when you're done [21:12:30] but i don't understand what python does with these files [21:12:34] ok cool [21:12:36] ty [21:13:16] pip show -v LIB will give you the installed path, fwiw [21:15:34] nice, thanks [21:15:50] just learning that stuff, myself [21:16:44] python has maximum associated conventions [21:17:14] and inconsistent docs [21:17:25] well, uneven coverage at least [21:17:33] I had the hardest time finding "setup.py develop" [21:18:11] ^^^ i can't help going down this mental path when I see the term "pythonic" [21:18:15] You would think it would be under https://docs.python.org/2/distutils/setupscript.html#installing-scripts [21:18:41] haha--pythonic as in, hiding under a rug but capable of eating an adult human [21:18:49] yes [21:25:43] the problem is how enthusiastic people are about it [21:26:00] something i like about php programmers is we can all commiserate about how bad the language is [21:26:25] but python people seem to _really like python_ [21:26:30] seems cultish [21:26:31] My theory is that Python's greatness is in fact that it was designed by a not-so-great programmer [21:27:06] awight: i thought that's why php was great [21:27:09] to be fair so was php [21:27:10] ... the thing it gets right is that it doesn't draw any conclusion about the best way to do things [21:27:11] yeah [21:27:17] naw php can only do it one way: wrong [21:27:37] wait a minute, that sounds like the standard defense of perl [21:27:44] hahaha [21:27:49] tmtowtdi [21:27:53] * awight takes a long drought of kool-aid [21:28:22] perl designed by a linguist, so perl 6 should be just like perl 5 but with more swears [21:28:33] *draught [21:28:40] because that's really the sign of an advanced language, the richness of its profanity [21:28:41] *uck yeah [21:28:59] wrote-only syntax [21:29:05] i saw larry wall talk about perl 6 at oscon [21:29:08] grr. I can't remember how to get into the raid config for HP boxes... [21:29:10] uh. /me linguists [21:32:54] (PS1) Awight: Only run jobs as the service user [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346202 [21:32:55] cwd: ^ [21:33:00] happy late birthday :p [21:33:17] (CR) jerkins-bot: [V: -1] Only run jobs as the service user [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346202 (owner: Awight) [21:35:04] :) [21:36:33] yeah looks good [21:37:10] i'm testing 345429 and the output streaming does look good [21:37:35] (PS11) Awight: Run commands in sequence [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345429 (https://phabricator.wikimedia.org/T161035) [21:37:48] (PS2) Awight: Only run jobs as the service user [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346202 [21:37:55] Great news, thanks for the due diligence! [21:38:12] (CR) jerkins-bot: [V: -1] Only run jobs as the service user [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346202 (owner: Awight) [21:39:10] haar [21:42:13] (PS3) Awight: Only run jobs as the service user [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346202 [21:43:42] cwd: btw, this hides a random test failure: https://gerrit.wikimedia.org/r/#/c/345781/1 [21:43:48] awight: how do you test printing to stderr since this shell interface is too smart for >&2 etc [21:44:18] It gets printed to the logfile as an ERROR level line [21:52:00] (PS12) Awight: Run commands in sequence [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345429 (https://phabricator.wikimedia.org/T161035) [21:54:20] reading from this quick php script it wrote is buffering in a strange way [21:54:28] *i wrote [21:54:37] how strange? [21:55:02] nothing for awhile then a big old chunk [22:00:41] how long of a while? [22:00:48] I should just run the same test as you... [22:00:58] i'm trying again [22:01:05] it could be something about php too [22:01:06] I guess the buffer would be by size [22:01:09] oh. [22:01:27] yeah, in PHP you probably have to call flush explicitly [22:01:39] http://php.net/manual/en/function.flush.php [22:02:11] isn't that going to make the streaming thing moot? [22:02:19] unless we do that inside the jobs we're calling? [22:03:09] (PS1) Awight: Assert stderr goes to the output file [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346207 [22:03:10] cwd: ^ [22:03:19] * Jeff_Green is heading out for the night. happy hacking folks [22:03:23] Jeff_Green: thxbye! [22:03:31] cwd: It'll be exactly the same as what we have now, at least. [22:05:12] even with a flush() in the loop it acts the same way [22:10:49] interesting... I don't like it [22:11:48] Python readline maintains its own buffer, so we have zero insight into what might be happening there [22:13:11] wouldn't this mean no live output from any of our jobs? [22:13:17] but jenkins gets it somehow [22:17:42] btw wanna merge some of this as incremental forward progress? [22:17:50] Fine if you'd rather not [22:18:02] yeah for sure [22:18:09] i'm fine merging up to where ever [22:18:55] (CR) Cdentinger: [C: 2] Run commands in sequence [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345429 (https://phabricator.wikimedia.org/T161035) (owner: Awight) [22:18:55] https://gerrit.wikimedia.org/r/#/projects/wikimedia/fundraising/process-control,dashboards/default [22:18:59] :) [22:19:04] thanks! [22:19:11] thank you! [22:19:21] (Merged) jenkins-bot: Run commands in sequence [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345429 (https://phabricator.wikimedia.org/T161035) (owner: Awight) [22:20:01] cwd: I'm running "yes please" locally and get all the loglines, unbuffered [22:20:04] and unbuggered [22:20:46] trying it with lower-volume sleep script now [22:21:52] same thing with the sleep 1 script [22:21:57] I see every line in realtime [22:22:03] so, concluding that PHP [22:22:07] . [22:25:40] i was trying to get stdout and err at the same time [22:26:11] cool! [22:26:15] but i couldn't make it happen cause subprocess [22:26:18] lemme try to write that in shell [22:26:40] it does not support the stuff i need like > [22:27:08] i'm not sure what the actual white listing of commands is like [22:28:17] that works too [22:28:48] cwd: https://phabricator.wikimedia.org/P5192 [22:31:40] awight: yeah good enough for me [22:33:22] oh cool, actually that script lets you compare the write timestamp with the logging timestamp [22:33:41] (PS4) Cdentinger: Only run jobs as the service user [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346202 (owner: Awight) [22:37:38] Hey, awesome--I turned that out/err generator up to "sleep 0.01" and the two streams are interleaving perfectly. [22:37:39] (CR) Cdentinger: [C: 2] Only run jobs as the service user [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346202 (owner: Awight) [22:37:48] ejegg|away: ^ no idea why it works so well :) [22:38:04] (Merged) jenkins-bot: Only run jobs as the service user [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346202 (owner: Awight) [22:38:43] nice [22:39:19] (PS2) Cdentinger: Assert stderr goes to the output file [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346207 (owner: Awight) [22:40:04] Well if it's gonna be that kind of an afternoon :) feel free to .deb it when you're done with your CR spree. [22:45:51] okey dokey [22:48:44] (CR) Cdentinger: [C: 2] Assert stderr goes to the output file [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346207 (owner: Awight) [22:49:14] (Merged) jenkins-bot: Assert stderr goes to the output file [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/346207 (owner: Awight) [22:51:23] (PS2) Cdentinger: Wrap yaml load in file context managers [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345660 (owner: Awight) [22:52:00] * awight marvels at own fancy verbiage [22:54:57] (CR) Cdentinger: [C: 2] Wrap yaml load in file context managers [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345660 (owner: Awight) [22:55:19] (Merged) jenkins-bot: Wrap yaml load in file context managers [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345660 (owner: Awight) [22:56:04] cwd: You'll want this one for packaging: https://gerrit.wikimedia.org/r/#/c/345479/ [22:57:15] (PS4) Cdentinger: Force a pythonic build, ignoring the Makefile [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345479 (owner: Awight) [22:59:08] ejegg|barely [23:00:01] (CR) Cdentinger: [C: 2] Force a pythonic build, ignoring the Makefile [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345479 (owner: Awight) [23:00:23] (Merged) jenkins-bot: Force a pythonic build, ignoring the Makefile [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345479 (owner: Awight) [23:00:51] 4 days on the Amazon and i forget how to irc... [23:05:34] ejegg|barely: cool! Looking forward to hearing about it [23:09:24] awight: what else do we need for mvp? [23:09:42] lemme see... [23:10:02] That will do! [23:10:12] We need this, https://gerrit.wikimedia.org/r/#/c/345768/ [23:10:23] but I have to tweak a bit, and it's workaroundable [23:25:23] (CR) Awight: Merge environment, don't clobber (3 comments) [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345768 (owner: Ejegg) [23:30:52] (PS4) Awight: Merge environment, don't clobber [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345768 (owner: Ejegg) [23:41:28] (PS5) Awight: Merge environment, don't clobber [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345768 (owner: Ejegg) [23:41:35] ejegg|barely: cwd: ^ I think that's good, now. [23:42:04] ok, want me to pull it into the deb? [23:42:17] taking a peek, if barelynet lets me [23:43:55] cwd: It's fine either way [23:44:14] ok i'm going to omit just cause i'm right in the middle of it [23:44:18] The practical effect is that it will clean up some unnecessary environment statements [23:44:21] yep all good [23:49:36] the tests seemed to only see the first 5 or six output lines, not sure why [23:54:57] ejegg|barely: How did you determine that? What I noticed was, pytest would pass but tox would fail, because tox doesn't include USER in the environment. [23:55:17] So I set an os.environ in the test, before job.run [23:55:41] oooh, i thought i'd chosen something failsafe [23:55:52] controlled thing is better [23:57:23] (PS2) Awight: "make clean" target [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345482 [23:57:38] (PS2) Awight: Remove unnecessary build dependency [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345483 [23:57:46] (PS2) Awight: Relax a test until we can fix the potential double-failmail. [wikimedia/fundraising/process-control] - https://gerrit.wikimedia.org/r/345781