facebook / between-meals Goto Github PK
View Code? Open in Web Editor NEWA library to provide calculations between Chef diffs.
License: Apache License 2.0
A library to provide calculations between Chef diffs.
License: Apache License 2.0
This is technically a rugged issue, but when installing between-meals on a fresh CentOS 7.5 + Chef 13.10.4 machine (adding to Chef's embedded gems) it apparently downloads the latest version of rugged from rubygems.org, which breaks things if it installs a version of rugged >= 0.27.0.
Rugged isn't able to create the Makefile, due to "Could NOT find OpenSSL":
https://gist.github.com/bwann/cbe5775471cc554a788e23fa7053f461
Manually installing rugged up to 0.26.0 first before between-meals works. I'm not sure what the real problem is here, looks like rugged changed something about how it was handling TLS and cmake in 0.27.0.
I'm not sure what the correct fix here is either, if between-meals needs to pin the rugged version, if this is something in the embedded Chef gem environment that needs fixed, or what.
Putting this here to track the issue in case other people hit it.
edit: same behavior on chef-14.4.56-1.el7.x86_64 too
It would be nice when handling multiple different environments to be able to treat these as changes so they can be detected and uploaded.
When parsing a hg revision to extract the changes, parse_status(changes) will try to regex the hg log output with something like 'when /^A (\S+)$/' , but if the path has whitespace in it, it will fail to match the regex and fail the call. This might be a problem with the other repo types (git, svn) as well.
Sample:
A ../../some/path/to/a/file/abcd stuffafteraspace
Maybe it's safe to assume chef repo contents won't have spaces in them, but the repo in play could have all kinds of other crap; maybe it should filter out said crap prior to mapping?
In https://github.com/facebook/between-meals/blob/master/lib/between_meals/repo/hg.rb#L153 you should use 'hg export' instead of 'hg show' for better compatibility with standard mercurial installations (where 'hg show' dumps the current mercurial config instead of outputting the last commit in the repo). This may require adapting the regexps as well as the format is slightly different.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.