8 ms·
GitHub isn’t even good, it’s just the mediocre default everybody uses. PRs were fantastic and the best thing ever - 15 years ago!
by Schnitz 10mo ago
GitHub isn’t even good, it’s just the mediocre default everybody uses. PRs were fantastic and the best thing ever - 15 years ago!
- bikelang 10mo agoJust curious - what do you think the current best git platforms are?
- aetherspawn 10mo agoAzure DevOps is the gold standard for Pipelines.
- noahbp 10mo agoThat's not saying much, since it's still dependent upon the untyped mess that is YAML.
- 0xbadcafebee 10mo agoYAML is just a data format. Make your own "thing" that takes input in any format you desire, then dump it to YAML. (also, YAML is dynamically typed, and supports explicit typing, but the parser can choose to ignore it)
- lucyjojo 10mo agothese days we generate yaml out of cue i don't know why it's not more popular.
- vrighter 10mo agoif only they supported ed25519 ssh keys
- ghqqwwee 10mo agoAD is just sourcesafe/tfs/vsts with rebranding, each time trying to get rid of the bad reputation in developer circles.
- deleted 10mo ago[deleted]
- ic_fly2 10mo agoReally? I grant you pipelines are the best bit about ado, but the fact that you can’t test them is a pain. And the webhooks and templating are pretty messy and unpleasant quickly. We’re changing from ADO to GitHub (had to be an MS product for corporate) and the infra people are looking forward to GHA as they prefer their maintenance to ADO pipelines.
- SpaceNoodled 10mo agogit
- narrator 10mo agoWhat ever happened to Hudson/Jenkins? That was the full featured CI/CD solution before github actions.
- shawabawa3 10mo agoI'm not at all a fan of GitHub actions, but come on, Hudson/Jenkins was a nightmare world, GitHub actions is a million times better
- paulddraper 10mo agoJenkins is in every way a “Java” program, and not the good kind. What you can say for it, is that it was free and near infinitely hackable.
- mrguyorama 10mo agoI use Jenkins every single day, and have been using it my entire career through three different companies self hosting it. Please tell me how we somehow have been hobbled despite having simple and clear pipelines setup that autobuild any branch we want and allow one click deploys to our preprod environment and automatically manage versioning and scalably handle load from "Literally zero" to "Everyone in the company wants to rebuild everything now" and goes down less than github. What are we supposedly missing? More importantly, what are we missing that tangibly improves results for our consumers?
- paulddraper 10mo agoAssuming all those three were post-Jenkinsfile, it’s pretty decent. Multibranch is still weird and obviously added-on. Writing plugins is ugly.
- terom 10mo agoWorking with Jenkins CasC, JobDSL and declarative pipelines, I'm not sure where the million times comes from. Sure, there are some annoying parts, and GHA has the social network for reusable actions, but apart from that it's not that different. Oldschool maven type jobs where you type shell script into a `<textarea>`? Yeah, let's not talk about those, but we don't have a single one left anymore.
- ablob 10mo agoWithout trying to sound snarky: What is the fancy alternative you are suggesting to pull requests?
- madog 10mo agoSomething like Gerrit. Instead of carefully crafting a logical series of patches that are all well documented with commit messages, PRs are just garbage filled diff soup of "fix typo" commits. I hate it. It's hard to review and seems to be based on putting the least amount of effort into proposing changes to the code. See https://gist.github.com/thoughtpolice/9c45287550a56b2047c6311fbadebed2 https://gist.github.com/thoughtpolice/9c45287550a56b2047c631...
- Cthulhu_ 10mo agoThat's down to culture and (self) discipline, not tools.
- madog 10mo agoIt's not entirely, because Github simply does not support inter-version diffs when you have multiple commits. If you force push onto multiple commits there is no way to show a diff between version 2 and version 3 of those commits. How Github lacks such basic (and imo necessary) functionality in 2025 is amazing to me. Something like linked and dependent PRs in a chain would go someway to replicating Gerrit but again this basic functionality is not available out of the box for whatever reason.
- sublimefire 10mo agoWell but this is controllable, i.e. it is people who choose to do this not the platform. Very much an internal design choice.
- deleted 10mo ago[deleted]
- NamlchakKhandro 10mo ago100% don't understand why people think github actions are terrible. everything else is trash. Github Actions changed the landscape. They're composable. The only two other things that come close is Concourse.CI and CircleCi.... and circle-ci is 100% trash
- ornornor 10mo agoVersioning sucks (the references are mutable), debugging sucks, you cant run them locally.
- sunnyday_002 10mo agoPin the action's version via a digest and use Renovate for updates. You can run all your CI locally if you don't embed your logic into the workflows, just use CI for orchestation. Use an env manager(Mise, Nix etc) to install tooling(you'll get consistency across your team & with CI) and call out to a task runner(scripts, Make, Task etc).
- falsedan 10mo ago> You can run all your CI locally if you can, you don't need CI. we can't (too slow, needs an audit trail)
- itintheory 10mo agoI think the idea is GitHub actions calls "build.sh", or "deploy.sh" etc. Those scripts contain all of the logic necessary to build or deploy or whatever. You can run those scripts locally for testing / development, or from CI for prod / auditing.
- sunnyday_002 10mo agoYes this is what I meant! If you structure it correctly using task runners and an environment manager you can do everything locally using the same versions etc. E.g. ```yaml name: Continuous Integration (CI) on: pull_request permissions: contents: read jobs: formatting: name: Formatting runs-on: ${{ matrix.architecture }} strategy: matrix: architecture: [ubuntu-24.04, ubuntu-24.04-arm] language: [rust, shell, python] steps: - name: Checkout code. uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - name: Setup Nix. uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0 - name: Check formatting. run: nix develop -c make check-${{ matrix.language }}-formatting linting: name: Linting runs-on: ${{ matrix.architecture }} strategy: matrix: architecture: [ubuntu-24.04, ubuntu-24.04-arm] language: [rust] steps: - name: Checkout code. uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - name: Setup Nix. uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0 - name: Check linting. run: nix develop -c make check-${{ matrix.language }}-linting compile: name: Compile runs-on: ${{ matrix.architecture }} strategy: matrix: architecture: [ubuntu-24.04, ubuntu-24.04-arm] steps: - name: Checkout code. uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - name: Setup Nix. uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0 - name: Compile. run: nix develop -c make compile unit-test: name: Unit Test runs-on: ${{ matrix.architecture }} strategy: matrix: architecture: [ubuntu-24.04, ubuntu-24.04-arm] steps: - name: Checkout code. uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - name: Setup Nix. uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0 - name: Unit test. run: nix develop -c make unit-test ... ```
- mukundesh 10mo agoGitHub Actions are amazing ! For a public repository who will give you a free machine to run for 6 hours at a stretch for a job !!
- __float 10mo agoThis thread is largely commentary on the technical aspects of GitHub Actions. The fact the business gives away free compute is irrelevant and more a discussion of their marketing budget.