microsoft / microsoft/go

Use C bootstrap ("prebuiltless") to build Go binary releases

Open
#498 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
431
Forks
44
Avg merge
21h 18m
Merged PRs (30d)
30

Description

For various reasons, a prebuiltless build is desirable. It's common for Linux distros to do this by building Go 1.4 (written in C), then using 1.4 to bootstrap later versions. (Starting with 1.19, an intermediate 1.17+ version will also be needed.)

https://go.dev/doc/install/source#bootstrapFromSource

It might be enough for us to build 1.4 binaries just once, then host it on our own infrastructure and use that prebuilt to build new versions. We can then potentially bridge the gap onto new platforms using cross-compilation.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no repository files or tests. Start with Go's bootstrap-from-source documentation and trace how Microsoft Go release binaries are built; determine whether Go 1.4 binaries can be hosted and used across target platforms, with a reproducible prebuiltless release process as the completion criterion.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, go
Domain
build-system, compilers, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.