{"push_id":1537846520,"size":6,"distinct_size":6,"ref":"refs/heads/peiyu/use-pickling-for-key","head":"ffd43399746d4253e85d96f2f4bda2132de2102a","before":"5f216a6fbed27b6068544d619c311d5364e77493","commits":[{"sha":"4920ca127cb2fc3cbccaed4be6e9bd3759c9f6a4","author":{"name":"Kris Wilson","email":"9f1f8f2033f372439cc56ab141cb7f446fb3689a@users.noreply.github.com"},"message":"Improve BUILD file matching in the v2 path. (#4226)\n\nProblem\r\n\r\nPresently, the v2 engine path matches BUILD files using the pattern BUILD*. This can erroneously match files like BUILDtemplate.xml et al requiring extraneous ignores in a real world environment.\r\n\r\nSolution\r\n\r\nMove to a matching pattern of ('BUILD', 'BUILD.*') to align better with the v1 path. Also, bump the pathspec version and clean out a couple of TODOs.\r\n\r\nResult\r\n\r\nImproved BUILD file matching ergonomics.\r\n\r\nFixes #4217","distinct":true,"url":"https://api.github.com/repos/peiyuwang/pants/commits/4920ca127cb2fc3cbccaed4be6e9bd3759c9f6a4"},{"sha":"3641dd30c1dd9c5468175b6ce25b65424e4c2704","author":{"name":"Benjy Weinberger","email":"a509d487a5f8dbb865a9ea050fc89e4377b3af8b@gmail.com"},"message":"Add a 'current' symlink to the task-versioned prefix of the workdir. (#4220)\n\nWhen working on custom tasks it's common to have to bump their versions,\r\nand it quickly gets confusing to figure out which workdir is the current\r\none to poke around in.","distinct":true,"url":"https://api.github.com/repos/peiyuwang/pants/commits/3641dd30c1dd9c5468175b6ce25b65424e4c2704"},{"sha":"e83f059ad6c9729816165651499040968dcf048b","author":{"name":"Kris Wilson","email":"9f1f8f2033f372439cc56ab141cb7f446fb3689a@users.noreply.github.com"},"message":"Repair `Broken pipe` on pantsd thin client execution when piped to a non-draining reader. (#4230)\n\nProblem\r\n\r\nWhen piping output of the pantsd thin client to e.g. head, the client will throw an unhandled Broken pipe IOError attempting to flush the now-defunct fd after head short-circuits after consuming only its needed output.\r\n\r\nSolution\r\n\r\nCatch Broken pipe errors and exit when encountered.\r\n\r\nResult\r\n\r\nBroken pipe is no longer seen.\r\n\r\nFixes #4166","distinct":true,"url":"https://api.github.com/repos/peiyuwang/pants/commits/e83f059ad6c9729816165651499040968dcf048b"},{"sha":"e3d4f1bd3a87087644c0625e0a0ad7c9e55339b8","author":{"name":"Roger","email":"c361cdd320b2ab198a6c448fbb9566e217e94273@gmail.com"},"message":"Add a node bundle goal (#4212)\n\n### Problem \r\nnode_module does not support bundle goal and thus do not generate any artifacts.  Create an archive after resolving node dependencies (effectively `npm install`) will enable create a deployable .tar.gz file for node_module targets.  Some node modules also depend on symlinks in node_modules/.bin to function correctly.\r\n\r\n### Solution\r\nReviving a previously reviewed, but unmerged pull request by @chrispesto  #2672 #2674\r\nMerge current master head with the revived PQ.\r\nAdd dereference = False support to tar archiver.\r\n\r\n### Result\r\nWe should be able to run `./pants bundle <node_bundle_target_name>` to create a tar.gz file that contains all dependencies. We will preserve symlinks within the generated tar archive file.","distinct":true,"url":"https://api.github.com/repos/peiyuwang/pants/commits/e3d4f1bd3a87087644c0625e0a0ad7c9e55339b8"},{"sha":"5be6fba4bd88bd455034a78487637192c3040c97","author":{"name":"Stu Hood","email":"50abbb3a4290d1d6c08c7e8a002d0c743d331242@twitter.com"},"message":"[engine] Use futures for scheduling (#4221)\n\n### Problem\r\n\r\nWhile working on #4172, a new Node type that attempted to declare large numbers of dependencies recursively was hitting the `n^2` behaviour of starting then stopping `n` times. My first attempt to fix this problem was #4214, but unfortunately that only worked in cases where dependencies had already been computed, which was insufficient in a case that was recursing through the entire filesystem.\r\n\r\nThe `Node` step model is vaguely CPS, and we've said for a while that translating it to Futures would be useful to clean it up.\r\n\r\n### Solution\r\n\r\nThe native engine now uses [futures](https://github.com/alexcrichton/futures-rs) to execute all work. This review replaces/incorporates #4214.\r\n\r\n### Result\r\n\r\nThis review regresses very slightly in terms of performance (5-10%), but unblocks fully concurrent IO on #4172, which gets us within 2x of v1 for cold runtime.","distinct":true,"url":"https://api.github.com/repos/peiyuwang/pants/commits/5be6fba4bd88bd455034a78487637192c3040c97"},{"sha":"ffd43399746d4253e85d96f2f4bda2132de2102a","author":{"name":"Peiyu Wang","email":"d174f8fb0d546c0de85a0b484162cd0c833dc038@gmail.com"},"message":"Merge branch 'master' into peiyu/use-pickling-for-key","distinct":true,"url":"https://api.github.com/repos/peiyuwang/pants/commits/ffd43399746d4253e85d96f2f4bda2132de2102a"}]}
{"actor":{"display_login":"peiyuwang"}}