Michelle Duke
I'm a Content Producer working in tech & innovation. Known as the “Hackathon Queen” 👑 I'm on the GitHub DevRel team and love sharing stories from our amazing community of developers.
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,…
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.
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.
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.
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.
How GitHub volunteers built an open source metrics dashboard for the World Health Organization and some best practices they picked up along the way.
Discover how the Ersilia Open Source Initiative accelerates drug discovery by using GitHub Actions to disseminate AI/ML models.
Git 2.46 is here with new features like pseudo-merge bitmaps, more capable credential helpers, and a new git config command. Check out our coverage on some of the highlights here.