[{"data":1,"prerenderedAt":304},["ShallowReactive",2],{"project-29416147":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":27,"sentiment":28,"stance_mix":29,"scored_comments":33,"aspects":34,"strip":43,"post_text":44,"what":45,"said":73,"maker_in_thread":164,"shape":173,"grid":176,"attempts":266,"same_week":267,"maker_shows":249,"maker_hidden":296,"reader_version":297,"card":298},"29416147","Earthly","Earthly v0.6","title","Show HN: Earthly v0.6","https:\u002F\u002Fearthly.dev\u002Fblog\u002Fearthly-v0-6\u002F","earthly.dev","vladaionescu",1638453559,2021,116,37,458,2533,19,"notable","dev_tools","build automation","cli",[21,24,25,26],"makefile alternative","ci reproducibility","dockerfile alternative","mixed",0.217,{"positive":30,"neutral":30,"mixed":31,"critical":32},10,1,5,26,{"design":35,"performance":37,"idea":39,"docs":42},{"positive":36,"critical":36},3,{"positive":31,"critical":38},0,{"positive":40,"critical":41},4,2,{"positive":38,"critical":38},[38,32,38,38,38,32,36,38,38,32,32,32,32,38,38,38,38,31,36,31,31,36,31,32,32,36,36,36,36,32,32,36,36,36,36,38,31],null,{"problem":46,"audience":57,"pricing":44,"motivation":66,"time_to_build":44,"stack":70,"openness":71,"stage":72,"team_size":71},{"value":47,"source":48,"evidence":49},"Reproducing CI builds locally and iterating on CI config slowly","maker",[50,53],{"id":51,"by":11,"text":52},"29416161","Hello HN. Earthly is a tool for build automation and we just had our biggest release yet. Earthly is a modern build solution that is similar to a sandboxed makefile. It works…",{"id":54,"by":55,"text":56},"29418823","mastax","> The #1 reason people use Earthly today is to be able to reproduce CI builds locally. Earthly helps create a consistency layer, providing a level of guarantee that the build…",{"value":58,"source":59,"evidence":60},"Developers and teams running CI builds","inferred",[61,62],{"id":51,"by":11,"text":52},{"id":63,"by":64,"text":65},"29419268","adamgordonbell","Yep. An Earthfile describes your build steps in a containerized format. Because of this sandboxing it can run identically in CI or on your local. So you just describe your build…",{"value":67,"source":48,"evidence":68},"Make builds consistent and repeatable across local machines and CI",[69],{"id":51,"by":11,"text":52},[],"unknown","launched",{"praise":74,"objections":92,"requests":111,"questions":127,"alternatives":141},[75,81],{"value":76,"source":77,"evidence":78},"Useful for reproducing CI builds locally","commenter",[79,80],{"id":54,"by":55,"text":56},{"id":63,"by":64,"text":65},{"value":82,"source":77,"evidence":83},"Good alternative to Dockerfile not governed by Docker",[84,88],{"id":85,"by":86,"text":87},"29417646","junon","Nice. Been looking for something like this - a Dockerfile equivalent that isn't governed by the Docker folks, with whom I generally do not see eye to eye with. Bookmarked for…",{"id":89,"by":90,"text":91},"29421651","akdor1154","Oh geez. Dockerfiles are reason #1 for docker's popularity. Shipping 'the lot' so the artifact works everywhere is #2. This is incredibly inefficient for most use cases. `docker…",[93,104],{"value":94,"source":77,"evidence":95},"Verbose build-arg and env var passing",[96,100],{"id":97,"by":98,"text":99},"29417496","honkycat","I tried using Earthly, great product. Unfortunately, we rejected it at our organization due to how verbose the commands are. I want my users to be able to say `earthly…",{"id":101,"by":102,"text":103},"29425725","andyonthewings","The required build arg and env var names are already listed in the Earthfile as `ARG` and `RUN --secret ...`. So I think specifying it in the commandline is redundant.",{"value":105,"source":77,"evidence":106},"Cache misses hard to understand",[107],{"id":108,"by":109,"text":110},"29416929","cmckn","I love earthly! It has been a joy to use. One thing I haven’t gotten right is caching. Some of my builds have targets they depend on that are very expensive but rarely change,…",[112,120],{"value":113,"source":77,"evidence":114},"Add earthly ls to list targets",[115,116],{"id":108,"by":109,"text":110},{"id":117,"by":118,"text":119},"29417123","jazzdan","+1 on `earthly ls`. I've also thought it would be valuable to have \"public\" and \"private\" targets. When looking at a new codebase it can be hard to know which targets I should…",{"value":121,"source":77,"evidence":122},"Public and private targets",[123,124],{"id":117,"by":118,"text":119},{"id":125,"by":118,"text":126},"29417228","Yeah, exactly. Or even just not listed in `earthly ls`, maybe you'd still want to be able to call them manually for debugging purposes.",[128,135],{"value":129,"source":77,"evidence":130},"Why is it called earthly?",[131],{"id":132,"by":133,"text":134},"29421005","givemeethekeys","Why is it called \"earthly\"?",{"value":136,"source":77,"evidence":137},"How does this differ from Mesos?",[138],{"id":139,"by":140,"text":136},"29418559","citilife",[142,149,160],{"value":143,"source":77,"evidence":144},"Taskfile \u002F make",[145,146],{"id":97,"by":98,"text":99},{"id":147,"by":98,"text":148},"29419179","Yeah, that was what I was doing in the prototype stage. But then I thought \"why do we need two task runners? \" and ended up just going with task files. They sell it as a make…",{"value":150,"source":77,"evidence":151},"Bazel",[152,156],{"id":153,"by":154,"text":155},"29419754","no_circuit","Interesting. Dev tools post always catch my attention. For me, your comment regarding `build-arg` is in the same bucket as the comment regarding the need for a `ls` command.…",{"id":157,"by":158,"text":159},"29417949","AlphaSite","It’s a build tool, I’d be surprised if something like it worked well for non build related tasks. I suspect bazel would be equally verbose (if not even worse or impossible). I…",{"value":161,"source":77,"evidence":162},"Dockerfile",[163],{"id":85,"by":86,"text":87},{"comments":36,"answered":31,"key":165},[166,167,170],{"id":51,"text":52},{"id":168,"text":169},"29417018","The `earthly ls` idea is great. We do have shell autocompletions but that is not quite the same thing. I will add a ticket for that. Cache misses can be a bit inscrutable. It…",{"id":171,"text":172},"29417150","Public \u002F Private is interesting. Private would not be callable from command line and not be listed in `earthly ls`?",{"commenters":174,"max_depth":32,"maker_replies":36,"first_comment_mins":31,"lifespan_hours":175},22,114,[177,179,181,183,187,191,194,196,198,200,202,204,205,206,209,212,215,217,219,221,223,224,225,227,230,232,235,237,240,242,243,247,251,254,257,259,263],[51,38,38,178,11,31],"project\u002Fneutral\u002Fidea",[108,31,32,180,109,38],"project\u002Fpositive\u002Fdesign",[168,31,38,182,11,31],"maker\u002Fneutral\u002Fnone",[184,31,38,185,186,38],"29418531","other\u002Fneutral\u002Fdesign","politician",[188,31,38,189,190,38],"29446728","other\u002Fneutral\u002Fnone","TekWizely",[192,31,32,193,109,38],"29469942","project\u002Fpositive\u002Fperformance",[117,31,36,195,118,38],"project\u002Fneutral\u002Fdesign",[171,31,38,197,11,31],"maker\u002Fneutral\u002Fdesign",[125,31,38,199,118,38],"commenter\u002Fneutral\u002Fdesign",[201,31,32,180,64,38],"29425749",[54,41,32,203,55,38],"project\u002Fpositive\u002Fidea",[63,41,32,203,64,38],[85,36,32,203,86,38],[207,36,38,189,208,38],"29417774","chirau",[210,36,38,211,86,38],"29417983","other\u002Fcritical\u002Fnone",[213,36,38,189,214,38],"29419853","sbysb",[216,36,38,189,86,38],"29419967",[97,40,31,218,98,38],"project\u002Fcritical\u002Fdesign",[220,40,36,195,64,38],"29417763",[222,40,31,218,98,38],"29419235",[101,40,31,218,102,38],[157,40,36,195,158,38],[147,40,31,226,98,38],"project\u002Fcritical\u002Fidea",[228,40,32,229,158,38],"29423418","project\u002Fpositive\u002Fnone",[231,40,32,229,98,38],"29423805",[233,40,36,195,234,38],"29419239","lessthanseventy",[153,40,36,236,154,38],"project\u002Fmixed\u002Fdesign",[238,40,36,239,102,38],"29425642","project\u002Fneutral\u002Fdocs",[241,40,36,182,64,38],"29425765",[89,32,32,203,90,38],[244,245,32,180,246,38],"29426258",6,"f0e4c2f7",[248,249,36,239,250,38],"29419546",7,"wiradikusuma",[252,249,36,253,64,38],"29419859","maker\u002Fneutral\u002Fdocs",[132,255,36,256,133,38],8,"project\u002Fneutral\u002Fnone",[139,258,36,178,140,38],9,[260,258,38,261,262,38],"29421858","commenter\u002Fneutral\u002Fnone","ghotli",[264,30,31,226,265,38],"29425779","somenewaccount1",[],[268,273,278,282,287,292],{"id":269,"name":270,"points":271,"category":272},"29461735","Modern Wiki",979,"productivity",{"id":274,"name":275,"points":276,"category":277},"29425735","Emoji to Scale",713,"learning_science",{"id":279,"name":280,"points":281,"category":277},"29488511","Scale of the Universe 2",276,{"id":283,"name":284,"points":285,"category":286},"29428910","Deep Dreams",237,"ai",{"id":288,"name":289,"points":290,"category":291},"29464889","Straw.page",210,"web_saas",{"id":293,"name":294,"points":295,"category":277},"29437527","UI\u002FUX Tips book",198,false,"v2",{"id":299,"name":5,"line":6,"ai":296,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":300,"top":18,"kw":301,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":302,"url":9,"mix":303,"praise":76,"objection":94,"sub":21},29416147,0.22,[21,24,25,26],"0500053005555000013113155333355333301",[30,30,31,32],1794036613786]