Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/build: document that it's a special internal repo, doesn't provide same level of stability as other golang.org/x repos #36505

Closed
dmitshur opened this issue Jan 10, 2020 · 4 comments
Labels
Builders x/build issues (builders, bots, dashboards) Documentation FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@dmitshur
Copy link
Contributor

dmitshur commented Jan 10, 2020

The x/build repo is described in its README as:

This subrepository holds the source for various packages and tools that support Go's build system and the development of the Go programming language.

As far as I know, the x/build repo is different from all other golang.org/x repos in that it's meant to serve our internal needs and does not offer stability guarantees the way other golang.org/x repos do. For instance, we did not have CI for this repo for a long time and it was okay. When we started testing this repo in CL 157438, it was at a time that was convenient for us and only in module mode without any support for GOPATH mode. There was also discussion of the target audience of x/build in issue #29935.

Do you know if this is documented anywhere @bradfitz? I think I know this intuitively, but I'd like to be able to point people at something that is written down. Also, if it's not documented, then Go users can't know this.

/cc @bradfitz @cagedmantis @toothrot

@dmitshur dmitshur added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Jan 10, 2020
@dmitshur dmitshur added this to the Backlog milestone Jan 10, 2020
@gopherbot gopherbot added Builders x/build issues (builders, bots, dashboards) Documentation labels Jan 10, 2020
@smasher164
Copy link
Member

@kardianos's comment at #17244 (comment) categorizes x/build in "Tools used by the Go project", but doesn't distinguish its level of stability from x/review, x/tools, x/website, and x/perf.

@bradfitz
Copy link
Contributor

I tweaked the GitHub repo description a bit at https://github.com/golang/build/ to now say:

[mirror] Go's continuous build and release infrastructure (no stability promises)

Feel free to drop something like that in more places.

Certain packages inside x/build already say stuff like that:

https://godoc.org/golang.org/x/build/gerrit says:

The API is not subject to the Go 1 compatibility promise and may change at any time.

etc

@gopherbot
Copy link

Change https://go.dev/cl/394514 mentions this issue: all: document in README how x/build serves internal Go project needs

@dmitshur dmitshur modified the milestones: Backlog, Unreleased Mar 22, 2022
@dmitshur dmitshur added NeedsFix The path to resolution is known, but the work has not been done. and removed NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Mar 22, 2022
@dmitshur dmitshur self-assigned this Mar 22, 2022
@dmitshur
Copy link
Contributor Author

By now this is also mentioned in https://go.googlesource.com/proposal#scope (as of CL 365714):

[...] not in scope for the proposal process:

  • [...]
  • Making API or command-line changes in golang.org/x/build, since that is code to run the Go project, not for users to import and depend on.
  • [...]

Mailed CL 394514 to document it in the x/build README too, and will consider this resolved.

@golang golang locked and limited conversation to collaborators Jun 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Builders x/build issues (builders, bots, dashboards) Documentation FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

4 participants