6 ms·
Claude Code does our releases now
- rubyn00bie 1y agoI’ll be honest this sounds like something that could be completely automated without AI. Wouldn’t a simple shell script accomplish this? Merge, push tag, deploy release with tag. I’m really not sure why AI is useful here at all but maybe I’m missing something?
- zihotki 1y agoUsing a script there won't make the news headline. It's an ad for their product - a chat bot
- XenophileJKO 1y agoI think the only main "benefit" here is auto-documentation. I have for example been pretty impressed when doing coding with Claude Code of how it creates the git commits. I've just been testing it out having it create a whole application by itself so I can understand how well it works and what its limiations are with Sonnet 4. So far it is pretty impressive but also limited in context retention/retrieval.
- apwell23 1y agoheadline for being stupid? i guess no such thing as bad publicity
- satisfice 1y agoThank you for warning your potential customers.
- deleted 1y ago[deleted]
- apwell23 1y ago> So please: > 1. Check if there exists a release PR already. When you check, do not grep, just list ALL PRs. Why would you make AI do this when you can just do it with an api call or git. Does the author not know that there is a chance that it won't actuall list ALL PRs just because he put that in all caps? we have lost our collective minds that this person is proudly publishing this stupidity to the world. i hate this so much. can we pls ban these coders from the industry :(
- Maxion 1y ago> can we pls ban these coders from the industry :( No, as these coders are what will ensure the rest of us will have a nice gravy train in 5 years.
- pylotlight 1y agoGotta wait for the crash first, when the buildup of poor code overwhelms the remaining few snr devs and mountain of those that are AI only.
- miyuru 1y ago>can we pls ban these coders from the industry This is the main problem with AI, we can no longer distinguish bad coders/managers because they use AI heavily and which can say knowledgeable things at times while having no idea on what they are doing. I now say things that will not make sense to a good coders (like saying the steps out of order), to find out such people.
- johnisgood 1y agoEventually you will find the imposters (I have impostor syndrome, gives it a whole new spin), because AI does not replace your knowledge of the underlying concepts. It just takes time at times.
- otabdeveloper4 1y ago> ...and which can say knowledgeable things at times while having no idea on what they are doing This has been a thing forever, before AI. Lots of "programmers" at BigCorp have hacked the system and they know how to say the right words relevant to BigCorp's tech stack. Knowing how to actually program is entirely optional. (You can just copy-paste boilerplate from BigCorp's monorepo, writing boilerplate will be your day job anyways.)
- apwell23 1y agoyea for sure they hacked the system for promotions but they weren't checking in AI slop for rest of us to deal with.
- mkl95 1y ago> less manual work is always better. Why do your releases involve non negligible manual work? > We release 1-3 times per week. If I were a customer, I would be concerned by this statement. Having an amateurish deployment strategy is one thing, but your release cadence implies low confidence and quality issues.
- apwell23 1y ago> but your release cadence implies low confidence and quality issues. curious why would it imply that.
- wmichelin 1y agowhy not have CI?
- Mashimo 1y agoBut the questions was about the cadence and not the method.
- mkl95 1y agoWhy would a startup CTO choose to deploy a couple of times a week with a Claude script instead of implementing basic CI/CD? He makes it sound like he's running a clusterfuck and he isn't qualified for the job.
- maeln 1y agoIt really depends on the product. Especially if 0-downtime deployment is not possible.
- 9dev 1y agoAren't you assuming a bit much here? They have implemented CI/CD; their Claude script triggers the git branch part of the release flow, which is what in turn triggers the CI/CD pipeline—a completely normal thing to do, even in established teams (save for the Claude part). The guy automated the toil away using AI. Not that I would feel confident automating away that part in particular, but it does neither speak badly of the code quality, nor his job qualifications.
- coolgoose 1y agoI mean, it's cute, but how the heck this is this an actual solution. This is basic automation and a pretty weird deployment process that could literally be a proper ci/cd pipeline.
- eCa 1y ago> So please No one has ever said ”please” to me in release instructions. Not that I miss it, I would find it weird.
- kissgyorgy 1y agoIt's a well known prompt trick to get better results. Scott Hanselman explained it like "You get to the nice corner of the internet."
- DonHopkins 1y agoBut what if the LLM senses you're using the word "please" in the passive aggressive, patronizing, ironic sense? ;)
- AStonesThrow 1y agohttps://en.wikipedia.org/wiki/INTERCAL https://en.wikipedia.org/wiki/INTERCAL [The keyword "PLEASE"] provides two reasons for the program's rejection by the compiler: if "PLEASE" does not appear often enough, the program is considered insufficiently polite, and the error message says this; if it appears too often, the program could be rejected as excessively polite. Although this feature existed in the original INTERCAL compiler, it was undocumented.
- danw1979 1y agoThis is a fine example of a process you really want to be deterministic being automated using something that is definitely not.
- M4v3R 1y agoI did something similar in my hobby project - the agent was promoted, among the other things, to copy a signature from a build artifact into a json file. It worked fine until it didn’t - one day Claude 4 Sonnet randomly flipped one letter in the signature to something else. It wasn’t the end of the world, I catched the error because I always manually test if the release worked, but it shows that AI tools should not be used as execution engines for CI/CD workflows. It’s slow, inefficient and error prone. Just ask the AI to help you write a proper workflow with code.
- littlestymaar 1y ago> It’s slow, inefficient and error prone. And really expensive, which is why AI companies want you to do that. > Just ask the AI to help you write a proper workflow with code. This.
- CoolCold 1y agoI'm with you here and likely the next step would be yelling to to Cloud - basically the same and as we see how widespread Clouds are
- shermantanktop 1y agoWhat is the deterministic alternative you suggest? I’m not endorsing this release practice in particular, it scares me. But I have been involved in a lot of automation projects where perfection was the initial goal, and then abandoned because it was obvious that non-automated work was so imperfect. Human error is a fact of life.
- forkerenok 1y agoThe sibling comment from M4v3R covered this well.
- the_duke 1y agoNote the "10 Apr" date, so this precedes the availability of Codex and Jules, which are both quite good.
- cynicalsecurity 1y agoLetting AI do releases is a very very bad practice.
- sakesun 1y agoLetting AI control software releases might seem risky, but it may not be as problematic as it sounds—especially if you also use AI to handle issue support. :)
- hiyer 1y agoThis is cool and all, but I don't see why this can't be accomplished (and more deterministically) with a bunch of bash/python scripts. I've seen that done and work well in several firms for decades.
- kristopolous 1y agoAgreed. This prompt is very easy to satisfy with 1970s technology.
- DonHopkins 1y agoJCL! My mom could do that. Fortunately she's safely and blissfully retired, so AI can't take her jerbs. https://en.wikipedia.org/wiki/Job_Control_Language https://en.wikipedia.org/wiki/Job_Control_Language >"the worst computer programming language ever devised by anybody, anywhere" -Fred Brooks (Obviously when he said that, Fred hadn't been exposed to bash yet!) "Please write a JCL script to orchestrate the release of my AI startup company's AI powered shop assistant from github. Did I mention that we use AI?" //********************************************************************* //* M O L I N A I R E L E A S E P I P E L I N E * //* * //* Product : AVATAR-SHOP-ASSISTANT * //* Company : Aluxian / Molin AI * //* Purpose : Tag, publish and attach artefacts to GitHub * //********************************************************************* //AVTREL JOB (AC),'MOLIN AI',CLASS=A,MSGCLASS=X,JOBPARM=TIME=1440,TYPRUN=HOLD // REGION=0M //SET PRJ=MOLINAI,APP=AVATAR,TAG=v3.1.0,TOK=ghp_FAKE,REPO=aluxian/avatar //SET WS=/opt/molin/ws //MUSE PROC GIT=/usr/lpp/git4z/bin/git4z,CURL=/usr/lpp/bear/bin/curlbear,SHA= //ENV SET PATH=/usr/lpp/git4z/bin:/bin HOME=/home/molin //SHA EXEC PGM=BPXBATCH,PARM='PGM &GIT rev-parse HEAD' //STDOUT DD DSN=&&S,UNIT=SYSDA,SPACE=(CYL,1),DISP=(,PASS) //IFTAG IF (&SHA ¬= ' ') THEN //TAG EXEC PGM=BPXBATCH,PARM='PGM &GIT tag -a &TAG &SHA -m &TAG' // ELSE //TAG EXEC PGM=BPXBATCH,PARM='PGM &GIT tag -a &TAG -m &TAG' // ENDIF //PUSH EXEC PGM=BPXBATCH,PARM='PGM &GIT push origin &TAG',COND=(4,LT) //JSON EXEC PGM=IEBGENER //SYSUT1 DD * {"tag_name":"&TAG","name":"Avatar &TAG","generate_release_notes":true} /* //SYSUT2 DD DISP=(NEW,CATLG),DSN=&&PAY(0),UNIT=SYSDA,SPACE=(TRK,1) //SYSIN DD DUMMY //ESDS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE CLUSTER(NAME(&&E) RECORDSIZE(255 255) KEYS(1 0) REUSE SPEED) - DATA(NAME(&&E.DATA)) REPRO INFILE(P) OUTDATASET(&&E.DATA) IF MAXCC>4 THEN SET MAXCC=0 /* //P DD DISP=SHR,DSN=&&PAY(0) //POST EXEC PGM=BPXBATCH, // PARM='PGM &CURL -sS -X POST https://api.github.com/repos/&REPO./releases // -H Authorization:\ Bearer\ &TOK -H Accept:\ application/vnd.github+json // --data-binary\ @DD:EJSON' //EJSON DD DISP=SHR,DSN=&&E.DATA //STDOUT DD DSN=&&R,UNIT=SYSDA,SPACE=(TRK,1),DISP=(,PASS) //RID EXEC PGM=IKJEFT01 //SYSTSPRT DD DSN=&&ID,UNIT=SYSDA,SPACE=(TRK,1),DISP=(,PASS) //SYSTSIN DD * alloc fi(r) da('&&R') shr execio * diskr r (stem x. finis do i=1 to x.0 if pos('"id"',x.i)>0 then parse var x.i '"id":' id ',' . if id¬='' then say strip(id); leave end /* //* BLDL fix — after the ‘Q3-FY24 LLA purge’ when an ill-advised UPDATE to //* SYS1.LINKLIB nuked the BLDLRES chain, froze LLA, and threw half the //* plex into S047s until Ops spent nine hours baby-sitting a cold-start IPL. //COPY EXEC PGM=IEBCOPY //SYSUT1 DD DISP=SHR,DSN=&&R //SYSUT2 DD DSN=&PRJ..G.&APP..R(&TAG),DISP=(NEW,CATLG), // SPACE=(CYL,(1,1,1)),DSORG=PO //UPL EXEC PGM=BPXBATCH, // PARM='PGM &CURL -sS -X POST // https://uploads.github.com/repos/&REPO./releases/$(cat &&ID)/assets?name=shop.jar // -H Authorization:\ Bearer\ &TOK -H Content-Type:\ application/java-archive // --data-binary\ @&WS/&APP/dist/shop.jar' //STDENV DD DUMMY //PEND //GO EXEC MUSE
- sriku 1y agoI just spent a day resurrecting an old iOS music app of mine that got kicked out of the app store because I didn't make time to keep up with changes and devices, and some music students kept asking "when is it going to get back on the app store?". I used Claude Code in "do whatever you need to to modernize this code" mode for a bit and then went about correcting the things it got wrong. Many changes made were mechanical and useful and a few incorrect. It botched up some core code big time with changes that didn't make any sense, and I had to revert and micromanage changes to that. In all, it was a win for a day's work during the weekend. Approx $30 well spent, but I give my thanks to the OSS community whose code made Claude Code possible and wish I could've split that with them. The fact that software systems are architected with tons of mini languages means LLMs can be of use to select from the space of possibilities without me having to learn incidental details I don't want to spend time or my neurons on.
- geuis 1y agoWe have a very small team and release at will. Some days multiple times, sometimes days between. We don't use AI, just have a well tested codebase and basic bash script automation mixed in with GitHub actions. Not bashing AI tools in particular, but just learning some basic decades old tooling and processes gets you pretty much all of the way there.
- beAbU 1y agoI tell my teams and stakeholders that releasing software is like exercising a muscle. It more it's automated, and the more frequently we do it, the less of a "thing" it becomes. Releasing should not be reserved for a single senior dev: any dev in the team should be able to release at any time, and the system should be set up with the appropriate guard rails to avoid stupid mistakes. Rollbacks should be trivial and everyone should know how to do it.
- retinaros 1y agofeels like we entering the ICO stage of GenAI
- mpweiher 1y agoFortunately I wasn't in the market for an AI shopping assistant anyhow, but still thanks for letting me know what to avoid if I ever became interested in one.
- beAbU 1y agoRemindMe! 3 months from now. Willing to put down a little bit of my money that this is going to blow up in their faces in the near future. I'm not super technical at all, but I don't understand why a team that does 1-3 deploys a week is not fully automating with "proper" CI.
- 000ooo000 1y ago>I don't understand why a team that does 1-3 deploys a week is not fully automating with "proper" CI. They don't either apparently
- zorked 1y agoUse AI to write a release script if you need. Don't do what this post suggests.
- sudhirj 1y agoPlease ask the agent to help write a workflow script (GitHub Actions yaml or makefile or similar) instead of using it as a runner - if you do that the release pipeline changes with each execution. You do not want a non deterministic release pipeline that's mostly correct. You want one that's checked in to version control and always does exactly the same thing, with all logs and artefacts recorded. By all means use whatever AI agent you have to help set that up.
- beAbU 1y agoThe author of this article is using AI to run certain console commands, while still requiring them to manually advance the release process. Almost as if the author does not know how to write a bash script, and reverted to using an AI prompt in stead?
- wg0 1y agoSpeaking of which - I was wondering if there is a catalogue of release processes? Variety, usual steps, checklists? Asking because development processes are a hot market themselves think of XP, Scrum, agile etc so wondering if there's something documented about release processes.
- SCdF 1y agoIs this not a bash script, but run through a "maybe it won't work this time" randomizer? Sometimes I feel like I live on another planet. Wouldn't you at least get Claude to write the bash script, confirm it works how you like, then run that? Why get an LLM to guess how to do it each and every time? At least they are still manually approving, which the title made sound like something they'd move on from.
- alanfranz 1y agoWe're moving fast from "we do this with AI because it's useful" to "we do this with AI because it's cool despite the fact that it's slower, more expensive, and non-deterministic" It's like the "we made over our product in order to use technology X because it's cool and modern" that we've seen multiple times with node, go, rust, k8s, blockchain, <enter technology here>.
- NekkoDroid 1y ago> non-deterministic Counterpoint: temperature = 0 /s On a more serious note: I personally only found LLMs really interesting to double check my code if there might be something I overlooked in the general implementation (a different approach or so), never really for it to write code directly for me. I feel like this is just becoming less and less common nowadays and it kinda makes me worry for the quality of code that was already questionable at times...
- 1y ago
- Jean-Papoulos 1y agoIs this a psyop to check how HN readers will react to this insanity ? This could be a simple script. It should be a simple script. Please update us when this fails :)
- apwell23 1y agopsyop is working. i am seriously considering quitting my 2 decade coding career that I very much loved before this AI insanity. We have mandate at work that all code must now be generated by AI in first iteration. I am going to open a Montessori school in India with my wife.
- deleted 1y ago[deleted]
- nsonha 1y agoyep, release is the first thing whose control you should delegate to AI, Skynet way.