[{"data":1,"prerenderedAt":476},["ShallowReactive",2],{"project-27785323":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":48,"post_text":50,"what":51,"said":82,"maker_in_thread":226,"shape":228,"grid":232,"attempts":432,"same_week":440,"maker_shows":33,"maker_hidden":468,"reader_version":469,"card":470},"27785323","Earthly","Better Builds","title","Show HN: Earthly – Better Builds","https:\u002F\u002Fearthly.dev\u002F","earthly.dev","adamgordonbell",1625847670,2021,223,82,187,2533,8,"notable","dev_tools","build automation","cli",[21,24,25,26,27],"makefile","docker builds","ci caching","buildkit","curious",0.181,{"positive":31,"neutral":32,"mixed":33,"critical":34},22,34,2,9,67,{"idea":37,"docs":40,"design":42,"pricing":44,"execution":45,"performance":47},{"positive":38,"critical":39},16,3,{"positive":41,"critical":41},1,{"positive":41,"critical":43},0,{"positive":43,"critical":43},{"positive":46,"critical":33},4,{"positive":43,"critical":33},[39,49,49,39,39,41,43,49,39,41,43,41,39,39,39,49,39,39,39,41,49,49,39,39,41,49,41,39,49,39,49,49,49,49,49,49,39,39,49,49],5,null,{"problem":52,"audience":60,"pricing":50,"motivation":50,"time_to_build":50,"stack":69,"openness":80,"stage":80,"team_size":81},{"value":53,"source":54,"evidence":55},"Builds that are non-repeatable or differ across CI runners and developer machines","commenter",[56],{"id":57,"by":58,"text":59},"27785352","agbell","Hello HN. Earthly is a tool for build automation. I like to think of our solution as a modern version of a makefile. Many people are familiar with makefiles, and back before…",{"value":61,"source":62,"evidence":63},"Developers and release engineers running CI and local builds","inferred",[64,65],{"id":57,"by":58,"text":59},{"id":66,"by":67,"text":68},"27787419","quickthrower2","I love the idea. Yesterday I gave up building something locally and just got CI to do it because to run locally you have to kind of make a poor mans .travis.yml file out of bash…",[70,74],{"value":71,"source":54,"evidence":72},"Docker",[73],{"id":57,"by":58,"text":59},{"value":75,"source":54,"evidence":76},"BuildKit",[77],{"id":78,"by":58,"text":79},"27786853","Thanks for checking it out. You can totally do that. We are using moby\u002Fbuildkit and docker to provide this platform independence.","unknown","team",{"praise":83,"objections":107,"requests":148,"questions":179,"alternatives":209},[84,96],{"value":85,"source":54,"evidence":86},"Makes CI run the same everywhere and simplifies local builds",[87,91,92],{"id":88,"by":89,"text":90},"27785755","thdxr","Earthly is great! Finally makes it so CI runs the same everywhere. I try to use it wherever I can",{"id":66,"by":67,"text":68},{"id":93,"by":94,"text":95},"27797956","picardo","After a day of trying it out, I have to say... this is really terrific. I was fully prepared to be disappointed, but I was pleasantly surprised by it at every turn. I hope I can…",{"value":97,"source":54,"evidence":98},"Useful for integration tests and multi-stage container builds",[99,103],{"id":100,"by":101,"text":102},"27786766","escot","This seems like it could be better than Docker when you need to manage dependent images. Like if I want to build a simple base image for my backend that is then used to build…",{"id":104,"by":105,"text":106},"27789706","kortex","This is AWESOME! I already have a super container heavy workflow and abuse dockerfiles to do things like this. It's great to be able to generate artifacts in a container and…",[108,119,130,141],{"value":109,"source":54,"evidence":110},"Mostly redundant with plain Dockerfiles and existing build systems",[111,115],{"id":112,"by":113,"text":114},"27786275","emptysongglass","I don't get it: why wouldn't I just use a Dockerfile? The Earthfiles look the same. Dockerfiles run the same way every time and Docker supports caching. I just see more…",{"id":116,"by":117,"text":118},"27788990","einpoklum","I looked at their main page and got the impression this tool is not very \u002F not at all useful - except perhaps for some niche I'm not in. > Earthly is a syntax for defining your…",{"value":120,"source":54,"evidence":121},"Performance and correctness doubts versus Bazel at scale",[122,126],{"id":123,"by":124,"text":125},"27789988","pcj-github","The comparison to Bazel here is really not appropriate. The core competency of Bazel is to know exactly the build graph and be able to do the minimum amount of work possible. I…",{"id":127,"by":128,"text":129},"27790325","thundergolfer","The best summary from them looks to be: > Overall, compared to Bazel, Earthly sacrifices some correctness and reproducibility in favor of significantly better usability and…",{"value":131,"source":54,"evidence":132},"Licence change to BSL contradicts free and open source claims",[133,137],{"id":134,"by":135,"text":136},"27790648","icy","Maybe don't call Earthly \"free and open source\" when it clearly is neither -- it is licensed under the Business Source License.",{"id":138,"by":139,"text":140},"27787849","no_circuit","I wonder what the scope of what would be a competitive service now that Earthly's license changed to BSL from MPL on 2021-02-01 [0]? Seems like Earthly Technologies Inc will…",{"value":142,"source":54,"evidence":143},"Landing page marketing is vague about what it does",[144,145],{"id":116,"by":117,"text":118},{"id":146,"by":117,"text":147},"27801037","Ah, now this is a value proposition! If they would only say _that_ on their front page, I would understand what they're offering me. Well, that, and a list of extra features they…",[149,156,165],{"value":150,"source":54,"evidence":151},"Support for Podman",[152],{"id":153,"by":154,"text":155},"27791044","stonewareslord","Earthly has been great to use. My one issue is with docker. I would greatly prefer to use podman but it seems there is no support for it yet. Every issue I have had with earthly…",{"value":157,"source":54,"evidence":158},"Distributed builds across multiple machines",[159,162],{"id":160,"by":94,"text":161},"27790097","Ah, I see. That's pretty cool. But all builds are run on the same machine, which is not a deal breaker; it'd be nice to distribute them on multiple machines, as well.",{"id":163,"by":58,"text":164},"27792639","Thanks for checking it out. This is something we have plans for.",{"value":166,"source":54,"evidence":167},"CI integrations such as TeamCity, GitHub Actions and CodeBuild",[168,172,176],{"id":169,"by":170,"text":171},"27786683","AlessandroA","This looks very interesting. I couldn't see TeamCity mentioned in the CI integration section. Any plan to support it?",{"id":173,"by":174,"text":175},"27786797","geekdave","Does this work with GitHub Actions?",{"id":177,"by":94,"text":178},"27787727","I've been wishing for something like this. Can I generate AWS CodeBuild buildspec.yml files from an Earthfile?",[180,191,198],{"value":181,"source":54,"evidence":182},"How does it compare to Bazel",[183,187],{"id":184,"by":185,"text":186},"27788880","wikibob","Can anyone who's familiar with Earthly explain why somebody would want to use it instead of Bazel?",{"id":188,"by":189,"text":190},"27789756","yagizdegirmenci","> > It works with your existing build system. > If I have a build system, or a build system generator, why do I need to redefine my build another way? There are build systems…",{"value":192,"source":54,"evidence":193},"Why BSL licence and what is the business risk",[194],{"id":195,"by":196,"text":197},"27787779","mdaniel","I would value hearing more about the business risk that going BSL was designed to address: https:\u002F\u002Fgithub.com\u002Fearthly\u002Fearthly\u002Fblob\u002Fmain\u002FLICENSE the associated PR just says \"doing…",{"value":199,"source":54,"evidence":200},"Does it work on Windows and macOS",[201,205],{"id":202,"by":203,"text":204},"27789034","duped","How tightly coupled is this to docker? My major gripe is that I legitimately need cross platform build and test (windows, Linux, and macos). I will pay hundreds to thousands of…",{"id":206,"by":207,"text":208},"27786526","petethepig","I'm working on our CI\u002FCD right now and this looks like it would made my life easier. Killer feature for me here would be if you could run the same Earthfile on a mac or a windows…",[210,215,222],{"value":211,"source":54,"evidence":212},"Bazel",[213,214],{"id":184,"by":185,"text":186},{"id":188,"by":189,"text":190},{"value":216,"source":54,"evidence":217},"Nix",[218],{"id":219,"by":220,"text":221},"27787245","n3t","How would you compare Earthly to creating Docker images using Nix[0]? I love Nix declarative nature with strong emphasis on reproducibility. [0]:…",{"value":223,"source":54,"evidence":224},"Skaffold and Garden",[225],{"id":112,"by":113,"text":114},{"comments":43,"answered":43,"key":227},[],{"commenters":229,"max_depth":230,"maker_replies":43,"first_comment_mins":33,"lifespan_hours":231},44,7,96,[233,235,237,239,243,247,249,253,256,259,261,264,266,269,271,274,275,279,281,283,287,290,292,294,297,299,301,304,306,307,308,310,313,316,320,322,325,326,329,332,334,336,338,341,345,348,350,352,355,359,360,362,364,367,368,371,374,376,379,381,383,384,386,388,390,394,396,398,402,404,406,408,411,414,416,418,420,422,424,426,428,429],[57,43,49,234,58,43],"project\u002Fpositive\u002Fidea",[112,41,41,236,113,43],"project\u002Fcritical\u002Fidea",[238,41,49,234,58,43],"27786362",[240,41,49,241,242,43],"27786421","project\u002Fpositive\u002Fdocs","ithkuil",[244,41,49,245,246,43],"27822548","project\u002Fpositive\u002Fdesign","ossusermivami",[195,33,39,248,196,43],"project\u002Fneutral\u002Fpricing",[250,33,43,251,252,43],"27788637","other\u002Fneutral\u002Fnone","captn3m0",[254,33,39,255,58,43],"27792610","maker\u002Fneutral\u002Fdocs",[257,33,43,258,196,43],"27794631","commenter\u002Fneutral\u002Fnone",[260,33,39,255,58,43],"27794689",[262,33,39,255,263,43],"27798312","vladaionescu",[134,39,41,265,135,43],"project\u002Fcritical\u002Fnone",[267,39,43,258,268,43],"27793922","hitekker",[270,39,43,258,135,43],"27794049",[272,39,43,258,273,43],"27809881","InitialBP",[66,46,49,234,67,43],[276,49,39,277,278,43],"27788771","project\u002Fneutral\u002Fidea","choeger",[280,49,39,255,58,43],"27792628",[116,282,41,236,117,43],6,[284,282,41,285,286,43],"27789058","project\u002Fcritical\u002Fexecution","fishywang",[288,282,43,258,289,43],"27789064","verdverm",[188,282,43,291,189,43],"commenter\u002Fneutral\u002Fidea",[123,282,41,293,124,43],"project\u002Fcritical\u002Fperformance",[295,282,39,296,58,43],"27811153","project\u002Fneutral\u002Fperformance",[298,282,43,291,117,43],"27792213",[300,282,39,277,58,43],"27792672",[302,282,49,234,303,43],"27792685","mrmanner",[146,282,41,305,117,43],"project\u002Fcritical\u002Fdocs",[138,230,39,248,139,43],[219,18,39,277,220,43],[309,18,39,277,58,43],"27787493",[311,18,49,312,220,43],"27788839","maker\u002Fpositive\u002Fidea",[314,18,43,251,315,43],"27790009","mikepurvis",[317,18,39,318,319,43],"27791747","project\u002Fneutral\u002Fexecution","gravypod",[321,18,39,277,58,43],"27792690",[323,18,43,251,324,43],"27794971","joepie91_",[202,34,39,318,203,43],[327,34,39,318,328,43],"27789051","detaro",[330,34,39,331,58,43],"27792635","maker\u002Fneutral\u002Fexecution",[333,34,41,236,203,43],"27794920",[335,34,43,291,58,43],"27795022",[88,337,49,234,89,43],10,[339,337,39,340,58,43],"27785993","maker\u002Fneutral\u002Fnone",[342,343,49,234,344,43],"27787344",11,"gingerlime",[153,346,39,347,154,43],12,"project\u002Fmixed\u002Fexecution",[349,346,39,255,58,43],"27792651",[184,351,39,277,185,43],13,[353,351,39,277,354,43],"27789041","netvarun",[356,351,39,357,358,43],"27789050","project\u002Fneutral\u002Fdocs","oftenwrong",[127,351,41,293,128,43],[361,351,39,277,139,43],"27790556",[363,351,49,234,154,43],"27791024",[206,365,49,366,207,43],14,"project\u002Fpositive\u002Fexecution",[78,365,39,331,58,43],[369,365,41,285,370,43],"27787146","corpdronejuly",[372,365,43,258,373,43],"27787233","mamcx",[375,365,39,331,263,43],"27787342",[377,365,49,378,370,43],"27787574","maker\u002Fpositive\u002Fexecution",[100,380,49,234,101,43],15,[382,380,39,277,289,43],"27788987",[173,38,39,277,174,43],[385,38,49,234,58,43],"27786880",[387,38,39,277,67,43],"27787521",[389,38,49,234,58,43],"27787592",[391,392,49,234,393,43],"27792008",17,"PufPufPuf",[104,395,49,234,105,43],18,[397,395,39,318,58,43],"27790947",[399,400,49,234,401,43],"27788043",19,"theptip",[403,400,43,291,58,43],"27788351",[405,400,49,234,401,43],"27823133",[407,400,43,251,185,43],"27788892",[409,400,49,234,410,43],"27811051","adonovan",[169,412,39,413,170,43],20,"project\u002Fneutral\u002Fnone",[415,412,39,255,58,43],"27786842",[177,417,39,413,94,43],21,[419,417,39,340,58,43],"27787754",[421,417,39,318,94,43],"27788491",[423,417,49,378,58,43],"27789314",[160,417,39,425,94,43],"project\u002Fmixed\u002Fperformance",[163,417,39,427,58,43],"maker\u002Fneutral\u002Fperformance",[93,417,49,366,94,43],[430,31,43,251,431,43],"27788664","mssundaram",[433,434,437],{"id":4,"t":12,"points":14,"comments":15},{"id":435,"t":436,"points":33,"comments":41},"36986836",1691074602,{"id":438,"t":439,"points":39,"comments":43},"39130118",1706194263,[441,446,450,455,460,464],{"id":442,"name":443,"points":444,"category":445},"27803146","WiFi Card",769,"productivity",{"id":447,"name":448,"points":449,"category":445},"27807850","Obsidian for Mobile",760,{"id":451,"name":452,"points":453,"category":454},"27806952","gba-remote-play",165,"games",{"id":456,"name":457,"points":458,"category":459},"27819764","Fakeflix",153,"web_saas",{"id":461,"name":462,"points":463,"category":20},"27794188","Hck",151,{"id":465,"name":466,"points":467,"category":20},"27799135","puppy-browser",144,false,"v2",{"id":471,"name":5,"line":6,"ai":468,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":472,"top":18,"kw":473,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":474,"url":9,"mix":475,"praise":85,"objection":109,"sub":21},27785323,0.18,[21,24,25,26,27],"3553310531013335333155331513535555553355",[31,32,33,34],1793991030434]