Live data from Hacker News

GitHub Actions is my new favorite free programming tool [video]

bytesized.xyz

21–30 of 134 posts

Re: GitHub Actions is my new favorite free programming tool [video]

#21
post #8
post #5

I would hesitate to build on anything that relies on GitHub native tooling. GitHub support is absolutely the worst. Their tools fail in weird ways at times, and without support you will be stuck. For personal/non production apps, fine. But beware of using it as a core part of your infrastructure.

Thanks for the warning, are there any good tools that integrate with pull request checks that can be self hosted? We self host nearly everything at work except for github. (And it's VERY difficult for me to get anything that costs money approved regardless of price)

It costs money, but for other readers, I've been using Buildkite[0] at two different companies across ~4 years now and it's great. It's _mostly_ self-hosted in that jobs run on your own hardware and Buildkite itself is only the job queue that your self-hosted agents pull work from. They also provide an elastic CI stack[1] so you can have auto-scaling workers running on AWS

You still own enough of it that if the service is down, you can just execute the scripts manually to build, test and deploy

[0] https://buildkite.com [1] https://github.com/buildkite/elastic-ci-stack-for-aws

Re: GitHub Actions is my new favorite free programming tool [video]

#22
post #13

I have spent the last two days fighting with these new Github tools. I've been trying to do a simple Hello-World Maven app, built on Github Actions and deployed to Github Packages. It does not work. Github documentation is a disaster. They leave out critical parts. They don't provide examples. Everything they write is terse, confusing, and incomplete. They have short little articles on how to do things, and for each…

I am with you on this. It seems to be a new trend: “show users how to do a hello world” which was disregarded in the past... but somehow that turned into “instead of providing real documentation” rather than “in addition to.” It’s not just GitHub. There’s a language I (and the rest of HN) love that has adopted “story format” for documentation but is missing real, hard technical documentation apart from method-level c…

Someone please tell the Google Cloud Platform teams this. So many hello world examples which reek of, "I was told to write documentation but I really hate writing documentation". I mean this in good faith, I think writing documentation for a product you don't actually use is a miserable experience and I hope they can find a better balance...

Writing documentation also seems to be a task you kick out to your junior developers that you'd rather not give more critical assignments to, which is backwards as can be.

Re: GitHub Actions is my new favorite free programming tool [video]

#23
post #13

I have spent the last two days fighting with these new Github tools. I've been trying to do a simple Hello-World Maven app, built on Github Actions and deployed to Github Packages. It does not work. Github documentation is a disaster. They leave out critical parts. They don't provide examples. Everything they write is terse, confusing, and incomplete. They have short little articles on how to do things, and for each…

Umm, GraphQL is a reflective API-- use 'introspection': https://graphql.org/learn/introspection/

Re: GitHub Actions is my new favorite free programming tool [video]

#24

Github actions is nice but I think they go to wrong direction. The way they work is you are given an image then you have to use a thing call Github action, which basically just to extract out into YAML to define a certain steps for install any dependencies, execute shell script ... I don't know why they didn't allow us to use any docker image we want so we don't have to waste time to use actions to install dependenci…

My approach to this was to create generic images. For example there are various actions out there to "Run `make test`", "Run pytest", or "Run go tests".

Why be specific? Why not include a shell-script in your repository, and allow that to run the tests? That way you just need one "Run test-script" action:

https://github.com/skx/github-action-tester

Re: GitHub Actions is my new favorite free programming tool [video]

#25
post #12

I had to setup CI for a GitHub open source project recently, and decided to give GitHub Actions a try. I have to say it's pretty nice to have the CI directly handled by GH (GitLab has been doing it for years, I know...). I hope it's gonna help some open source projects to easily add CI validations to their PR workflow. That being said, there was only Ubuntu images for the Linux builds, and I'm not aware of a way to r…

Most of the Actions are actually custom containers. So to run your own code you can just make an action, which isn't that complex.

Re: GitHub Actions is my new favorite free programming tool [video]

#26
post #18

Github actions is nice but I think they go to wrong direction. The way they work is you are given an image then you have to use a thing call Github action, which basically just to extract out into YAML to define a certain steps for install any dependencies, execute shell script ... I don't know why they didn't allow us to use any docker image we want so we don't have to waste time to use actions to install dependenci…

> I don't know why they didn't allow us to use any docker image we want Can you imagine allowing anyone on the internet to run an arbitrary container on your server for free?

Many services already do allow this; including the aforementioned CircleCI

Re: GitHub Actions is my new favorite free programming tool [video]

#27
post #13

I have spent the last two days fighting with these new Github tools. I've been trying to do a simple Hello-World Maven app, built on Github Actions and deployed to Github Packages. It does not work. Github documentation is a disaster. They leave out critical parts. They don't provide examples. Everything they write is terse, confusing, and incomplete. They have short little articles on how to do things, and for each…

Umm, GraphQL is a reflective API-- use 'introspection': https://graphql.org/learn/introspection/

I don't think that's the point.

Re: GitHub Actions is my new favorite free programming tool [video]

#28
post #8
post #5

I would hesitate to build on anything that relies on GitHub native tooling. GitHub support is absolutely the worst. Their tools fail in weird ways at times, and without support you will be stuck. For personal/non production apps, fine. But beware of using it as a core part of your infrastructure.

Thanks for the warning, are there any good tools that integrate with pull request checks that can be self hosted? We self host nearly everything at work except for github. (And it's VERY difficult for me to get anything that costs money approved regardless of price)

> Thanks for the warning, are there any good tools that integrate with pull request checks that can be self hosted?

Recently at work we've done an analysis of a of CI/CD tools. Many of them are self-hosted, free (and open source) and support a variety of workflows - including pull request related checks (either by polling of via webhooks). A cursory search will yield you a lot to play with, so... go ahead and do that.

That said, if you don't want to think about it too much, you can't go wrong with Jenkins.

Some people will suggest GitLab. I'd steer clear of GitLab, though, because of their operational incompetence [1] and their funny ideas about mandatory corporate espionage [2] - I mean, telemetry - which they only backed away from because people yelled at them. That second one was enough to disqualify them in our analysis (the first one just cemented the idea).

[1] https://about.gitlab.com/blog/2017/02/10/postmortem-of-datab...

[2] https://www.theregister.co.uk/2019/10/30/gitlab_backtracks_o...

Re: GitHub Actions is my new favorite free programming tool [video]

#29

Github actions is nice but I think they go to wrong direction. The way they work is you are given an image then you have to use a thing call Github action, which basically just to extract out into YAML to define a certain steps for install any dependencies, execute shell script ... I don't know why they didn't allow us to use any docker image we want so we don't have to waste time to use actions to install dependenci…

It could be intentionally locked-in using the Action YAML. The proprietary nature could help with profits.

Re: GitHub Actions is my new favorite free programming tool [video]

#30
post #18

Github actions is nice but I think they go to wrong direction. The way they work is you are given an image then you have to use a thing call Github action, which basically just to extract out into YAML to define a certain steps for install any dependencies, execute shell script ... I don't know why they didn't allow us to use any docker image we want so we don't have to waste time to use actions to install dependenci…

> I don't know why they didn't allow us to use any docker image we want Can you imagine allowing anyone on the internet to run an arbitrary container on your server for free?

That is what every CI service in the world is. Docker doesn't intrinsically give you any privileges a shell script doesn't, but there is flexibility to really lock things down (like with gVisor). Of course, a lot of people run the Docker daemon in such a way as to give containers root access, which isn't ideal in a shared environment. There is no mandate to do such a thing, however.

I built an old-style Docker container (i.e., one that runs code like "apt-get install foo") on Github Actions successfully, so I assume Docker works fine. I haven't tried getting root on a build worker, but I imagine they mitigate that in some way. (Perhaps by having a pool of VMs and blowing it up after your build is done.)

I think what the OP is talking about is CI systems whose pipelines are declared by a series of "run this command in this container" instructions. Github Actions doesn't work that way, but you can still run containers.

Post reply on HN