Hacker Newsnew | past | comments | ask | show | jobs | submit | paulddraper's commentslogin


GitHub Actions runners are hard to self-host.

The runner configuration and registration process is unnecessarily byzantine. [1]

They can't cancel jobs cleanly. [2]

There are consistency problems everywhere. [3]

Their own documentations describes horrible things unless you use runners in JIT mode. Though JIT runners are not always removed after exit.

If there is a worse self-hosted CI runner, I haven't yet met it.

[1] https://docs.github.com/en/actions/how-tos/manage-runners/se...

[2] https://github.com/orgs/community/discussions/26311

[3] https://github.com/orgs/community/discussions/62365


And if you want any concurrency at all, you need 1 runner registration per concurrent job. And each runner needs its own user. And each runner requires a full and separate copy of the runner software, which is large (hundreds of megs) and self-updates.

You don't need your own user.

The rest is correct. (Though you can hardlink the installation.) And you can disable self-update, though it does it by default.


Ah right, I've forgotten because I'm using a multi-user strategy and a patched version of the runner at this point anyway. The config directory for each runner is normally based on its install path (insane), something like that?

Hard-linking and running concurrent self-updates, sounds like a recipe for disaster.

I am developing a self-hosted solution for this [1]. It’s true that it’s somewhat of a pain but JIT runners allow a lot of flexibility that we don’t find elsewhere.

[1] https://runs-on.com


In my experience even with runs-on it is a bit painful with runner cancellations.

I did something very similar.

Create/start/stop/terminate EC2.

https://github.com/redoapp/fast-actions-runner-ec2


And they are even on their third (fourth?) from-scratch rewrite of their agent server. When will they get it right? (Rhetorical question)

100 points to anyone who can explain this

Author seems to have no Internet presence and claims to be employed by the "Artificial Intelligence Internet Foundation". Which either doesn't have a website or is this placeholder: https://www.aifoundation.com/

So it seems to be a random person cosplaying as a spec author. Or possibly trying to have something impressive on their résumé.


Or an upstart AI firm trying to puff up a forthcoming marketing piece, gushing about how they’ve made Internet backbone engineers obsolete.

“Our AI invented its own AI-native protocol for other AIs, see? Far beyond human comprehension, but it graciously dumbed it down for the legacy meatsacks of IETF. AGI!”


> > We are introducing a $0.002 per-minute Actions cloud platform charge for all Actions workflows across GitHub-hosted and self-hosted runners.

Holy s***

That's more expensive than an m8i.large.

What on earth.


That's actually $90/month, that's kind of crazy.

I realise 100% utilisation isn't realistic, but that still sounds very expensive when you're already BYOB.


> I realise 100% utilisation isn't realistic

It's worse than unrealistic. It's ludicrous. Any company running more than an hour of actions workflows per week on GitHub can afford a few dollars a month for infrastructure. The per-minute charge is less than the cost of a millisecond of engineering labor time.


Monorepo, though Gitlab, self-hosted runner, 41 hours in the last week.

Tell me that $20/month is a notable amount of expense for your business spending 41 hours per week on workflows. Go on.

Dude why are you so determined to defend this pricing change? You're all over this thread arguing with people that it's not a big deal. If it's a big deal to them, why do you give a shit? It's not like it's your problem if people take their business elsewhere for a poor reason.

This increases our CI compute costs by 30%.

We'd be at roughly $700/month at current usage.

It's a matter of numbers.

If 20% of people are using VPNs, blocking them is going to be a double-digit hit.


2 or 3 what?

> comprehensive, but incomplete

????


Opus 4.5 is like a couple points higher then Sonnet 4.5 on the SWE benchmark.

And in fact, this what the Closure Compiler does…typecheck based on JSDoc.

However, the precision and completeness is not nearly what can be expressed in TypeScript. With generics particularly.


Care to give an example? In another reply I pointed out how advanced JSDoc syntax's support for generics is.[0] Even allowing for `extends` and default values for generic slots.

The clunkiest part is in the way you "pass in" a generic to a slot. But this is solved by typing the return type.

I use generics pretty extensively and I've not yet come across a use-case JSDoc couldn't handle

[0] https://news.ycombinator.com/item?id=46267810


Ah.....you're putting TypeScript in JSDoc annotations.

Which is a lot different than vanilla JSDoc [1].

I understand.

[1] https://jsdoc.app/


JSDoc doesn't have a formal spec. Most modern development on JSDoc syntax happens by the TypeScript team. Every release of TypeScript also includes notes about JSDoc syntax.

Almost any modern IDE is also parsing JSDoc comments through the TypeScript language service. So many people don't realize they are already using TypeScript (hence the name of this post).

I don't think it's particularly controversial to say that the form of JSDoc that the majority of developers are familiar with IS JSDoc. The distinction is more of a historical one than a technical one (since there is no formal JSDoc spec)


+ 3.75 TB NVMe

And that’s the per second pricing applied 24/7 for a month. A year commitment takes 30% off.

Still a big markup, but a lot of these comparisons are the the on demand instant on/off price.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: