GitHub Action Hero: Eyal Posener and “Go Action”

Image of Michelle Mannering

GitHub Actions gives you the power to automate your workflow. Connect with the tools you know and love. Have more freedom to innovate and be creative. Deploy to any cloud, build containers, automate messages, and lots more. It’s time to take control.

There’s lots of amazing Actions built every day. We’ve been chatting to some of the coolest developers building the latest Actions. We recently shared Shivam’s story on Setup PHP. This week we have Eyal Posener. He built an Action to help make GitHub Actions more accessible for Go developers. Read on to find out more about Go Action, how he got started, and some of his inspiration.

Develop on the Go

Eyal is a Go software developer and loves how clean and readable the code is. Originally, his Action was deployed as a GitHub App to automatically generate Readme files for Go Projects. Now it’s much more. Go Action is a library which will help Go developers when building GitHub Actions:

It enables writing a standard Go script that can be run locally as well as a GitHub Action. Additionally, the library provides statically typed GitHub Actions API, and a GitHub API client for the repository.

And this isn’t even the best part. Eyal says the best, or rather most “mind-blowing” part, is the repo is also an Action:

The mind-blowing part is this repository is also a Go GitHub Action. It automatically creates and updates the boilerplate required for converting a Go repository to a GitHub Action.

Early days

In the beginning there was Readme, at least for this Go Action. It started as a GitHub App to automatically generate Readme files. But Eyal says this wasn’t just complex in nature. Developers were also “afraid” to even use it:

Besides the complex structure, an additional issue was that users were afraid to give the App credentials to their repository.

Once GitHub Actions were introduced, Eyal was able to simplify the project by converting it into a GitHub Action:

Since it was written in Go, I thought that it would be cool to take the opportunity and create a general infrastructure for creating GitHub Actions in Go, and this is where the goaction library came from. Today, goaction makes GitHub Actions more accessible for Go developers.

It’s that easy! All you need to do is convert your big complex structures into Actions. You can read more about Eyal’s goreadme project on his blog.

Start using GitHub Actions

Eyal says he’s loved using GitHub Actions as they are “simple, powerful, free.” Furthermore he comments on the easy to use and “super detailed” documentation. If you’d like to start using GitHub Actions for yourself, it’s easy.

Simply head on over to our Learning Lab course to learn how to use and implement GitHub Actions. Check out some of the amazing Actions built by the community during our Actions Hackathon. If you’re keen to get involved, keep an eye out for the next GitHub Actions Hackathon.

If you liked Eyal’s story, make sure you read up on all our awesome Action Heroes like James, Stefan, and more. Don’t forget to check out how GitHub Actions are being used in the COVID response with the Karuna Project.