this post was submitted on 07 Jan 2025
433 points (94.8% liked)

Programming

17766 readers
536 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 2 years ago
MODERATORS
 

They slowly started locking down the platform for people without accounts and it has been really annoying to use the website since. First it was not possible to search for code, then even searching for issues got more and more difficult with it randomly failing, and now it's gotten to the point where I can't search for a fucking project anymore!

Github's search is becoming as bad as reddit's, where if you want to find anything, a secondary service like SourceGraph, GrepApp, or even a dumb search engine is better. Sometimes those haven't indexed what I need (especially code search), so I have to download the bloody tarball and rg for whatever the fuck it is I was looking for. Sometimes it will also block the VPN I'm using, so I have to proxy to a non-VPNed machine. The world could do without these unnecessary roadblocks.

What also grinds my gears is requiring an account to contribute. There is no way to send in a patch, raise an issue, or anything without an account there, so by if a project being on github, you have no choice but to give Microsoft your data to participate in opensource. Don't get me wrong, mailing-lists are filth, but and I'd rather claw my eyes out than participate in any project demanding their use, but Microsoft being the "lesser evil" is not a good look.

Please, for the love of opensource, get your project off of github, please. It's a monopoly at this point and doing microsoft things. This isn't the end and they'll probably do more stuff to see how far they can push it. We'll all be the boiled frogs.

Yes, I know they have a CI and some other features, but if all you're doing is hosting your code, please consider an alternative.

Possible alternatives in alphabetic order:

  • Codeberg (could have federation in the future)
  • Gitlab (has CI)
  • ~~OneDev (no git SSH clone but feature-rich)~~ not an instance for the public
  • Radicle (no CI, but federated)
  • Sourcehut (minimalist, but fast as fuck)

or maybe others will suggest more.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 31 points 2 days ago (6 children)

Yes, I know they have a CI and some other features

Github actions are terrible - fight me.

commit: actions
commit: actions
commit: actions
commit: actions
commit: actions
commit: actions
commit: actions
commit: actions
commit: actions
commit: actions
commit: Another actions fix
commit: Fixing actions
commit: Fixed issue with actions
commit: Actions not logging in properly
commit: typo in actions
commit: Created GH actions!
[–] melezhik 2 points 1 day ago

Let me generalize that - yaml pipelines are terrible 😀

[–] [email protected] 2 points 1 day ago* (last edited 1 day ago)

As the primary author of my previous org's GHAs (not GH Enterprise, just the team tier) I found some feature gaps compared to org[n-2]'s Jenkins but they were fairly quickly filled.

I was initially skeptical but it wasn't more than a month or two before I was just glad to be off Jenkins. And now that I'm back to a big org with a big Jenkins footprint, I really miss GHA.

Having everything be contextual in the same place is a huge value add for me.

[–] sirdorius 19 points 2 days ago

Just commit to a different branch, and then rebase to main. If you're putting this shit into main, it's not the tool's fault.

[–] [email protected] 7 points 2 days ago (1 children)

act drastically reduced the amount of back-and-forth getting actions right for me

[–] [email protected] 4 points 2 days ago (2 children)

It's an interesting idea - but I've not been able to get it to work. Some of that is due to us using "GitHub Enterprise" which is somehow MUCH worse than the normal hosted GitHub - but we get to pay more for it! I haven't tried it with "normal" github.com actions yet - does it deal well with shared workflows and custom builders?

[–] [email protected] 2 points 2 days ago* (last edited 2 days ago) (1 children)

I know because of security, people jumped off circleci but their local tool was amazing in what it did. No messing around, it worked just like their own platform. Being able to ssh into the box that was failing was a great feeling. Sometimes you just have to get into the box in order to see what is going wrong, and they allowed that.

Ive had to fight act quite a bit to get the same functionality. Things would go to GH Actions only to do something slightly different and I would have to make a fix. Over time, it gets tiring. Ive worked with CI/CD platforms for over a decade and Actions are....ok. Still feels beta in how much is reliant upon the community which drops scripts from time to time.

[–] [email protected] 1 points 1 day ago (2 children)

I still like Jenkins... Yeah it looks like early "Web 2.0" still but it's much easier to use.

[–] slowcakes 2 points 1 day ago

We recently migrated our code base to GH and from Jenkins to GH actions. And I can't say that it's any better, just more confusing. Shit was much more simpler on bitbucket server with Jenkins. Never realized GitHub was slow until today, loading pages takes like a second.

My favorite code repository in terms of layout (not functionality) is still gitblit. Looks simpel and easy to read the commit log because that is the first you are shown when navigating in a repository, no PR support though.

[–] [email protected] 2 points 1 day ago

We still use Jenkins at work. It certainly works!

[–] thesmokingman 2 points 2 days ago (1 children)

It does with some hoops IIRC. I used act a couple of years ago to test a very distributed flow for enterprise IaC projects. I can’t remember all of the things we had to do and I think I’m conflating some of the podman issues we had on macOS with act issues. AWS credentials were an annoyance, I think, but we worked around it with some community code. Our primary purpose for act was to be the local testing for enterprise action deployment so I’d guess it’s close to yours. I think our conclusion was to distribute the actions to each repo rather than use the central .github repo for actions because of how GitHub handles overrides. My memory is really fuzzy.

If you’re going to believe this internet stranger, start with a very simple set of demos to vet me. I remember being very happy; I do not remember how the team solved it. M

[–] [email protected] 3 points 2 days ago (1 children)

As with all things GH Actions related - "it kinda works if you struggle with it for a while". If I get some spare time I may tinker with it a bit then - knowing things are "possible" is a good start. ;-)

It's my biggest complaint with GH Actions - death by a thousand paper-cuts. It's not that it does any one thing wrong (though the way "shared workflows" work is pretty abysmal) it's that everything hurts a little to work with. At least if you're not building an open source project freely shared on github.com and using all public actions.

[–] thesmokingman 2 points 1 day ago

Totally agree. I’m glad you read between the lines there. It’s out there if you have the resources to throw at it.

Like most DevOps things, it’s all about the opinionated ecosystem you hop in. It has most things and does most of the stuff you want until you decide to adapt the pattern to your use case and holy fucking shit is it hard to adapt opinionated ecosystems. That’s why I continue to have jobs.

[–] [email protected] 6 points 2 days ago

Lol this is literally me right now. (Well waiting for another run to probably fail) So also on here.

[–] [email protected] 1 points 2 days ago (1 children)

Whenever I need to fix something with them, I go onto a separate branch, write a sane commit message once and suffix it with a "1". Then the next time, I just grab the same git commit command from my history and change the "1" to a "2", then to a "3" etc..

[–] [email protected] 3 points 1 day ago (1 children)

I'm sure you can just --amend it and push with --force-with-lease (safer than just --force). That'll prevent the 78343 commits.

[–] [email protected] 1 points 1 day ago

Oh yeah, you can, but it makes it pretty much impossible to discern between commits in the action run overview. So, if something broke between one change and the other, then you'd have to just kind of know what that change was.
That is obviously doable, if you make a singular change, then wait for the result before you make the next change. But I often had the problem that I would get interrupted or that I had to continue on the next day, so when I wasn't quite as clear anymore what lines I changed precisely. Or what also often happened, is that I would get bored while I'm waiting for the action run to complete, so I start making the next change before I know whether the previous change was successful (I guess, this only really starts to become a problem, if it takes 30+ minutes for the run to complete).

But yeah, I put them onto a separate branch, so I can easily squash them into one commit before putting them back onto the proper branch.