Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

The Microsoft build of Go

License

NotificationsYou must be signed in to change notification settings

microsoft/go

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.

Why does this fork exist?

This repository produces a modified version of Go that:

  • Builds programs that are compliant with internal Microsoft policies by default.
  • Can be used to build FIPS 140 compliant applications.
    • Seeeng/doc/fips for more information about this feature and the history of FIPS 140 compliance in Go.

We submit changes to the upstream Go project rather than patching it, whenpossible. Our goals are to avoid breaking compatibility and to minimize thenumber of changes we maintain in this fork.

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.

Support

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.

SeeSUPPORT.md for more information about reporting bugs, requesting features, and asking questions.

There are a few additional support resources internal to Microsoft:

Download and install

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_amd64
  • linux_armv6l
  • linux_arm64
  • windows_amd64
  • darwin_amd64
  • darwin_arm64

Visit theMigration Guide for guidance about how werecommend migrating existing Go projects to use the Microsoft build of Go. Thisguide also helps resolve commonly encountered issues.

The following sections list the ways to get the Microsoft build 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:

Docker Container Images

microsoft/go-images maintains anddocuments container images that are available on Microsoft Artifact Registry.

Azure Linux

TheAzure Linux distributionincludes thegolang package, a build of this fork of Go.

For more information about how to manage thesystemcrypto migration from 1.24to 1.25 in Azure Linux 3, seethesystemcrypto section of the Migration Guide.

Ubuntu

To install the Microsoft build of Go using an Ubuntu package, first set up theLinux package repository for Microsoft Products.Packages are available in the Ubuntu 22.04 and 24.04 repositories.

After the repository is added, install the Microsoft build of Go by running the following commands:

sudo apt-get update&& sudo apt-get install msft-golang

Binary archive

Signed builds of Gofor several platforms are available aszip andtar.gz files.

Thego-install.ps1 script

Thecross-platformgo-install.ps1 script installs the Microsoft build of Go.It can install specific versions or the latest releases.

If you use Azure Pipelines, try running the script in ascript step and pass the-AzurePipelinePath argument to automatically set upgo in the environment for future steps.

Build from source

Pre-patched source tarball

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.

Clone and build

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.

Contributing

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.

Trademarks

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.

Data Collection

The software may collect information about you and your use of the software andsend it to Microsoft. Microsoft may use this information to provide servicesand improve our products and services. You may turn off the telemetry bysetting theMS_GOTOOLCHAIN_TELEMETRY_ENABLED environment variable to0.There are also some features in the software that may enable you and Microsoftto collect data from users of your applications. If you use these features,you must comply with applicable law, including providing appropriate notices tousers of your applications together with a copy of Microsoft’s privacystatement. Our privacy statement is located athttps://go.microsoft.com/fwlink/?LinkID=824704.You can learn more about data collection and use in the help documentation andour privacy statement. Your use of the software operates as your consent tothese practices.

About

The Microsoft build of Go

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp