{"push_id":968903468,"size":65,"distinct_size":20,"ref":"refs/heads/PUP-5819_error-on-byte-order-mark-in-lexer","head":"6415b7eb3ddaf6f2e0392ee89abdaf017c16f956","before":"c386a8b272355d1b41e705eb2c3c7babb030de93","commits":[{"sha":"d9cd92bf5c0a0ccc0a1e803c727e1244f16cded2","author":{"email":"de4ab6e26db462b930510ba83e9f80b7db2bef88@puppetlabs.com","name":"Melissa Stone"},"message":"(PUP-5718) Update puppet.bat to current standard\n\nWith the switch over to building puppet-agent for windows with Vanagon,\nwe need to effectively install puppet with install.rb. This script\ninstalls puppet.bat, which is a wrapper that lets windows handle ruby\nscripts. This commit updates puppet.bat to use our environment.bat file if\nwe install it, and to be more in line with the puppet.bat file installed\nwith the puppet-agent package as built by puppet_for_the_win","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/d9cd92bf5c0a0ccc0a1e803c727e1244f16cded2"},{"sha":"ac8c3dba632f2ef15c11bbc23d509e53d1e08f33","author":{"email":"519bc3f0fda96312357e1409de278bff4d5f5b25@puppetlabs.com","name":"Morgan Rhodes"},"message":"(maint) Update windows ruby builds\n\nRuby for windows was rebuilt with openssl 1.0.2f to address\nCVE-2016-0701. This updates to use the latest ruby build.","distinct":true,"url":"https://api.github.com/repos/hlindberg/puppet/commits/ac8c3dba632f2ef15c11bbc23d509e53d1e08f33"},{"sha":"fd1803e892ab255aedf3b4b9582f438e472536e0","author":{"email":"c48afcf83ed981fca226aa76505d7559f59bef25@puppetlabs.com","name":"Rob Braden"},"message":"Merge pull request #4610 from underscorgan/maint/3.x/update-ruby-build\n\n(maint) Update windows ruby builds","distinct":true,"url":"https://api.github.com/repos/hlindberg/puppet/commits/fd1803e892ab255aedf3b4b9582f438e472536e0"},{"sha":"1721a762dc2c48587a7b9979a208c7e0b9a007d5","author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@tada.se","name":"Thomas Hallgren"},"message":"(PUP-5729) Fix minor glitch in type mismatch describer\n\nThe type mismatch describer is supposed to remove type details when\nthe actual type differs. E.g. when a String[1,3] is expected but the\nactual object is an Integer, this should be reported as 'expected\nString, got Integer'. This didn't happen in some cases.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/1721a762dc2c48587a7b9979a208c7e0b9a007d5"},{"sha":"74010734eebe3339c3d12ba9199970c8087dfb91","author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@tada.se","name":"Thomas Hallgren"},"message":"(PUP-5729) Add iterative reverse_each function\n\nThis commit adds the new function `reverse_each(iterable)`. The\nfunction takes an iterable argument and an optional block.\n\nIf a block is given, it will be called with all elements of the given\nargument in reverse order.\n\nWithout a block, the function will return a new Iterable that will\nyield each element of the given argument in reverse order.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/74010734eebe3339c3d12ba9199970c8087dfb91"},{"sha":"8138772a13c4dd0a43dadf080768d7340509e7dd","author":{"email":"c48afcf83ed981fca226aa76505d7559f59bef25@puppetlabs.com","name":"Rob Braden"},"message":"Merge pull request #4610 from underscorgan/maint/3.x/update-ruby-build\n\n(maint) Update windows ruby builds","distinct":true,"url":"https://api.github.com/repos/hlindberg/puppet/commits/8138772a13c4dd0a43dadf080768d7340509e7dd"},{"sha":"676f0b7a2d78b2727c991f44e1c23f6df8e5233e","author":{"email":"95e828102f92afbaa4d3ed92646a950670566628@cloudsmith.com","name":"Henrik Lindberg"},"message":"(PUP-5659) Validate all relationships\n\nBefore this, only relationships formed with the relationship\noperations <- -> <~ and ~> were validated. This validation checkes that\nthe referenced resource exists in the catalog and reports an error if\nnot.\n\nThe identical relationship formed via use of the meta parameters after,\nrequire, subscribe, and notify were not validated. This led to that\nerrors in catalogs were not caught until the catalog was applied on the\nagent.\n\nThis commit makes use of the recently added catalog validators and adds\nvalidatio of all relationships.\n\nWhen making this change the existing code in the relationship validator\nneeded refactoring. It was then detected that it used an array.find and\na predicate lambda to see if a variable was one out of 3 possible\nsymbols. That was measured to be 6x slower that the fastest (hash\nlookup= on Ruby 1.9.3. The relationship checking can be called thousands\nof times and that statement alone could add several seconds to a catalog\ncompilation.\n\nNote that the validation runs after the catalog is finalized. That means\nthat it includes all operations that could have modified the catalog.\n(Overrides, queries, relationships, defaults, etc.)\n\nAlso note that this means that relationships formed with the arrow\noperators are checked twice. This because there is otherwise no\ninformation that points to that source location in case of an error. It\nwas measured that a mechanism that would avoid doing it twice was just\nas costly as doing the check a second time. It may be possible to\ninstead add additioal location information, but that is a greater\nchange, that also uses more memory.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/676f0b7a2d78b2727c991f44e1c23f6df8e5233e"},{"sha":"f75120912f022327f1e99fc8c0dc77191701e2fb","author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@tada.se","name":"Thomas Hallgren"},"message":"(PUP-5729) Update documentation\n\nSimplified example, capitalized types, and better wording.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/f75120912f022327f1e99fc8c0dc77191701e2fb"},{"sha":"8a3e533f29c2264c01cd0d1ea9de80392a1f91f6","author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@tada.se","name":"Thomas Hallgren"},"message":"(PUP-5729) Fix bug for Enum type discovered when adding tests\n\nWhen iterating over an Enum, the internal values Array was passed\ndirectly where a Ruby Enumerator was expected. This commit fixes that.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/8a3e533f29c2264c01cd0d1ea9de80392a1f91f6"},{"sha":"5cf537233b0c8e2c6429d08c5c18441632ee7dc4","author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@tada.se","name":"Thomas Hallgren"},"message":"(PUP-5729) Add tests for Array, Hash, and Enum\n\nAdds test to verify that the reverse_each yields the elements of a\nArray, Hash, and Enum in reverse order.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/5cf537233b0c8e2c6429d08c5c18441632ee7dc4"},{"sha":"a251e7f8d1200a6b215aa858cac0cc7591cff2c3","author":{"email":"519bc3f0fda96312357e1409de278bff4d5f5b25@puppetlabs.com","name":"Morgan Rhodes"},"message":"(packaging) Update PUPPETVERSION to 3.8.6","distinct":true,"url":"https://api.github.com/repos/hlindberg/puppet/commits/a251e7f8d1200a6b215aa858cac0cc7591cff2c3"},{"sha":"251a483c51839be72dbf662b2529e04d892b125b","author":{"email":"c028c213ed5efcf30c3f4fc7361dbde0c893c5b7@puppetlabs.com","name":"Josh Cooper"},"message":"(PUP-3077) Don't cache catalogs during noop runs\n\nPreviously, agents always cached their catalogs in\n$client_datadir/catalog/<host>.json, even when running in noop mode. If\nthe agent failed to download a catalog during the next run, e.g. puppet\nserver was stopped or overloaded, etc, the agent would fall back to the\ncache, due to the usecacheonfailure setting, and apply the previously\ncached catalog. This could lead to surprising results if you were just\ntesting out the noop run and never meant for those changes to be\ndeployed in production.\n\nThis commit will set the catalog's cache to nil in noop mode so that the\ncatalog is never cached. It also changes the apply application to behave\nthe same.\n\nThe agent_spec explicitly unstubs `cached_class=`, because mocha behaves\nunintuitively when setting a `never` expectation on a previously stubbed\nmethod[1]. This was noticed, because the test wasn't failing as expected\nwhen run against the old code.\n\n[1] https://github.com/freerange/mocha/issues/44#issuecomment-3090212","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/251a483c51839be72dbf662b2529e04d892b125b"},{"sha":"0c3d6d93ba799b10f22a676bac1c306d46e78cb5","author":{"email":"c028c213ed5efcf30c3f4fc7361dbde0c893c5b7@puppetlabs.com","name":"Josh Cooper"},"message":"(maint) Don't stub private method implementations\n\nThe tests were stubbing the implementation of `convert_catalog` so that\nit always returned the JSON catalog passed to the method. However, in\nreality, the method returns a RAL catalog. As a result, the tests were\ntesting non-existent behavior.\n\nThis commit moves the convert_catalog call outside retrieve_catalog, so\nthat we test actual behavior.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/0c3d6d93ba799b10f22a676bac1c306d46e78cb5"},{"sha":"25f7f3befe8acf2f1a605f358940945df10a3cb2","author":{"email":"c028c213ed5efcf30c3f4fc7361dbde0c893c5b7@puppetlabs.com","name":"Josh Cooper"},"message":"(maint) Return a catalog in the current environment\n\nWe were returning a catalog with the default \"none\" environment, which\ndidn't match the current environment. The configurer would retry the new\ncatalog catalog request to converge, which is why the test was expecting\ntwice.\n\nThe behavior is already tested in \"should refetch the catalog if the\nserver specifies a new environment in the catalog\", so no need to test\nit again.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/25f7f3befe8acf2f1a605f358940945df10a3cb2"},{"sha":"ff88d5ec68311b207383666934abe4c7700f4e14","author":{"email":"2a182c1e36ed712e31cb9cec0d63e3146905df9c@puppetlabs.com","name":"Michael Stahnke"},"message":"Merge pull request #4623 from underscorgan/packaging/3.8.x/update-puppetversion\n\n(packaging) Update PUPPETVERSION to 3.8.6","distinct":true,"url":"https://api.github.com/repos/hlindberg/puppet/commits/ff88d5ec68311b207383666934abe4c7700f4e14"},{"sha":"147c3bb22fb67be81cef529b8bb38a5b26a0aa73","author":{"email":"c028c213ed5efcf30c3f4fc7361dbde0c893c5b7@puppetlabs.com","name":"Josh Cooper"},"message":"(PUP-3077) Ignore cached catalog if environment doesn't match\n\nPreviously, if puppet failed to download a new catalog and fell back to\nits cache (due to usecacheonfailure), it would load and apply the cached\ncatalog, even if the catalog's environment didn't match its configured\nenvironment (as specified by the ENC).\n\nWith this commit, if the agent fails to download a new catalog, and\nfalls back to its cache, and the cached catalog's environment doesn't\nmatch the agent's current environment as specified by the server, then\nthe agent will print an error and fail the run.\n\nThis commit does not change the behavior when the agent is told to use\nits cached catalog to start with (via use_cached_catalog) or if the\nserver doesn't specify an environment to use. In that case, the\nagent will load the cached catalog, and switch to the catalog's\nenvironment if need be.\n\nPuppet will now include the environment name in the 'Using cached catalog'\ninfo message.\n\nAlthough the change is in configurer, it should only affect the agent\nand not apply, because the latter always compiles a new catalog.\n\nSome tests were updated to ensure catalogs were created with a valid\nenvironment instead of defaulting to the NONE environment.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/147c3bb22fb67be81cef529b8bb38a5b26a0aa73"},{"sha":"f7b73269d370d2a03365eb2444e65a5ab8b0d793","author":{"email":"c028c213ed5efcf30c3f4fc7361dbde0c893c5b7@puppetlabs.com","name":"Josh Cooper"},"message":"(maint) Refactor test to use helpers\n\nUse helpers to set expectations for new and cached catalogs.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/f7b73269d370d2a03365eb2444e65a5ab8b0d793"},{"sha":"f1a8c3ddf98d69997448583e9a8d27f6b2b71c91","author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@tada.se","name":"Thomas Hallgren"},"message":"(PUP-5813) Prevent memory leak in 3x function loading\n\nThis commit ensures that the life-cycle of a loaded 3x function does\nnot exceed the life-cycle of the environment where it was loaded.\n\nPrior to this commit, all functions would survive forever, or until\nPuppet::Parser::Functions.reset was called. That only happens when\nPuppet is initialized.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/f1a8c3ddf98d69997448583e9a8d27f6b2b71c91"},{"sha":"208cd1e512403203f49485fb8374777f3f99e461","author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@tada.se","name":"Thomas Hallgren"},"message":"(PUP-5813) Prevent memory leak from global $env_module_directories\n\nThis commit removes the global variable $env_module_directories in\nfavor of a ModuleDirectoriesAdapter that is attached to the\nEnvironment. This ensures that the global variable cannot hold on\nto an environment in a way that exceeds that environments normal\nlife-cycle.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/208cd1e512403203f49485fb8374777f3f99e461"},{"sha":"049978fa73bee67b42a91bd1308668dc863938d8","author":{"email":"c028c213ed5efcf30c3f4fc7361dbde0c893c5b7@puppetlabs.com","name":"Josh Cooper"},"message":"(maint) Add missing node request expectation\n\nPreviously, we were expecting a node request, but not asserting it\nhappened. As a result the test would call Puppet::Node.indirection.find\non the `plain` terminus, which added 1+ second to the test due to an\nenvironment being created.","distinct":false,"url":"https://api.github.com/repos/hlindberg/puppet/commits/049978fa73bee67b42a91bd1308668dc863938d8"}]}