Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
e393c3af3f
commit
4978089aab
4963 changed files with 677545 additions and 0 deletions
12
tools/update_goversion/README.md
Normal file
12
tools/update_goversion/README.md
Normal file
|
@ -0,0 +1,12 @@
|
|||
# Update Go Version
|
||||
|
||||
The version doesn't require a leading "v" and minor versions don't need
|
||||
a trailing ".0". The tool will still will work correctly if they are provided.
|
||||
|
||||
`go run tools/update_goversion/main.go 1.19.2`
|
||||
`go run tools/update_goversion/main.go 1.19`
|
||||
|
||||
This tool is meant to be used to create a pull request that will update the
|
||||
Telegraf project to use the latest version of Go.
|
||||
The Dockerfile `quay.io/influxdb/telegraf-ci` used by the CI will have to be
|
||||
pushed to the quay repository by a maintainer with `make ci`.
|
216
tools/update_goversion/main.go
Normal file
216
tools/update_goversion/main.go
Normal file
|
@ -0,0 +1,216 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"github.com/coreos/go-semver/semver"
|
||||
"golang.org/x/net/html"
|
||||
)
|
||||
|
||||
type FileInfo struct {
|
||||
FileName string
|
||||
Regex string
|
||||
Replace string
|
||||
}
|
||||
|
||||
func (f FileInfo) Update() error {
|
||||
b, err := os.ReadFile(f.FileName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
re := regexp.MustCompile(f.Regex)
|
||||
newContents := re.ReplaceAll(b, []byte(f.Replace))
|
||||
|
||||
err = os.WriteFile(f.FileName, newContents, 0640)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// removePatch cleans version from "1.20.1" to "1.20" (think go.mod entry)
|
||||
func removePatch(version string) string {
|
||||
verInfo := semver.New(version)
|
||||
return fmt.Sprintf("%d.%d", verInfo.Major, verInfo.Minor)
|
||||
}
|
||||
|
||||
// findHash will search the downloads table for the hashes matching the artifacts list
|
||||
func findHashes(body io.Reader, version string) (map[string]string, error) {
|
||||
htmlTokens := html.NewTokenizer(body)
|
||||
artifacts := []string{
|
||||
fmt.Sprintf("go%s.linux-amd64.tar.gz", version),
|
||||
fmt.Sprintf("go%s.darwin-arm64.tar.gz", version),
|
||||
fmt.Sprintf("go%s.darwin-amd64.tar.gz", version),
|
||||
}
|
||||
|
||||
var insideDownloadTable bool
|
||||
var currentRow string
|
||||
hashes := make(map[string]string)
|
||||
|
||||
for {
|
||||
tokenType := htmlTokens.Next()
|
||||
|
||||
// if it's an error token, we either reached
|
||||
// the end of the file, or the HTML was malformed
|
||||
if tokenType == html.ErrorToken {
|
||||
err := htmlTokens.Err()
|
||||
if errors.Is(err, io.EOF) {
|
||||
// end of the file, break out of the loop
|
||||
break
|
||||
}
|
||||
return nil, htmlTokens.Err()
|
||||
}
|
||||
|
||||
if tokenType == html.StartTagToken {
|
||||
// get the token
|
||||
token := htmlTokens.Token()
|
||||
if token.Data == "table" && len(token.Attr) == 1 && token.Attr[0].Val == "downloadtable" {
|
||||
insideDownloadTable = true
|
||||
}
|
||||
|
||||
if insideDownloadTable && token.Data == "a" && len(token.Attr) == 2 {
|
||||
for _, f := range artifacts {
|
||||
// Check if the current row matches a desired file
|
||||
if strings.Contains(token.Attr[1].Val, f) {
|
||||
currentRow = f
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if currentRow != "" && token.Data == "tt" {
|
||||
// the next token should be the page title
|
||||
tokenType = htmlTokens.Next()
|
||||
// just make sure it's actually a text token
|
||||
if tokenType == html.TextToken {
|
||||
hashes[currentRow] = htmlTokens.Token().Data
|
||||
currentRow = ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Found a hash for each filename
|
||||
if len(hashes) == len(artifacts) {
|
||||
break
|
||||
}
|
||||
|
||||
// Reached end of table
|
||||
if tokenType == html.EndTagToken && htmlTokens.Token().Data == "table" {
|
||||
if len(hashes) == 0 {
|
||||
return nil, fmt.Errorf("could not find version %q on downloads page", version)
|
||||
}
|
||||
|
||||
return nil, fmt.Errorf("only found %d hashes expected %d: %v", len(hashes), len(artifacts), hashes)
|
||||
}
|
||||
}
|
||||
|
||||
return hashes, nil
|
||||
}
|
||||
|
||||
func getHashes(version string) (map[string]string, error) {
|
||||
resp, err := http.Get(`https://go.dev/dl/`)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
return findHashes(resp.Body, version)
|
||||
}
|
||||
|
||||
func main() {
|
||||
version := os.Args[1]
|
||||
// Handle situation user accidentally provides version as "v1.19.2"
|
||||
if strings.HasPrefix(version, "v") {
|
||||
version = strings.TrimLeft(version, "v")
|
||||
}
|
||||
|
||||
hashes, err := getHashes(version)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
for file, hash := range hashes {
|
||||
fmt.Printf("%s %s\n", hash, file)
|
||||
}
|
||||
|
||||
noPatchVersion := removePatch(version)
|
||||
|
||||
files := []FileInfo{
|
||||
{
|
||||
FileName: ".circleci/config.yml",
|
||||
Regex: `(quay\.io\/influxdb\/telegraf-ci):(\d.\d*.\d)`,
|
||||
Replace: "$1:" + version,
|
||||
},
|
||||
{
|
||||
FileName: "go.mod",
|
||||
Regex: `(go)\s(\d.\d*)`,
|
||||
Replace: "$1 " + noPatchVersion,
|
||||
},
|
||||
{
|
||||
FileName: "Makefile",
|
||||
Regex: `(quay\.io\/influxdb\/telegraf-ci):(\d.\d*.\d)`,
|
||||
Replace: "$1:" + version,
|
||||
},
|
||||
{
|
||||
FileName: "README.md",
|
||||
Regex: `(Telegraf requires Go version) (\d.\d*)`,
|
||||
Replace: "$1 " + noPatchVersion,
|
||||
},
|
||||
{
|
||||
FileName: "scripts/ci.docker",
|
||||
Regex: `(FROM golang):(\d.\d*.\d)`,
|
||||
Replace: "$1:" + version,
|
||||
},
|
||||
{
|
||||
FileName: "scripts/installgo_linux.sh",
|
||||
Regex: `(GO_VERSION)=("\d.\d*.\d")`,
|
||||
Replace: fmt.Sprintf("$1=%q", version),
|
||||
},
|
||||
{
|
||||
FileName: "scripts/installgo_mac.sh",
|
||||
Regex: `(GO_VERSION)=("\d.\d*.\d")`,
|
||||
Replace: fmt.Sprintf("$1=%q", version),
|
||||
},
|
||||
{
|
||||
FileName: "scripts/installgo_windows.sh",
|
||||
Regex: `(GO_VERSION)=("\d.\d*.\d")`,
|
||||
Replace: fmt.Sprintf("$1=%q", version),
|
||||
},
|
||||
{
|
||||
FileName: "scripts/installgo_linux.sh",
|
||||
Regex: `(GO_VERSION_SHA)=".*"`,
|
||||
Replace: fmt.Sprintf("$1=%q", hashes[fmt.Sprintf("go%s.linux-amd64.tar.gz", version)]),
|
||||
},
|
||||
{
|
||||
FileName: "scripts/installgo_mac.sh",
|
||||
Regex: `(GO_VERSION_SHA_arm64)=".*"`,
|
||||
Replace: fmt.Sprintf("$1=%q", hashes[fmt.Sprintf("go%s.darwin-arm64.tar.gz", version)]),
|
||||
},
|
||||
{
|
||||
FileName: "scripts/installgo_mac.sh",
|
||||
Regex: `(GO_VERSION_SHA_amd64)=".*"`,
|
||||
Replace: fmt.Sprintf("$1=%q", hashes[fmt.Sprintf("go%s.darwin-amd64.tar.gz", version)]),
|
||||
},
|
||||
{
|
||||
FileName: ".github/workflows/readme-linter.yml",
|
||||
Regex: `(go-version): '\d.\d*.\d'`,
|
||||
Replace: fmt.Sprintf("$1: '%s'", version),
|
||||
},
|
||||
}
|
||||
|
||||
for _, f := range files {
|
||||
fmt.Printf("Updating %s \n", f.FileName)
|
||||
err := f.Update()
|
||||
if err != nil {
|
||||
log.Panic(err)
|
||||
}
|
||||
}
|
||||
}
|
46
tools/update_goversion/main_test.go
Normal file
46
tools/update_goversion/main_test.go
Normal file
|
@ -0,0 +1,46 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestFindHash(t *testing.T) {
|
||||
tests := []struct {
|
||||
testFile string
|
||||
version string
|
||||
expectedHashes map[string]string
|
||||
}{
|
||||
{
|
||||
"testdata/godev_patch.html",
|
||||
"1.19.2",
|
||||
map[string]string{
|
||||
"go1.19.2.linux-amd64.tar.gz": "5e8c5a74fe6470dd7e055a461acda8bb4050ead8c2df70f227e3ff7d8eb7eeb6",
|
||||
"go1.19.2.darwin-arm64.tar.gz": "35d819df25197c0be45f36ce849b994bba3b0559b76d4538b910d28f6395c00d",
|
||||
"go1.19.2.darwin-amd64.tar.gz": "16f8047d7b627699b3773680098fbaf7cc962b7db02b3e02726f78c4db26dfde",
|
||||
},
|
||||
},
|
||||
{
|
||||
"testdata/godev_minor.html",
|
||||
"1.19.0",
|
||||
map[string]string{
|
||||
"go1.19.0.linux-amd64.tar.gz": "464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6",
|
||||
"go1.19.0.darwin-arm64.tar.gz": "859e0a54b7fcea89d9dd1ec52aab415ac8f169999e5fdfb0f0c15b577c4ead5e",
|
||||
"go1.19.0.darwin-amd64.tar.gz": "df6509885f65f0d7a4eaf3dfbe7dda327569787e8a0a31cbf99ae3a6e23e9ea8",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
b, err := os.ReadFile(test.testFile)
|
||||
require.NoError(t, err)
|
||||
|
||||
hashes, err := findHashes(bytes.NewReader(b), test.version)
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, test.expectedHashes, hashes)
|
||||
}
|
||||
}
|
192
tools/update_goversion/testdata/godev_minor.html
vendored
Normal file
192
tools/update_goversion/testdata/godev_minor.html
vendored
Normal file
|
@ -0,0 +1,192 @@
|
|||
|
||||
<table class="downloadtable">
|
||||
<thead>
|
||||
<tr class="first">
|
||||
<th>File name</th>
|
||||
<th>Kind</th>
|
||||
<th>OS</th>
|
||||
<th>Arch</th>
|
||||
<th>Size</th>
|
||||
|
||||
<th>SHA256 Checksum</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.src.tar.gz">go1.19.0.src.tar.gz</a></td>
|
||||
<td>Source</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>25MB</td>
|
||||
<td><tt>9419cc70dc5a2523f29a77053cafff658ed21ef3561d9b6b020280ebceab28b9</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.darwin-amd64.tar.gz">go1.19.0.darwin-amd64.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>macOS</td>
|
||||
<td>x86-64</td>
|
||||
<td>144MB</td>
|
||||
<td><tt>df6509885f65f0d7a4eaf3dfbe7dda327569787e8a0a31cbf99ae3a6e23e9ea8</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.darwin-amd64.pkg">go1.19.0.darwin-amd64.pkg</a></td>
|
||||
<td>Installer</td>
|
||||
<td>macOS</td>
|
||||
<td>x86-64</td>
|
||||
<td>145MB</td>
|
||||
<td><tt>61cb2268c4b3e6662a19c2dda58d43bfcf89d3649c205bcdb32c148e9048b1ba</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.darwin-arm64.tar.gz">go1.19.0.darwin-arm64.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>macOS</td>
|
||||
<td>ARM64</td>
|
||||
<td>138MB</td>
|
||||
<td><tt>859e0a54b7fcea89d9dd1ec52aab415ac8f169999e5fdfb0f0c15b577c4ead5e</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.darwin-arm64.pkg">go1.19.0.darwin-arm64.pkg</a></td>
|
||||
<td>Installer</td>
|
||||
<td>macOS</td>
|
||||
<td>ARM64</td>
|
||||
<td>139MB</td>
|
||||
<td><tt>167cd1107886c36fda76404e82d1447ebd3efc472fd9a9fe3b2e872d41adf981</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.linux-386.tar.gz">go1.19.0.linux-386.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>x86</td>
|
||||
<td>114MB</td>
|
||||
<td><tt>6f721fa3e8f823827b875b73579d8ceadd9053ad1db8eaa2393c084865fb4873</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.linux-amd64.tar.gz">go1.19.0.linux-amd64.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>x86-64</td>
|
||||
<td>142MB</td>
|
||||
<td><tt>464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.linux-arm64.tar.gz">go1.19.0.linux-arm64.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>ARM64</td>
|
||||
<td>110MB</td>
|
||||
<td><tt>efa97fac9574fc6ef6c9ff3e3758fb85f1439b046573bf434cccb5e012bd00c8</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.linux-armv6l.tar.gz">go1.19.0.linux-armv6l.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>ARMv6</td>
|
||||
<td>111MB</td>
|
||||
<td><tt>25197c7d70c6bf2b34d7d7c29a2ff92ba1c393f0fb395218f1147aac2948fb93</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.windows-386.zip">go1.19.0.windows-386.zip</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Windows</td>
|
||||
<td>x86</td>
|
||||
<td>128MB</td>
|
||||
<td><tt>45b80c0aca6a5a1f87f111d375db5afee3ce0a9fd5834041c39116e643ba1df2</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.windows-386.msi">go1.19.0.windows-386.msi</a></td>
|
||||
<td>Installer</td>
|
||||
<td>Windows</td>
|
||||
<td>x86</td>
|
||||
<td>112MB</td>
|
||||
<td><tt>39ed9b03c42b0ee99477377c27b1a809a73b96c627d86c4aedd133e92df5bd43</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.windows-amd64.zip">go1.19.0.windows-amd64.zip</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Windows</td>
|
||||
<td>x86-64</td>
|
||||
<td>156MB</td>
|
||||
<td><tt>bcaaf966f91980d35ae93c37a8fe890e4ddfca19448c0d9f66c027d287e2823a</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.windows-amd64.msi">go1.19.0.windows-amd64.msi</a></td>
|
||||
<td>Installer</td>
|
||||
<td>Windows</td>
|
||||
<td>x86-64</td>
|
||||
<td>136MB</td>
|
||||
<td><tt>0743b5fe0c6e5c67c7d131a8e24d4e7bdd5ef272dd13205dd7ae30cc2f464123</tt></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr class="first"><th colspan="6" class="first">Other Ports</th></tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.freebsd-386.tar.gz">go1.19.0.freebsd-386.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>FreeBSD</td>
|
||||
<td>x86</td>
|
||||
<td>114MB</td>
|
||||
<td><tt>3989e2336dbb3dcf9197b8c0ef9227cdd1a134789d83095d20ebdc1d88edb9f0</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.freebsd-amd64.tar.gz">go1.19.0.freebsd-amd64.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>FreeBSD</td>
|
||||
<td>x86-64</td>
|
||||
<td>142MB</td>
|
||||
<td><tt>eca1a8f7b6ff6146efc285eed581096b12b59c1f0488bfe98ed053ab205267ca</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.linux-ppc64le.tar.gz">go1.19.0.linux-ppc64le.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>ppc64le</td>
|
||||
<td>110MB</td>
|
||||
<td><tt>92bf5aa598a01b279d03847c32788a3a7e0a247a029dedb7c759811c2a4241fc</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.linux-s390x.tar.gz">go1.19.0.linux-s390x.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>s390x</td>
|
||||
<td>113MB</td>
|
||||
<td><tt>58723eb8e3c7b9e8f5e97b2d38ace8fd62d9e5423eaa6cdb7ffe5f881cb11875</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.windows-arm64.zip">go1.19.0.windows-arm64.zip</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Windows</td>
|
||||
<td>ARM64</td>
|
||||
<td>122MB</td>
|
||||
<td><tt>032f1f75a85bc595bf5eb8b48ec8e490121047915803ad62277586b2e13608f2</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/web/20220802171248/https://go.dev/dl/go1.19.0.windows-arm64.msi">go1.19.0.windows-arm64.msi</a></td>
|
||||
<td>Installer</td>
|
||||
<td>Windows</td>
|
||||
<td>ARM64</td>
|
||||
<td>107MB</td>
|
||||
<td><tt>6319ab5b50f0462efcb092eec3ac8c23a548652cdaa2755282aed4513b6188ee</tt></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
192
tools/update_goversion/testdata/godev_patch.html
vendored
Normal file
192
tools/update_goversion/testdata/godev_patch.html
vendored
Normal file
|
@ -0,0 +1,192 @@
|
|||
|
||||
<table class="downloadtable">
|
||||
<thead>
|
||||
<tr class="first">
|
||||
<th>File name</th>
|
||||
<th>Kind</th>
|
||||
<th>OS</th>
|
||||
<th>Arch</th>
|
||||
<th>Size</th>
|
||||
|
||||
<th>SHA256 Checksum</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.src.tar.gz">go1.19.2.src.tar.gz</a></td>
|
||||
<td>Source</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>25MB</td>
|
||||
<td><tt>2ce930d70a931de660fdaf271d70192793b1b240272645bf0275779f6704df6b</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.darwin-amd64.tar.gz">go1.19.2.darwin-amd64.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>macOS</td>
|
||||
<td>x86-64</td>
|
||||
<td>144MB</td>
|
||||
<td><tt>16f8047d7b627699b3773680098fbaf7cc962b7db02b3e02726f78c4db26dfde</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.darwin-amd64.pkg">go1.19.2.darwin-amd64.pkg</a></td>
|
||||
<td>Installer</td>
|
||||
<td>macOS</td>
|
||||
<td>x86-64</td>
|
||||
<td>145MB</td>
|
||||
<td><tt>2633f62c0b259a8fa4fb1fc967d28817816acca50b1fc354364cb381e1ccd2e5</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.darwin-arm64.tar.gz">go1.19.2.darwin-arm64.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>macOS</td>
|
||||
<td>ARM64</td>
|
||||
<td>138MB</td>
|
||||
<td><tt>35d819df25197c0be45f36ce849b994bba3b0559b76d4538b910d28f6395c00d</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.darwin-arm64.pkg">go1.19.2.darwin-arm64.pkg</a></td>
|
||||
<td>Installer</td>
|
||||
<td>macOS</td>
|
||||
<td>ARM64</td>
|
||||
<td>139MB</td>
|
||||
<td><tt>6f985e50497ff3cba8f216e49c6c767f6ad52c8e505f375983714c14749cb954</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.linux-386.tar.gz">go1.19.2.linux-386.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>x86</td>
|
||||
<td>114MB</td>
|
||||
<td><tt>ba8c97965e0856c69c9ca2c86f96bec5bb21de43e6533e25494bb211d85cda1b</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.linux-amd64.tar.gz">go1.19.2.linux-amd64.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>x86-64</td>
|
||||
<td>142MB</td>
|
||||
<td><tt>5e8c5a74fe6470dd7e055a461acda8bb4050ead8c2df70f227e3ff7d8eb7eeb6</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.linux-arm64.tar.gz">go1.19.2.linux-arm64.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>ARM64</td>
|
||||
<td>110MB</td>
|
||||
<td><tt>b62a8d9654436c67c14a0c91e931d50440541f09eb991a987536cb982903126d</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.linux-armv6l.tar.gz">go1.19.2.linux-armv6l.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>ARMv6</td>
|
||||
<td>111MB</td>
|
||||
<td><tt>f3ccec7816ecd704ebafd130b08b8ad97c55402a8193a107b63e9de12ab90118</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.windows-386.zip">go1.19.2.windows-386.zip</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Windows</td>
|
||||
<td>x86</td>
|
||||
<td>128MB</td>
|
||||
<td><tt>9355b09b23e9db33945a7ba45bb75981ab0bb6006713099732167722cf081b53</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.windows-386.msi">go1.19.2.windows-386.msi</a></td>
|
||||
<td>Installer</td>
|
||||
<td>Windows</td>
|
||||
<td>x86</td>
|
||||
<td>111MB</td>
|
||||
<td><tt>98b0f92a6c74469353917afff914457d6809de164251ddb45831c3f0efc269b6</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.windows-amd64.zip">go1.19.2.windows-amd64.zip</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Windows</td>
|
||||
<td>x86-64</td>
|
||||
<td>156MB</td>
|
||||
<td><tt>e132d4f0518b0d417eb6cc5f182c3385f6d24bb2eebee2566cd1a7ab6097e3f2</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.windows-amd64.msi">go1.19.2.windows-amd64.msi</a></td>
|
||||
<td>Installer</td>
|
||||
<td>Windows</td>
|
||||
<td>x86-64</td>
|
||||
<td>135MB</td>
|
||||
<td><tt>249aba207df30133deadb3419b2476479189a2c0d324e72faee4e1f1a6209eca</tt></td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
<tr class="first"><th colspan="6" class="first">Other Ports</th></tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.freebsd-386.tar.gz">go1.19.2.freebsd-386.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>FreeBSD</td>
|
||||
<td>x86</td>
|
||||
<td>114MB</td>
|
||||
<td><tt>7831a406447a14d964212d07f68e77cf7fe7fb7286bade6eeb9fbea39b192984</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.freebsd-amd64.tar.gz">go1.19.2.freebsd-amd64.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>FreeBSD</td>
|
||||
<td>x86-64</td>
|
||||
<td>142MB</td>
|
||||
<td><tt>d74c88430484d14826ec21161e3b9336bd021f502b6594c4dd00e9ec730ee51d</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.linux-ppc64le.tar.gz">go1.19.2.linux-ppc64le.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>ppc64le</td>
|
||||
<td>110MB</td>
|
||||
<td><tt>37e1d4342f7103aeb9babeabe8c71ef3dba23db28db525071119e94b2aa21d7d</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.linux-s390x.tar.gz">go1.19.2.linux-s390x.tar.gz</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Linux</td>
|
||||
<td>s390x</td>
|
||||
<td>114MB</td>
|
||||
<td><tt>51b45dec41295215df17f78e67d1a373b9dda97a5e539bed440974da5ffc97de</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.windows-arm64.zip">go1.19.2.windows-arm64.zip</a></td>
|
||||
<td>Archive</td>
|
||||
<td>Windows</td>
|
||||
<td>ARM64</td>
|
||||
<td>122MB</td>
|
||||
<td><tt>4049435f77fb2a0642fd8740c588aadbcc446056e637e835a8e223fdb897cb3e</tt></td>
|
||||
</tr>
|
||||
|
||||
<tr class="highlight">
|
||||
<td class="filename"><a class="download" href="/dl/go1.19.2.windows-arm64.msi">go1.19.2.windows-arm64.msi</a></td>
|
||||
<td>Installer</td>
|
||||
<td>Windows</td>
|
||||
<td>ARM64</td>
|
||||
<td>106MB</td>
|
||||
<td><tt>979e8bf619c6dc25d27bd62c3d2325e730ccb486849c274b35fdffe9bd0bb827</tt></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
Loading…
Add table
Add a link
Reference in a new issue