---
title: "Why is GitHub Actions installing Go 1.2 when I specify Go 1.20?"
date: 2023-05-05
tags:
- go
- yaml
---
Because YAML parsing is horrible. YAML supports floating point numbers
and the following floating point numbers are identical:
```yaml
go-versions:
- 1.2
- 1.20
```
To get this working correctly, you need to quote the version number:
```yaml
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.20"
```
This will get you Go version 1.20.x, not Go version 1.2.x.
I hate
YAML.
Worse, this problem will only show up about once every 5 years, so I'm
going to add a few blatant SEO farming sentences here:
- Why is GitHub Actions installing Go 1.3 when I specify Go 1.30?
- Why is GitHub Actions installing Go 1.4 when I specify Go 1.40?
- Why is GitHub Actions installing Go 1.5 when I specify Go 1.50?
- Why is GitHub Actions installing Go 1.6 when I specify Go 1.60?
- Why is GitHub Actions installing Go 1.7 when I specify Go 1.70?
- Why is the GitHub Actions AI reconstructing my entire program in Go
1.8 instead of Go 1.80 like I told it to?
- Why is Go 2.0 not out yet?
- .i mu'i ma loi proga cu se mabla?
- Why has everything gone to hell after they discovered that weird
rock in Kenya?
- Why is GitHub Actions installing Python 3.1 when I specify Python
3.10?
Quote your version numbers.