- Notifications
You must be signed in to change notification settings - Fork1
dagood-bot-org/go
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Go is an open source programming language that makes it easy to build simple,reliable, and efficient software.
This repository,microsoft/go, contains theinfrastructure Microsoft uses to build Go. The submodule namedgo contains theGo source code. By default, the submodule's remote URL is the official GitHubmirror of Go,golang/go. The canonical Gitrepository for Go source code is located athttps://go.googlesource.com/go.
This project is not involved in producing theofficial binary distributionsof Go.
Unless otherwise noted, the Go source files are distributed under theBSD-style license found in the LICENSE file.
This repository produces a modified version of Go that can be used to build FIPS140-2 compliant applications. Our goal is to share this implementation withothers in the Go community who have the same requirement, and to merge thiscapability into upstream Go as soon as possible. Seeeng/doc/fips for more information about this feature and thehistory of FIPS 140-2 compliance in Go.
The binaries produced by this repository are also intended for general usewithin Microsoft instead of the official binary distribution of Go.
We call this repository a fork even though it isn't a traditional Git fork. Itsbranches do not share Git ancestry with the Go repository. However, therepository serves the same purpose as a Git fork: maintaining a modified versionof the Go source code over time.
This project follows the upstream GoRelease Policy.This means we support each major release (1.X) until there are two newer majorreleases. A new Go major version isreleased every six months,so each Go major version is supported for about one year.
When upstream Go releases a new minor version (1.X.Y), we release acorresponding microsoft/go version that may also include fork-specific changes.This normally happens once a month. At any time, we may release a new revision(1.X.Y-Z) to fix an issue without waiting for the next upstream minor release.Revision releases are uncommon.
Each microsoft/go release is announced at theMicrosoft for Go Developers blog.Check out the upstreamgolang-announce mailing listfor a summary of the changes in each Go version.
There are a few additional support resources internal to Microsoft:
- Languages at Microsoft: Go.
- A Microsoft-internal email distribution list 📧 (instant join link)for release announcements.
We build the forked Go toolset with this list of OS/Arch combinations. To use aprebuilt copy of Go while targeting a platform that is not on this list,cross-compilation may be necessary.
linux_amd64linux_armv6llinux_arm64windows_amd64
The following sections list the ways to get a build of the Microsoft fork of Go.
Note
Don't see an option that works for you? Let us know!
File a GitHub issue, or comment on an existing issue in this tag:
microsoft/go-images maintains anddocuments container images that are available on Microsoft Artifact Registry.
TheAzure Linux distributionincludes builds of this Go fork.
- In Azure Linux 2.0, the package
msft-golanginstalls this fork. - In Azure Linux 3.0, the
golangpackage installs this fork.
Signed builds of Gofor several platforms are available aszip andtar.gz files.
The microsoft/go GitHub releasesinclude a source tarball file ending in.src.tar.gz. After downloading andextracting the tar.gz file, build it using theupstream instructions.
The first step is to clone this repository using Git and check out the desiredtag or commit. Thezip file that GitHub offers for download is incomplete: itdoesn't include thego submodule.
If you want to contribute to the Microsoft for Go developers project, read theDeveloperGuide. It lists the steps we recommend to set up aMicrosoft build of Go development environment, execute your first build, runthe standard library test suite, and contribute a PR.
If you just want to build on your own machine, you may find it moreconvenient to use the tools provided by theeng/run.ps1 script. We use thisscript for CI builds. Seeeng/README.md for more details abouteng/run.ps1 and other repository infrastructure.
Once built, the Microsoft build of Go binary is found atgo/bin/go.
This project welcomes contributions and suggestions. Most contributions require you to agree to aContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant usthe rights to use your contribution. For details, visithttps://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to providea CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructionsprovided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted theMicrosoft Open Source Code of Conduct.For more information see theCode of Conduct FAQ orcontactopencode@microsoft.com with any additional questions or comments.
Please read theDeveloper Guide for more information about contributing to this project.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsofttrademarks or logos is subject to and must followMicrosoft's Trademark & Brand Guidelines.Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.Any use of third-party trademarks or logos are subject to those third-party's policies.
About
The Microsoft build of Go
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Languages
- Go65.4%
- PowerShell34.6%