---
title: "Writing GitHub Actions in Go"
publication: "Go Weekly"
issue: 399
published_at: "2022-02-11"
canonical_url: "https://golangweekly.com/issues/399"
---

Plus a step forward for Go powered Telegram bots, and thinking about Go's scheduler. |        

#​399 — February 11, 2022 

[Unsubscribe](https://golangweekly.com/leave/*|UID|*)|[Read on the Web](https://golangweekly.com/issues/399)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/dqui9izqanxk8zw1fyqa.jpg)](https://github.com/golang/go/issues/51071)  

[Is it Time to Improve Go's Scheduler?](https://github.com/golang/go/issues/51071) — A proposal (although, not an official ‘Language Proposal’) to make Go’s scheduler more like Linux’s ‘Completely Fair Scheduler’, including some demo code that shows promise. The discussion is very young on this, so if you have valuable input to provide, now's the time. 

Sen Hen et al.   

[How We Write GitHub Actions in Go](https://full-stack.blend.com/how-we-write-github-actions-in-go.html) — Go’s ability to cross-compile static binaries puts it _almost_ on equal footing with JavaScript for GitHub Actions, so you can have your Go and build it, too. 

Danny Hermes and Thomas Taylor (Blend)   [![\](https://copm.s3.amazonaws.com/1b14e1f3.png)](https://www.pulumi.com/docs/get-started/?utm_source=golang-weekly&utm_medium=sponsored-link&utm_campaign=iac) 

[Pulumi: Developer-First Infrastructure with Go](https://www.pulumi.com/docs/get-started/?utm_source=golang-weekly&utm_medium=sponsored-link&utm_campaign=iac) — Developing on the cloud is complex. What if you could use your existing programming knowledge to build, deploy, and manage infrastructure on any cloud using your favorite languages and tools? With Pulumi you can. Get started for free at[pulumi.com](https://www.pulumi.com/docs/get-started/?utm_source=golang-weekly&utm_medium=sponsored-link&utm_campaign=iac). 

Pulumi sponsor   

**In brief:** 

- [Go 1.17.7 and 1.16.14](https://groups.google.com/g/golang-announce/c/SUsQn0aSgPQ/m/gx45t8JEAgAJ) have been released with three unconnected security fixes in `cmd/go`, `math/big` and `crypto/elliptic`.
- Not Go specific, but [curl has gained a --json option](https://daniel.haxx.se/blog/2022/02/02/curl-dash-dash-json/) that you might find handy, perhaps when testing your HTTP APIs.   

[A Proposal to Improve `go/doc` Formatting](https://github.com/golang/go/issues/51082) — Super essential but rarely exciting, it’s nonetheless good to see some attention turned to documentation. Russ has some straightforward ideas to improve things here with a lot more detail [in this proposal document](https://github.com/golang/proposal/blob/master/design/51082-godocfmt.md). 

Russ Cox   

[What's Coming in Go 1.18](https://lwn.net/SubscriberLink/883602/49e588e5d73cef84/) — A quick writeup mostly focused on generics and fuzzing at a high (though technical) level. _(Note: [LWN](https://lwn.net/) is a reader-supported news site covering the Linux and development communities and we encourage supporting it.)_ 

Vegard Stikbakke    

Jobs  

[Golang Developer at X-Team (Remote)](https://x-team.com/remote-go-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=cooperpress-go&utm_content=go) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more. 
X-Team   

[Senior Serverless Engineer at Tilo (Full-Remote/Berlin)](https://tilotech.io/senior-serverless-engineer) — Join a small, high-performing venture-funded team as one of the first employees in a deep-tech startup. Tech: AWS, Go, Terraform. 
Tilo   

[Find a Job Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-golangweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired      

▶[Getting Started with Generics in Go](https://www.youtube.com/watch?v=kKu9HuOvaUY) — We’ve linked to the proposal and numerous tutorials in the past year, but if a short (13-minutes) practical screencast will help you figure out the basics of generics, here you go. 

TutorialEdge   

[Go Generics for the Busy Gopher](https://sethops1.net/post/go-generics-for-the-busy-gopher/) — Or… if you really _do_ prefer a written option you can skim more quickly than 13 minutes.. Seth does a pretty good job of covering the basics with nice examples here. 

Seth Hoenig   

▶[Building and Using APIs with Go](https://changelog.com/gotime/216) — The co-founders of APIToolkit join the Go Time podcast for a deep-dive on APIs both from a creator and consumer mindset. 

Go Time Podcast podcast   

[Different Ways to Initialize Go Structs](https://asankov.dev/blog/2022/01/29/different-ways-to-initialize-go-structs/) 
Anton Sankov   

▶[An Introduction to Serverless Go with OpenFaaS](https://www.youtube.com/watch?v=kFnTiRCYzCM) 
Alex Ellis  

🛠 Code & Tools  

[Telebot 3.0: A Telegram Bot Framework](https://github.com/tucnak/telebot/releases/tag/v3.0.0) — [Telegram](https://telegram.org/) is a popular messaging system well known for its flexible and relatively open API. Telebot brings the power of that API to Go developers. 

Ian P Badtrousers   

[Oak: A Pure Go Game Engine](https://github.com/oakmound/oak) — Provides things like a particle system, controller support, image rendering, collision detection, etc. Lots of [step-by-step examples](https://github.com/oakmound/oak#examples-) if you want to give it a go, too. This week’s release adds Windows AMD64 support as well as experimental Android support. 

Oakmound Studio   

[go-elasticsearch 8.0: The Official Go Client for Elasticsearch](https://github.com/elastic/go-elasticsearch) — [Elasticsearch](https://github.com/elastic/elasticsearch) is a popular search engine/document database used to implement search features in apps. 

elastic   

[Project Management for Software Teams Has Never Been Easier](https://shortcut.com/?utm_source=cooperGO&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=pm) 

Shortcut (formerly Clubhouse.io) sponsor   

[CoreDNS 1.9: A DNS Server That Chains Plugins](https://github.com/coredns/coredns) — A long standing Go-powered DNS server focused on extensibility. 

CoreDNS   

[pg_timetable 4.4 Released: Advanced Job Scheduling for Postgres](https://github.com/cybertec-postgresql/pg_timetable) — The latest [4.4.0 release](https://github.com/cybertec-postgresql/pg_timetable/releases/tag/v4.4.0) adds a REST API for external tools to perform monitoring, health checks, and other maintenance. 

CYBERTEC PostgreSQL International GmbH   

[Gambit: Play Chess in Your Terminal](https://github.com/maaslalani/gambit) 
Maas Lalani   

[Zap 1.21: Fast, Structured, Leveled Logging in Go](https://github.com/uber-go/zap) 
Uber         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
