98 строки
2.5 KiB
HTML
98 строки
2.5 KiB
HTML
<!--{
|
|
"Title": "Go Reproducible Build Report",
|
|
"layout": "article",
|
|
"template": true
|
|
}-->
|
|
|
|
<style>
|
|
details { margin-left: 2em; }
|
|
pre { margin-left: 2em; }
|
|
.time { color: #777; }
|
|
</style>
|
|
|
|
<p>
|
|
As of Go 1.21, Go's binary toolchain downloads served by <a href="/dl/">go.dev/dl/</a> can be
|
|
reproduced and verified by anyone, on any platform,
|
|
using <a href="https://pkg.go.dev/golang.org/x/build/cmd/gorebuild">golang.org/x/build/cmd/gorebuild</a>.
|
|
For more details, see the blog post
|
|
“<a href="/blog/rebuild">Perfectly Reproducible, Verified Go Toolchains</a>.”
|
|
</p>
|
|
|
|
<p>
|
|
This page is updated daily with the results of running <code>gorebuild</code> in an Ubuntu VM,
|
|
using this script:
|
|
</p>
|
|
|
|
<pre>
|
|
apt-get update &&
|
|
apt-get -y install software-properties-common &&
|
|
add-apt-repository universe &&
|
|
apt-get -y install golang-go msitools &&
|
|
go run golang.org/x/build/cmd/gorebuild@latest -p=4
|
|
</pre>
|
|
|
|
<p>
|
|
The installation of <code>msitools</code> lets <code>gorebuild</code>
|
|
check the contents of the Windows MSI installation file.
|
|
The <code>-p=4</code> means to run up to four builds in parallel.
|
|
</p>
|
|
|
|
{{define "marker"}}<span style="marker">{{template "markersymbol" .}}</span>{{end}}
|
|
{{define "markersymbol"}}
|
|
{{- if eq . "PASS" -}} ✅
|
|
{{- else if eq . "SKIP" -}} —
|
|
{{- else -}} ❌
|
|
{{- end -}}
|
|
{{end}}
|
|
|
|
{{define "log"}}
|
|
<pre>
|
|
{{range .Messages}}<span class="time">{{(rfc3339 .Time).UTC.Format "15:04:05"}}</span> {{.Text}}
|
|
{{end}}
|
|
</pre>
|
|
{{end}}
|
|
|
|
{{define "autoopen"}} {{if not (eq . "PASS")}} open {{end}} {{end}}
|
|
|
|
{{$Report := json gorebuild}}
|
|
{{with $Report}}
|
|
|
|
Gorebuild version {{.Version}}.<br>
|
|
Built with Go version {{.GoVersion}}, {{.GOOS}}-{{.GOARCH}}.<br>
|
|
<br>
|
|
Rebuild started at {{(rfc3339 .Start).UTC.Format "2006-01-02 15:04:05"}} UTC.<br>
|
|
Rebuild finished at {{(rfc3339 .End).UTC.Format "2006-01-02 15:04:05"}} UTC.<br>
|
|
Elapsed time: {{((rfc3339 .End).Sub (rfc3339 .Start)).Round 1e9}}.
|
|
|
|
<h2 id="releases">Releases</h2>
|
|
|
|
{{range .Releases}}
|
|
<details {{template "autoopen" .Log.Status}} >
|
|
<summary><b id="{{.Version}}">{{template "marker" .Log.Status}} {{.Version}}</b></summary>
|
|
|
|
<details>
|
|
<summary>Log</summary>
|
|
{{template "log" .Log}}
|
|
</details>
|
|
|
|
{{range .Files}}
|
|
<details {{template "autoopen" .Log.Status}}>
|
|
<summary><b id="{{.Name}}">{{template "marker" .Log.Status}} {{.Name}}</b></summary>
|
|
{{template "log" .Log}}
|
|
</details>
|
|
{{end}}
|
|
|
|
</details>
|
|
{{end}}
|
|
|
|
<h2 id="bootstraps">Bootstraps</h2>
|
|
|
|
{{range .Bootstraps}}
|
|
<details>
|
|
<summary><b>Bootstrap {{.Version}}</b></summary>
|
|
{{template "log" .Log}}
|
|
</details>
|
|
{{end}}
|
|
|
|
{{end}}
|