frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

GitHub Actions Has a Package Manager, and It Might Be the Worst

https://nesbitt.io/2025/12/06/github-actions-package-manager.html
88•robin_reala•2h ago

Comments

saagarjha•1h ago
What’s more, GitHub has basically stopped maintaining their own actions, pushing people to sketchy forks to do basic things. Their entire ecosystem is basically held up with duct tape and gets very little investment.
bilekas•1h ago
That issue with their own small private forks has actually raised its head while testing out the AI slop generator thing it has, making anything it produces for you not self hoatable unless you rewrite a lot of basic functions. Sweet irony.
mhitza•1h ago
With AI you won't need CI anymore, it's all going straight to prod anyway /s

Actions is one thing, but after all these years where the new finegrained access tokens aren't still supported across all the product endpoints (and the wack granularity) is more telling about their lack of investment in maintenance.

Cthulhu_•1h ago
Which is strange because they have infinite Microsoft money and can print more if they get it into enterprises.

(we run a private gitlab instance and a merge request can spawn hundreds of jobs, that's a lot of potential Gitlab credits)

crote•1h ago
This is the first time I've heard of this, do you happen to have an example?
anentropic•59m ago
https://github.com/orgs/actions/repositories?language=&q=&so...

https://github.com/actions/create-release

ptx•50m ago
The funny thing about the last one is that those actions ultimately boil down to invoking their CLI tool (which is pre-installed on the runners) with "gh release create ...", so you can just do that yourself and ignore the third-party actions and the issues that come with them. Invoking an action isn't really any easier than invoking the CLI tool.
coryrc•51m ago
https://github.com/search?q=org%3Aactions+%22we+are+allocati...

i.e. from https://github.com/actions/cache/?tab=readme-ov-file#note

   Thank you for your interest in this GitHub repo, however, right now we are not taking contributions.

   We continue to focus our resources on strategic areas that help our customers be successful while making developers' lives easier. While GitHub Actions remains a key part of this vision, we are allocating resources towards other areas of Actions and are not taking contributions to this repository at this time. The GitHub public roadmap is the best place to follow along for any updates on features we’re working on and what stage they’re in.
crote•35m ago
That's insane, so they are basically dropping support on a core feature of GH Actions?
saagarjha•17m ago
This is on the checkout action too, by the way. You know, the very first thing people put in their CI pipeline.
mixedbit•1h ago
An interesting things is that GitHub is an expensive service and my guess would be that MS makes good money on it. Our small company paid about 200+ USD monthly for GitHub, much larger cumulative cost than Windows licenses. My believe was that Windows is getting worse, because it is considered legacy business by MS in favor of new offerings such as GitHub subscriptions.
samhh•52m ago
I was surprised to learn that Depot runners, which are much faster, are also much cheaper. Would highly recommend them for anyone trapped on GitHub.
Ygg2•28m ago
> My believe was that Windows is getting worse, because it is considered legacy business by MS in favor of new offerings such as GitHub subscriptions.

What if GH actions is considered legacy business in favour of LLMs?

silverwind•56m ago
The quality of setup-* actions has definitely gone down and there are a lot of strange decisions being made. I assume the original authors of these actions have long left the company.
miohtama•43m ago
Everyone is free to use alternative CI/CD workflow pipelines. These are often better than Github Actions.

These include

- https://circleci.com/

- https://www.travis-ci.com/

- Gitlab

Open source:

- https://concourse-ci.org/ (discussed in the context of Radicle here https://news.ycombinator.com/item?id=44658820 )

- Jenkins

-etc.

Anyone can complain as much as they want, but unless they put the money where their mouth is, it's just noise from lazy people.

ramon156•37m ago
according to travis-ci, Microsoft uses that? Lol
koakuma-chan•21m ago
Or roll your own
saagarjha•19m ago
I’d appreciate not being called lazy for mentioning a lack of investment on Microsoft’s side to secure their paid and fairly lucrative service that they bought a popular code hosting platform to integrate with.
CamouflagedKiwi•19m ago
I've used CircleCI quite a bit in the past; it was pretty good. Feels tough for them to compete with GHA though when you're getting GHA credits for free with your code hosting.

I used Travis rather longer ago, it was not great. Circle was a massive step forward. I don't know if they have improved it since but it only felt useful for very simplistic workflows, as soon as you needed anything complex (including any software that didn't come out of the box) you were in a really awkward place.

aprilnya•14m ago
I mean, they do have a free plan with 6,000 minutes
c0balt•5m ago
It should be highlighted that Gitlab CI/CD (self-hostable runner and GitLab itself) is also OSS.
dwroberts•1h ago
Pleased this is being discussed somewhere as it’s something that has troubled me for a while.

There are so many third party actions where the docs or example reference the master branch. A quick malicious push and they can presumably exfiltrate data from a ton of repositories

(Even an explicit tag is vulnerable because it can just be moved still, but master branch feels like not even trying)

amluto•1h ago
> The researchers identified four fundamental security properties that CI/CD systems need: admittance control, execution control, code control, and access to secrets.

Why do CI/CD systems need access to secrets? I would argue need access to APIs and they need privileges to perform specific API calls. But there is absolutely nothing about calling an API that fundamentally requires that the caller know a secret.

I would argue that a good CI/CD system should not support secrets as a first-class object at all. Instead steps may have privileges assigned. At most there should be an adapter, secure enclave style, that may hold a secret and give CI/CD steps the ability to do something with that secret, to be used for APIs that don’t support OIDC or some other mechanism to avoid secrets entirely.

cyberax•59m ago
You might want (or _need_) to sign your binary, for example. Or you might want to trigger a deployment.

Github actually is doing something right here. You can set it up as a trusted identity provider in AWS, and then use Github to assume a role in your AWS account. And from there, you can get access to credentials stored in Secret Manager or SSM.

DuncanCoffee•50m ago
Yeah I sign my project APKs so people can install them from the action's artefact

  - name: Retrieve keystore for apk signing
    env:
      KEYSTORE: ${{ secrets.KEYSTORE }}
      run: echo "$KEYSTORE" | base64 --decode > /home/runner/work/keystore.pfk
jdeastwood•39m ago
Yes, their oidc setup was probably their last good feature back when they were actually delivering features back in 2020ish. Everyone else copied it within a few months though.
PunchyHamster•55m ago
> I would argue that a good CI/CD system should not support secrets as a first-class object at all. Instead steps may have privileges assigned. At most there should be an adapter, secure enclave style, that may hold a secret and give CI/CD steps the ability to do something with that secret, to be used for APIs that don’t support OIDC or some other mechanism to avoid secrets entirely.

CI/CD does not exist in the vacuum. If you had CI/CD entirely integrated with the rest of the infrastructure it might be possible to do say an app deploy without passing creds to user code (say have the platform APIs that it can call to do the deployment instead of typical "install the client, get the creds, run k8s/ssh/whatever else needed for deploy").

But that's a high level of integration that's very environment specific, and without all that many positives (so what you don't need creds, you still have permission to do a lot of mess if it gets hijacked), and a lot, lot more code to write vs "run a container and pass it some env vars" that had become a standard

Kinrany•50m ago
CI shouldn't do deployments, deployment pipelines should run separately when a new release passes CI

Of course the general purpose task runner that both run on does need to support secrets

Kinrany•47m ago
Hmm, I have long assumed that a perfectly executed CI/CD setup would be based on a generic task runner... But maybe not?

Only the CI part needs to build; it needs little else and it's the only part of a coherent setup that needs to build.

arccy•44m ago
you conveniently ignored the "CD" part of CI/CD
regularfry•35m ago
We're iterating towards GHA for CI, AWS CodeBuild for the CD. At least on AWS projects. Mainly because managing IAM permissions to permit the github runner to do everything the deployment wants is an astonishingly large waste of time. But you need a secret to trigger one from the other.
zahlman•49m ago
> But there is absolutely nothing about calling an API that fundamentally requires that the caller know a secret.

There is if you pay for API access, surely?

hinkley•49m ago
CI is arguable, but how do you intend to do deployments with no secrets?
themafia•18m ago
AWS is great for this. IAM policies can allow IP Addresses or more safely just named EC2 instances. Our deploy server requires nothing.
barrkel•40m ago
How do you e.g. validate that a database product works with all the different cloud databases? Every time you change up SQL generation you're going to want to make sure the SQL parses and evaluates as expected on all supported platforms.

Those tests will need creds to access third party database endpoints.

cyberax•1h ago
Yep. I'm switching our workflows to instead use regular utilities running inside a Docker container.

This works well for _most_ things. There are some issues with doing docker-in-docker for volume mapping, but they're mostly trivial. We're using taskfiles to run tasks, so I can just rely on it for that. It also has a built-in support for nice output grouping ( https://taskfile.dev/docs/reference/schema#output ) that Github actions can parse.

Pros:

1. Ability to run things in parallel.

2. Ability to run things _locally_ in a completely identical environment.

3. It's actually faster!

4. No vendor lock-in. Offramp to github runners and eventually local runners?

Cons:

It often takes quite a while to understand how actions work when you want to run them in your own environment. For example, how do you get credentials to access the Github Actions cache and then pass them to Docker? Most of documentation just tells: "Use this Github Action and stop worrying your pretty little head about it".

battesonb•48m ago
Do you have a write up about this? Actions are great, but my #2 gripe with actions, after the tenuous security posture, is that the default practice is not to run/validate actions locally.
baq•55m ago
Normally I’d say stop kicking the dead horse, but GHA deserves all the complaints it gets and then some. It’s the embodiment of everything that’s bad in ‘less is more’.

My biggest concern with it is that it’s somehow the de facto industry standard. You could do so much better with relatively small investments, but MS went full IE6 with it… and now there’s a whole generation of young engineers who don’t know how short their end of the stick actually is since they never get to compare it to anything.

zahlman•50m ago
I'm accustomed to just doing as much as possible locally. GHA doesn't even seem like a value-add over that for me.
Raed667•49m ago
To get something of a lockfile you can use the hash of the version you want to pin your dependencies:

> actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744

barrkel•42m ago
Transitive dependencies?
TrianguloY•46m ago
I'm not sure I follow.

If I write actions/setup-python@v1, I'm expecting the action to run with the v1 tag of that repository. If I rerun it, I expect it to run with the v1 tag of that repository...which I'm aware may not be the same if the tag was updated.

If I instead use actions/setup-python@27b31702a0e7fc50959f5ad993c78deac1bdfc29 then I'm expecting the action to run with that specific commit. And if I run it again it will run with the same commit.

So, whether you choose the tag or the commit depends on whether you trust the repository or not, and if you want automatic updates. The option is there...isn't it?

barrkel•42m ago
You specifying the top level hash doesn't do anything to pin transitive dependencies, and as the article points out, transitive dependencies - especially dependencies common to a lot of actions - would be the juciest target for a supply chain attack.
TrianguloY•19m ago
Ah, I see it now. Thanks!
LoganDark•45m ago
I checked out the linked GitHub repo https://github.com/ecosyste-ms/package-manager-resolvers and it appears to be just a README.md that collects summaries of different package managers? How do I know these weren't just LLM-generated?
regularfry•33m ago
You don't, but that's the wrong question. How do you know they're accurate?
pjc50•38m ago
This is making me feel quietly vindicated in pushing back on migrating our Jenkins/Ansible setup to GHA simply because corporate wanted the new shiny thing. Fortunately the "this will be a lot of work, i.e. cost" argument won.

Mind you, CI does always involve a surprising amount of maintenance. Update churn is real. And Macs still are very much more fiddly to treat as "cattle" machines.

bloppe•24m ago
While I hate defending GHA, the docs do include this:

- Using the commit SHA of a released action version is the safest for stability and security.

- If the action publishes major version tags, you should expect to receive critical fixes and security patches while still retaining compatibility. Note that this behavior is at the discretion of the action's author.

So you can basically implement your own lock file, although it doesn't work for transitive deps unless those are specified by SHA as well, which is out of your control. And there is an inherent trade-off in terms of having to keep abreast if critical security fixes and updating your hashes, which might count as a charitable explanation for why using hashes is less prevalent.

bramblerose•13m ago
- Using the commit SHA of a released action version is the safest for stability and security.

This is not true for stability in practice: the action often depends on a specific Node version (which may not be supported by the runner at some point) and/or a versioned API that becomes unsupported. I've had better luck with @main.

bloppe•10m ago
Depends what you mean by stability. The post is complaining about the lack of lockfiles, and the problem you describe would also be an issue with lockfiles.

The fuck off contact page

https://www.nicchan.me/blog/the-f-off-contact-page/
155•OuterVale•1h ago•59 comments

GitHub Actions Has a Package Manager, and It Might Be the Worst

https://nesbitt.io/2025/12/06/github-actions-package-manager.html
90•robin_reala•2h ago•51 comments

12 Days of Shell

https://12days.cmdchallenge.com
5•zoidb•14m ago•1 comments

Turtletoy

https://turtletoy.net/
191•ustad•4d ago•29 comments

Jujutsu Worktrees Are Convenient

https://shaddy.dev/notes/jj-worktrees/
24•nvader•4d ago•6 comments

Damn Small Linux

https://www.damnsmalllinux.org/
102•grubbs•8h ago•27 comments

Emacs is my new window manager

https://www.howardism.org/Technical/Emacs/new-window-manager.html
86•gpi•2d ago•30 comments

I failed to recreate the 1996 Space Jam website with Claude

https://j0nah.com/i-failed-to-recreate-the-1996-space-jam-website-with-claude/
446•thecr0w•17h ago•366 comments

Bag of words, have mercy on us

https://www.experimental-history.com/p/bag-of-words-have-mercy-on-us
190•ntnbr•11h ago•192 comments

Show HN: Lockenv – Simple encrypted secrets storage for Git

https://github.com/illarion/lockenv
18•shoemann•2h ago•6 comments

Show HN: ReadyKit – Superfast SaaS Starter with Multi-Tenant Workspaces

https://readykit.dev/
50•level09•1w ago•9 comments

Dollar-stores overcharge customers while promising low prices

https://www.theguardian.com/us-news/2025/dec/03/customers-pay-more-rising-dollar-store-costs
385•bookofjoe•19h ago•532 comments

Truemetrics (YC S23) Is Hiring

https://www.ycombinator.com/companies/truemetrics/jobs/1EHTSyT-python-software-engineer-analystic...
1•Jan-Truemetrics•3h ago

Google Titans architecture, helping AI have long-term memory

https://research.google/blog/titans-miras-helping-ai-have-long-term-memory/
501•Alifatisk•22h ago•164 comments

The C++ standard for the F-35 Fighter Jet [video]

https://www.youtube.com/watch?v=Gv4sDL9Ljww
269•AareyBaba•16h ago•296 comments

Mechanical power generation using Earth's ambient radiation

https://www.science.org/doi/10.1126/sciadv.adw6833
123•defrost•12h ago•40 comments

Einstein: NewtonOS running on other operating systems

https://github.com/pguyot/Einstein
8•fanf2•45m ago•0 comments

Solving Rush Hour, the Puzzle (2018)

https://www.michaelfogleman.com/rush/
29•xeonmc•1w ago•2 comments

Migrating Burningboard.net Mastodon Instance to a Multi-Jail FreeBSD Setup

https://blog.hofstede.it/migrating-burningboardnet-mastodon-instance-to-a-multi-jail-freebsd-setu...
12•todsacerdoti•1h ago•0 comments

An Interactive Guide to the Fourier Transform

https://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/
204•pykello•6d ago•34 comments

I wasted years of my life in crypto

https://twitter.com/kenchangh/status/1994854381267947640
248•Anon84•21h ago•368 comments

'Extraordinary Discovery' at Orkney's Ness of Brodgar Neolithic Site

https://www.bbc.com/news/articles/c7836wvx4q4o
4•ohjeez•1w ago•0 comments

The Anatomy of a macOS App

https://eclecticlight.co/2025/12/04/the-anatomy-of-a-macos-app/
239•elashri•21h ago•73 comments

Uninitialized garbage on ia64 can be deadly (2004)

https://devblogs.microsoft.com/oldnewthing/20040119-00/?p=41003
73•HeliumHydride•3d ago•48 comments

CATL expects oceanic electric ships in 3 years

https://cleantechnica.com/2025/12/05/catl-expects-oceanic-electric-ships-in-3-years/
116•thelastgallon•1d ago•142 comments

How I block all online ads

https://troubled.engineer/posts/no-ads/
208•StrLght•12h ago•173 comments

Scala 3 slowed us down?

https://kmaliszewski9.github.io/scala/2025/12/07/scala3-slowdown.html
229•kmaliszewski•19h ago•132 comments

Palantir Could Be the Most Overvalued Company That Ever Existed

https://247wallst.com/investing/2025/11/25/palantir-could-be-the-most-overvalued-company-that-eve...
98•Anon84•5h ago•50 comments

Nested Learning: A new ML paradigm for continual learning

https://research.google/blog/introducing-nested-learning-a-new-ml-paradigm-for-continual-learning/
126•themgt•19h ago•4 comments

Applets Are Officially Gone, but Java in the Browser Is Better

https://frequal.com/java/AppletsGoneButJavaInTheBrowserBetterThanEver.html
44•pjmlp•2h ago•66 comments