You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current Go tag parser supports only final releases, not betas and not RCs. It would become more useful if it supported all release types. There are some places in x/build where we've wanted to use it, but couldn't do so because of this limitation.
Historically, we've worked around not having a parser by using string manipulation to analyze and modify Go versions, but that can be error prone and won't detect all problems a complete parser would. It's hard to compare or manipulate versions (e.g., get a previous minor release).
Additionally, the ParseTag function currently makes allocations, which can be avoided. That would be nice to make it less expensive to use in various loops in the build infrastructure.
In the future, if more places in x/build start using this, we may consider moving it to a shorter import path. It doesn't have to happen right away.
The text was updated successfully, but these errors were encountered:
dmitshur
added
Builders
x/build issues (builders, bots, dashboards)
NeedsFix
The path to resolution is known, but the work has not been done.
labels
Aug 3, 2020
Add the ability to have builds apply only to select Go versions
according to a module-query-like but fictional syntax. We don't
need to support all arbitrary queries right away, so start with
a smaller set of queries, and let this inform future work.
Fixesgolang/go#40563.
Updates golang/go#40558.
Change-Id: I8f7afa90bfe1f91190cee34af51c012216bba455
Reviewed-on: https://go-review.googlesource.com/c/build/+/246597
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
The current Go tag parser supports only final releases, not betas and not RCs. It would become more useful if it supported all release types. There are some places in x/build where we've wanted to use it, but couldn't do so because of this limitation.
Historically, we've worked around not having a parser by using string manipulation to analyze and modify Go versions, but that can be error prone and won't detect all problems a complete parser would. It's hard to compare or manipulate versions (e.g., get a previous minor release).
Examples
Additionally, the
ParseTag
function currently makes allocations, which can be avoided. That would be nice to make it less expensive to use in various loops in the build infrastructure.CL 245277 implements this.
In the future, if more places in x/build start using this, we may consider moving it to a shorter import path. It doesn't have to happen right away.
The text was updated successfully, but these errors were encountered: