golang.org/x/build@v0.0.0-20240506185731-218518f32b70/devapp/owners/table.go (about)

     1  // Copyright 2018 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package owners
     6  
     7  import (
     8  	"golang.org/x/build/internal/gophers"
     9  )
    10  
    11  func gh(githubUsername string) Owner {
    12  	p := gophers.GetPerson("@" + githubUsername)
    13  	if p == nil {
    14  		panic("person with GitHub username " + githubUsername + " does not exist in the golang.org/x/build/internal/gophers package")
    15  	}
    16  	return Owner{GitHubUsername: githubUsername, GerritEmail: p.Gerrit}
    17  }
    18  
    19  // archOsTeam returns the *Entry for an architecture or OS team at github
    20  func archOsTeam(teamName string) *Entry {
    21  	return &Entry{Primary: []Owner{gh("golang/" + teamName)}}
    22  }
    23  
    24  var (
    25  	adonovan      = gh("adonovan")
    26  	agl           = gh("agl")
    27  	agnivade      = gh("agnivade")
    28  	alexbrainman  = gh("alexbrainman")
    29  	amedee        = gh("cagedmantis")
    30  	austin        = gh("aclements")
    31  	bradfitz      = gh("bradfitz")
    32  	cherryyz      = gh("cherrymui")
    33  	codyoss       = gh("codyoss")
    34  	dmitshur      = gh("dmitshur")
    35  	danderson     = gh("danderson")
    36  	drakkan       = gh("drakkan")
    37  	drchase       = gh("dr2chase")
    38  	dvyukov       = gh("dvyukov")
    39  	eliben        = gh("eliben")
    40  	filippo       = gh("FiloSottile")
    41  	findleyr      = gh("findleyr")
    42  	gri           = gh("griesemer")
    43  	hyangah       = gh("hyangah")
    44  	iant          = gh("ianlancetaylor")
    45  	iancottrell   = gh("ianthehat")
    46  	jba           = gh("jba")
    47  	jbd           = gh("rakyll")
    48  	joetsai       = gh("dsnet")
    49  	kardianos     = gh("kardianos")
    50  	katie         = gh("katiehockman")
    51  	kevinburke    = gh("kevinburke")
    52  	khr           = gh("randall77")
    53  	martisch      = gh("martisch")
    54  	matloob       = gh("matloob")
    55  	mauri870      = gh("mauri870")
    56  	mdempsky      = gh("mdempsky")
    57  	mdlayher      = gh("mdlayher")
    58  	minux         = gh("minux")
    59  	mknyszek      = gh("mknyszek")
    60  	mpvl          = gh("mpvl")
    61  	mvdan         = gh("mvdan")
    62  	mwhudson      = gh("mwhudson")
    63  	neelance      = gh("neelance")
    64  	neild         = gh("neild")
    65  	nigeltao      = gh("nigeltao")
    66  	prattmic      = gh("prattmic")
    67  	pjw           = gh("pjweinb")
    68  	r             = gh("robpike")
    69  	rakoczy       = gh("toothrot")
    70  	roland        = gh("rolandshoemaker")
    71  	rsc           = gh("rsc")
    72  	sameer        = gh("Sajmani")
    73  	samthanawalla = gh("samthanawalla")
    74  	shinfan       = gh("shinfan")
    75  	suzmue        = gh("suzmue")
    76  	taking        = gh("timothy-king")
    77  	thanm         = gh("thanm")
    78  	tklauser      = gh("tklauser")
    79  	tombergan     = gh("tombergan")
    80  	zpavlinovic   = gh("zpavlinovic")
    81  
    82  	compilerTeam  = gh("golang/compiler")
    83  	fuzzingTeam   = gh("golang/fuzzing")
    84  	pkgsiteTeam   = gh("golang/pkgsite")
    85  	releaseTeam   = gh("golang/release")
    86  	runtimeTeam   = gh("golang/runtime")
    87  	securityTeam  = gh("golang/security")
    88  	telemetryTeam = gh("golang/telemetry")
    89  	toolsTeam     = gh("golang/tools-team")
    90  	vulndbTeam    = gh("golang/vulndb")
    91  )
    92  
    93  // entries is a map of <repo name>/<path>, <domain>, or <branch> to Owner
    94  // entries. For <repo name>/<path>, there is an implicit prefix of
    95  // go.googlesource.com. This map should not be modified at runtime.
    96  var entries = map[string]*Entry{
    97  	// Go standard library.
    98  	"go/src/archive/tar": {
    99  		Primary: []Owner{joetsai},
   100  	},
   101  	"go/src/archive/zip": {
   102  		Primary:   []Owner{joetsai},
   103  		Secondary: []Owner{bradfitz},
   104  	},
   105  	"go/src/bufio": {
   106  		Primary:   []Owner{},
   107  		Secondary: []Owner{gri, bradfitz, iant},
   108  	},
   109  	"go/src/bytes": {
   110  		Primary:   []Owner{},
   111  		Secondary: []Owner{bradfitz, iant},
   112  	},
   113  	"go/src/cmd/asm": {
   114  		Primary:   []Owner{compilerTeam},
   115  		Secondary: []Owner{cherryyz},
   116  	},
   117  	"go/src/cmd/compile": {
   118  		Primary:   []Owner{compilerTeam},
   119  		Secondary: []Owner{khr, gri, mdempsky, martisch},
   120  	},
   121  	"go/src/cmd/compile/internal/amd64": {
   122  		Primary:   []Owner{compilerTeam},
   123  		Secondary: []Owner{khr, rsc, drchase, cherryyz, martisch},
   124  	},
   125  	"go/src/cmd/compile/internal/arm": {
   126  		Primary:   []Owner{compilerTeam},
   127  		Secondary: []Owner{khr, rsc, drchase, cherryyz},
   128  	},
   129  	"go/src/cmd/compile/internal/arm64": {
   130  		Primary:   []Owner{compilerTeam},
   131  		Secondary: []Owner{khr, rsc, drchase, cherryyz},
   132  	},
   133  	"go/src/cmd/compile/internal/mips": {
   134  		Primary:   []Owner{compilerTeam},
   135  		Secondary: []Owner{khr, rsc, drchase, cherryyz},
   136  	},
   137  	"go/src/cmd/compile/internal/mips64": {
   138  		Primary:   []Owner{compilerTeam},
   139  		Secondary: []Owner{khr, rsc, drchase, cherryyz},
   140  	},
   141  	"go/src/cmd/compile/internal/ppc64": {
   142  		Primary:   []Owner{compilerTeam},
   143  		Secondary: []Owner{khr, rsc, drchase, cherryyz},
   144  	},
   145  	"go/src/cmd/compile/internal/s390x": {
   146  		Primary:   []Owner{compilerTeam},
   147  		Secondary: []Owner{khr, rsc, drchase, cherryyz},
   148  	},
   149  	"go/src/cmd/compile/internal/x86": {
   150  		Primary:   []Owner{compilerTeam},
   151  		Secondary: []Owner{khr, rsc, drchase, cherryyz, martisch},
   152  	},
   153  	"go/src/cmd/compile/internal/syntax": {
   154  		Primary:   []Owner{compilerTeam},
   155  		Secondary: []Owner{gri, rsc, mdempsky},
   156  	},
   157  	"go/src/cmd/compile/internal/types": {
   158  		Primary:   []Owner{compilerTeam},
   159  		Secondary: []Owner{gri, mdempsky, rsc},
   160  	},
   161  	"go/src/cmd/compile/internal/types2": {
   162  		Primary:   []Owner{compilerTeam},
   163  		Secondary: []Owner{gri, findleyr},
   164  	},
   165  	"go/src/cmd/compile/internal/ssa": {
   166  		Primary:   []Owner{compilerTeam},
   167  		Secondary: []Owner{khr, martisch},
   168  	},
   169  	"go/src/cmd/compile/internal/wasm": {
   170  		Primary:   []Owner{compilerTeam},
   171  		Secondary: wasmOwners,
   172  	},
   173  	"go/src/cmd/cgo": {
   174  		Primary: []Owner{compilerTeam},
   175  	},
   176  	"go/src/cmd/covdata": {
   177  		Primary:   []Owner{thanm},
   178  		Secondary: []Owner{compilerTeam},
   179  	},
   180  	"go/src/cmd/cover": {
   181  		Primary:   []Owner{thanm},
   182  		Secondary: []Owner{compilerTeam},
   183  	},
   184  	"go/src/cmd/doc": {
   185  		Primary:   []Owner{r},
   186  		Secondary: []Owner{mvdan},
   187  	},
   188  	"go/src/cmd/go": {
   189  		Primary:   []Owner{matloob, samthanawalla},
   190  		Secondary: []Owner{rsc, iant},
   191  	},
   192  	"go/src/cmd/gofmt": {
   193  		Primary:   []Owner{gri},
   194  		Secondary: []Owner{mvdan},
   195  	},
   196  	"go/src/cmd/internal/archive": {
   197  		Primary: []Owner{compilerTeam},
   198  	},
   199  	"go/src/cmd/internal/bio": {
   200  		Primary: []Owner{compilerTeam},
   201  	},
   202  	"go/src/cmd/internal/codesign": {
   203  		Primary: []Owner{compilerTeam},
   204  	},
   205  	"go/src/cmd/internal/cov": {
   206  		Primary:   []Owner{thanm},
   207  		Secondary: []Owner{compilerTeam},
   208  	},
   209  	"go/src/cmd/internal/dwarf": {
   210  		Primary: []Owner{compilerTeam},
   211  	},
   212  	"go/src/cmd/internal/gcprog": {
   213  		Primary: []Owner{compilerTeam},
   214  	},
   215  	"go/src/cmd/internal/goobj": {
   216  		Primary: []Owner{compilerTeam},
   217  	},
   218  	"go/src/cmd/internal/notsha256": {
   219  		Primary: []Owner{compilerTeam},
   220  	},
   221  	"go/src/cmd/internal/obj": {
   222  		Primary: []Owner{compilerTeam},
   223  	},
   224  	"go/src/cmd/internal/objabi": {
   225  		Primary: []Owner{compilerTeam},
   226  	},
   227  	"go/src/cmd/internal/objfile": {
   228  		Primary: []Owner{compilerTeam},
   229  	},
   230  	"go/src/cmd/internal/src": {
   231  		Primary: []Owner{compilerTeam},
   232  	},
   233  	"go/src/cmd/internal/sys": {
   234  		Primary: []Owner{compilerTeam},
   235  	},
   236  	"go/src/cmd/internal/obj/wasm": {
   237  		Primary:   []Owner{compilerTeam},
   238  		Secondary: wasmOwners,
   239  	},
   240  	"go/src/cmd/link": {
   241  		Primary:   []Owner{compilerTeam},
   242  		Secondary: []Owner{cherryyz, rsc, iant, mwhudson, thanm},
   243  	},
   244  	"go/src/cmd/link/internal/wasm": {
   245  		Primary:   []Owner{compilerTeam},
   246  		Secondary: wasmOwners,
   247  	},
   248  	"go/src/cmd/nm": {
   249  		Primary: []Owner{compilerTeam},
   250  	},
   251  	"go/src/cmd/objdump": {
   252  		Primary: []Owner{compilerTeam},
   253  	},
   254  	"go/src/cmd/pack": {
   255  		Primary: []Owner{compilerTeam},
   256  	},
   257  	"go/src/cmd/pprof": {
   258  		Primary:   []Owner{runtimeTeam},
   259  		Secondary: []Owner{cherryyz},
   260  	},
   261  	"go/src/cmd/trace": {
   262  		Primary:   []Owner{runtimeTeam},
   263  		Secondary: []Owner{mknyszek, prattmic},
   264  	},
   265  	"go/src/cmd/vet": {
   266  		Primary:   []Owner{matloob},
   267  		Secondary: []Owner{taking},
   268  	},
   269  	"go/src/cmp": {
   270  		Primary:   []Owner{iant},
   271  		Secondary: []Owner{eliben},
   272  	},
   273  	"go/src/compress/bzip2": {
   274  		Primary:   []Owner{joetsai},
   275  		Secondary: []Owner{mdempsky},
   276  	},
   277  	"go/src/compress/flate": {
   278  		Primary:   []Owner{joetsai},
   279  		Secondary: []Owner{mdempsky},
   280  	},
   281  	"go/src/compress/gzip": {
   282  		Primary: []Owner{joetsai},
   283  	},
   284  	"go/src/compress/lzw": {
   285  		Primary:   []Owner{joetsai},
   286  		Secondary: []Owner{mdempsky},
   287  	},
   288  	"go/src/compress/zlib": {
   289  		Primary:   []Owner{joetsai},
   290  		Secondary: []Owner{mdempsky},
   291  	},
   292  	"go/src/container/heap": {
   293  		Primary: []Owner{gri},
   294  	},
   295  	"go/src/container/list": {
   296  		Primary: []Owner{gri},
   297  	},
   298  	"go/src/container/ring": {
   299  		Primary: []Owner{gri},
   300  	},
   301  	"go/src/context": {
   302  		Primary: []Owner{neild, sameer},
   303  	},
   304  	"go/src/crypto": {
   305  		Primary: []Owner{filippo, roland, securityTeam},
   306  	},
   307  	"go/src/crypto/tls": {
   308  		Primary:   []Owner{filippo, roland, securityTeam},
   309  		Secondary: []Owner{kevinburke},
   310  	},
   311  	"go/src/database/sql": {
   312  		Primary:   []Owner{bradfitz, kardianos},
   313  		Secondary: []Owner{kevinburke},
   314  	},
   315  	"go/src/debug/dwarf": {
   316  		Primary:   []Owner{compilerTeam},
   317  		Secondary: []Owner{austin, thanm},
   318  	},
   319  	"go/src/debug/elf": {
   320  		Primary:   []Owner{compilerTeam},
   321  		Secondary: []Owner{iant},
   322  	},
   323  	"go/src/debug/pe": {
   324  		Primary: []Owner{alexbrainman},
   325  	},
   326  	"go/src/embed": {
   327  		Primary: []Owner{toolsTeam},
   328  	},
   329  	"go/src/encoding": {
   330  		Primary: []Owner{rsc},
   331  	},
   332  	"go/src/encoding/asn1": {
   333  		Primary: []Owner{filippo, roland, securityTeam},
   334  	},
   335  	"go/src/encoding/binary": {
   336  		Primary: []Owner{gri},
   337  	},
   338  	"go/src/encoding/csv": {
   339  		Primary:   []Owner{},
   340  		Secondary: []Owner{joetsai, bradfitz, rsc},
   341  	},
   342  	"go/src/encoding/gob": {
   343  		Primary: []Owner{r},
   344  	},
   345  	"go/src/encoding/json": {
   346  		Primary:   []Owner{rsc},
   347  		Secondary: []Owner{joetsai, bradfitz, mvdan},
   348  	},
   349  	"go/src/encoding/xml": {
   350  		Primary: []Owner{rsc},
   351  	},
   352  	"go/src/expvar": {
   353  		Primary:   []Owner{},
   354  		Secondary: []Owner{bradfitz},
   355  	},
   356  	"go/src/flag": {
   357  		Primary: []Owner{r},
   358  	},
   359  	"go/src/fmt": {
   360  		Primary:   []Owner{r},
   361  		Secondary: []Owner{martisch},
   362  	},
   363  	"go/src/go/ast": {
   364  		Primary: []Owner{gri},
   365  	},
   366  	"go/src/go/build": {
   367  		Primary: []Owner{rsc},
   368  	},
   369  	"go/src/go/constant": {
   370  		Primary: []Owner{gri},
   371  	},
   372  	"go/src/go/doc": {
   373  		Primary:   []Owner{gri},
   374  		Secondary: []Owner{agnivade},
   375  	},
   376  	"go/src/go/format": {
   377  		Primary:   []Owner{gri},
   378  		Secondary: []Owner{mvdan},
   379  	},
   380  	"go/src/go/importer": {
   381  		Primary: []Owner{gri, adonovan},
   382  	},
   383  	"go/src/go/internal/gccgoimporter": {
   384  		Primary: []Owner{gri, iant},
   385  	},
   386  	"go/src/go/internal/gcimporter": {
   387  		Primary: []Owner{gri},
   388  	},
   389  	// go/packages doesn't exist yet, but x/tools/go/packages has been proposed to
   390  	// move there and many issues already refer to the new path.
   391  	"go/src/go/packages": {
   392  		Primary: []Owner{matloob},
   393  	},
   394  	"go/src/go/parser": {
   395  		Primary: []Owner{gri},
   396  	},
   397  	"go/src/go/printer": {
   398  		Primary:   []Owner{gri},
   399  		Secondary: []Owner{mvdan},
   400  	},
   401  	"go/src/go/scanner": {
   402  		Primary: []Owner{gri},
   403  	},
   404  	"go/src/go/token": {
   405  		Primary: []Owner{gri},
   406  	},
   407  	"go/src/go/types": {
   408  		Primary: []Owner{gri, findleyr},
   409  	},
   410  	"go/src/hash": {
   411  		Primary: []Owner{securityTeam},
   412  	},
   413  	"go/src/hash/maphash": {
   414  		Primary: []Owner{khr},
   415  	},
   416  	"go/src/html": {
   417  		Primary: []Owner{securityTeam},
   418  	},
   419  	"go/src/html/template": {
   420  		Primary: []Owner{securityTeam},
   421  	},
   422  	"go/src/image": {
   423  		Primary:   []Owner{nigeltao},
   424  		Secondary: []Owner{r},
   425  	},
   426  	"go/src/index/suffixarray": {
   427  		Primary: []Owner{gri},
   428  	},
   429  	"go/src/internal/abi": {
   430  		Primary:   []Owner{compilerTeam, runtimeTeam},
   431  		Secondary: []Owner{mknyszek, cherryyz},
   432  	},
   433  	"go/src/internal/buildcfg": {
   434  		Primary: []Owner{compilerTeam},
   435  	},
   436  	"go/src/internal/bytealg": {
   437  		Primary: []Owner{khr},
   438  	},
   439  	"go/src/internal/cpu": {
   440  		Primary:   []Owner{runtimeTeam},
   441  		Secondary: []Owner{khr, martisch},
   442  	},
   443  	"go/src/internal/coverage": {
   444  		Primary:   []Owner{thanm},
   445  		Secondary: []Owner{compilerTeam},
   446  	},
   447  	"go/src/internal/fuzz": {
   448  		Primary:   []Owner{fuzzingTeam},
   449  		Secondary: []Owner{katie, roland},
   450  	},
   451  	"go/src/internal/goarch": {
   452  		Primary:   []Owner{runtimeTeam},
   453  		Secondary: []Owner{mknyszek, prattmic},
   454  	},
   455  	"go/src/internal/godebug": {
   456  		Primary:   []Owner{runtimeTeam},
   457  		Secondary: []Owner{mknyszek, prattmic},
   458  	},
   459  	"go/src/internal/goexperiment": {
   460  		Primary:   []Owner{runtimeTeam},
   461  		Secondary: []Owner{austin, mknyszek},
   462  	},
   463  	"go/src/internal/goos": {
   464  		Primary:   []Owner{runtimeTeam},
   465  		Secondary: []Owner{mknyszek, prattmic},
   466  	},
   467  	"go/src/internal/pkgbits": {
   468  		Primary: []Owner{compilerTeam},
   469  	},
   470  	"go/src/internal/poll": {
   471  		Primary:   []Owner{runtimeTeam},
   472  		Secondary: []Owner{iant, prattmic},
   473  	},
   474  	"go/src/internal/profile": {
   475  		Primary:   []Owner{runtimeTeam},
   476  		Secondary: []Owner{cherryyz, prattmic},
   477  	},
   478  	"go/src/internal/race": {
   479  		Primary:   []Owner{runtimeTeam},
   480  		Secondary: []Owner{dvyukov, iant},
   481  	},
   482  	"go/src/internal/reflectlite": {
   483  		Primary:   []Owner{runtimeTeam},
   484  		Secondary: []Owner{rsc, iant},
   485  	},
   486  	"go/src/internal/singleflight": {
   487  		Primary: []Owner{bradfitz, iant},
   488  	},
   489  	"go/src/internal/syscall/unix": {
   490  		Primary:   []Owner{iant, bradfitz},
   491  		Secondary: []Owner{tklauser},
   492  	},
   493  	"go/src/internal/syscall/windows": {
   494  		Primary:   []Owner{alexbrainman},
   495  		Secondary: []Owner{bradfitz},
   496  	},
   497  	"go/src/internal/syscall/windows/registry": {
   498  		Primary:   []Owner{alexbrainman},
   499  		Secondary: []Owner{bradfitz},
   500  	},
   501  	"go/src/internal/syscall/windows/sysdll": {
   502  		Primary:   []Owner{alexbrainman},
   503  		Secondary: []Owner{bradfitz},
   504  	},
   505  	"go/src/internal/testenv": {
   506  		Primary: []Owner{bradfitz, iant},
   507  	},
   508  	"go/src/internal/trace": {
   509  		Primary:   []Owner{runtimeTeam},
   510  		Secondary: []Owner{mknyszek, prattmic},
   511  	},
   512  	"go/src/internal/xcoff": {
   513  		Primary: []Owner{compilerTeam},
   514  	},
   515  	"go/src/io": {
   516  		Primary:   []Owner{gri},
   517  		Secondary: []Owner{iant, bradfitz},
   518  	},
   519  	"go/src/log": {
   520  		Primary: []Owner{r},
   521  	},
   522  	"go/src/log/slog": {
   523  		Primary: []Owner{jba},
   524  	},
   525  	"go/src/maps": {
   526  		Primary: []Owner{iant},
   527  	},
   528  	"go/src/math": {
   529  		Primary: []Owner{gri, rsc},
   530  	},
   531  	"go/src/math/big": {
   532  		Primary:   []Owner{gri, securityTeam},
   533  		Secondary: []Owner{filippo, roland},
   534  	},
   535  	"go/src/math/bits": {
   536  		Primary:   []Owner{gri},
   537  		Secondary: []Owner{khr, filippo, securityTeam},
   538  	},
   539  	"go/src/math/rand": {
   540  		Primary:   []Owner{gri, rsc},
   541  		Secondary: []Owner{filippo, securityTeam},
   542  	},
   543  	"go/src/mime": {
   544  		Primary: []Owner{neild},
   545  	},
   546  	"go/src/mime/multipart": {
   547  		Primary: []Owner{neild, minux},
   548  	},
   549  	"go/src/mime/quotedprintable": {
   550  		Primary: []Owner{neild, minux},
   551  	},
   552  	"go/src/net": {
   553  		Primary: []Owner{iant, neild},
   554  	},
   555  	"go/src/net/http": {
   556  		Primary:   []Owner{neild},
   557  		Secondary: []Owner{rsc},
   558  	},
   559  	"go/src/net/http/pprof": {
   560  		Primary:   []Owner{runtimeTeam},
   561  		Secondary: []Owner{cherryyz, rsc},
   562  	},
   563  	"go/src/net/internal/socktest": {
   564  		Primary: []Owner{},
   565  	},
   566  	"go/src/net/mail": {
   567  		Primary:   []Owner{},
   568  		Secondary: []Owner{bradfitz},
   569  	},
   570  	"go/src/net/rpc": {
   571  		Primary: []Owner{r},
   572  	},
   573  	"go/src/net/rpc/jsonrpc": {
   574  		Primary: []Owner{r},
   575  	},
   576  	"go/src/net/smtp": {
   577  		Primary:   []Owner{},
   578  		Secondary: []Owner{bradfitz},
   579  	},
   580  	"go/src/net/textproto": {
   581  		Primary: []Owner{bradfitz, rsc},
   582  	},
   583  	"go/src/net/url": {
   584  		Primary: []Owner{neild, rsc},
   585  	},
   586  	"go/src/os": {
   587  		Primary: []Owner{rsc, r, iant, bradfitz, gri},
   588  	},
   589  	"go/src/os/exec": {
   590  		Primary: []Owner{bradfitz, iant},
   591  	},
   592  	"go/src/os/signal": {
   593  		Primary:   []Owner{runtimeTeam},
   594  		Secondary: []Owner{iant, prattmic},
   595  	},
   596  	"go/src/os/user": {
   597  		Primary:   []Owner{bradfitz},
   598  		Secondary: []Owner{kevinburke},
   599  	},
   600  	"go/src/path": {
   601  		Primary: []Owner{r, rsc},
   602  	},
   603  	"go/src/path/filepath": {
   604  		Primary: []Owner{r, rsc},
   605  	},
   606  	"go/src/plugin": {
   607  		Primary:   []Owner{runtimeTeam},
   608  		Secondary: []Owner{iant, cherryyz},
   609  	},
   610  	"go/src/reflect": {
   611  		Primary:   []Owner{runtimeTeam},
   612  		Secondary: []Owner{rsc, iant},
   613  	},
   614  	"go/src/regexp": {
   615  		Primary:   []Owner{rsc},
   616  		Secondary: []Owner{matloob},
   617  	},
   618  	"go/src/regexp/syntax": {
   619  		Primary: []Owner{rsc},
   620  	},
   621  	"go/src/runtime": {
   622  		Primary:   []Owner{runtimeTeam},
   623  		Secondary: []Owner{austin, khr, mknyszek, prattmic, iant, dvyukov, martisch},
   624  	},
   625  	"go/src/runtime/cgo": {
   626  		Primary:   []Owner{runtimeTeam},
   627  		Secondary: []Owner{iant, cherryyz},
   628  	},
   629  	"go/src/runtime/coverage": {
   630  		Primary:   []Owner{thanm},
   631  		Secondary: []Owner{compilerTeam},
   632  	},
   633  	"go/src/runtime/internal/atomic": {
   634  		Primary:   []Owner{runtimeTeam},
   635  		Secondary: []Owner{austin, khr, mknyszek, mauri870},
   636  	},
   637  	"go/src/runtime/internal/sys": {
   638  		Primary:   []Owner{runtimeTeam},
   639  		Secondary: []Owner{austin, khr},
   640  	},
   641  	"go/src/runtime/internal/syscall": {
   642  		Primary:   []Owner{runtimeTeam},
   643  		Secondary: []Owner{prattmic, mknyszek, austin},
   644  	},
   645  	"go/src/runtime/metrics": {
   646  		Primary:   []Owner{runtimeTeam},
   647  		Secondary: []Owner{mknyszek, prattmic},
   648  	},
   649  	"go/src/runtime/pprof": {
   650  		Primary:   []Owner{runtimeTeam},
   651  		Secondary: []Owner{cherryyz, prattmic},
   652  	},
   653  	"go/src/runtime/race": {
   654  		Primary:   []Owner{runtimeTeam},
   655  		Secondary: []Owner{dvyukov, iant},
   656  	},
   657  	"go/src/runtime/trace": {
   658  		Primary:   []Owner{runtimeTeam},
   659  		Secondary: []Owner{mknyszek, prattmic, dvyukov},
   660  	},
   661  	"go/src/slices": {
   662  		Primary:   []Owner{iant},
   663  		Secondary: []Owner{eliben},
   664  	},
   665  	"go/src/sort": {
   666  		Primary: []Owner{rsc, gri, iant, bradfitz},
   667  	},
   668  	"go/src/strconv": {
   669  		Primary: []Owner{rsc, gri, iant, bradfitz},
   670  	},
   671  	"go/src/strings": {
   672  		Primary:   []Owner{gri},
   673  		Secondary: []Owner{iant, bradfitz},
   674  	},
   675  	"go/src/sync": {
   676  		Primary:   []Owner{runtimeTeam},
   677  		Secondary: []Owner{rsc, iant, dvyukov, austin},
   678  	},
   679  	"go/src/sync/atomic": {
   680  		Primary:   []Owner{runtimeTeam},
   681  		Secondary: []Owner{rsc, iant, dvyukov, austin, mauri870},
   682  	},
   683  	"go/src/syscall": {
   684  		Primary:   []Owner{runtimeTeam},
   685  		Secondary: []Owner{iant, bradfitz, tklauser},
   686  	},
   687  	"go/src/testing": {
   688  		Primary:   []Owner{adonovan, neild},
   689  		Secondary: []Owner{mpvl},
   690  	},
   691  	"go/src/testing/quick": {
   692  		Primary:   []Owner{},
   693  		Secondary: []Owner{agl, katie},
   694  	},
   695  	"go/src/text/scanner": {
   696  		Primary: []Owner{gri},
   697  	},
   698  	"go/src/text/tabwriter": {
   699  		Primary: []Owner{gri},
   700  	},
   701  	"go/src/text/template": {
   702  		Primary:   []Owner{r},
   703  		Secondary: []Owner{mvdan},
   704  	},
   705  	"go/src/text/template/parse": {
   706  		Primary:   []Owner{r},
   707  		Secondary: []Owner{mvdan},
   708  	},
   709  	"go/src/time": {
   710  		Primary: []Owner{rsc},
   711  	},
   712  	"go/src/unicode": {
   713  		Primary:   []Owner{securityTeam, r},
   714  		Secondary: []Owner{mpvl},
   715  	},
   716  	"go/src/unicode/utf16": {
   717  		Primary: []Owner{r},
   718  	},
   719  	"go/src/unicode/utf8": {
   720  		Primary: []Owner{r},
   721  	},
   722  	"go/src/unsafe": {
   723  		Primary: []Owner{gri},
   724  	},
   725  
   726  	// Misc. additional tooling in the Go repository.
   727  	"go/misc/wasm": {
   728  		Primary: wasmOwners,
   729  	},
   730  
   731  	// golang.org/x/ repositories.
   732  	"arch": {
   733  		Primary: []Owner{cherryyz},
   734  	},
   735  	"benchmarks": {
   736  		Primary: []Owner{runtimeTeam, releaseTeam},
   737  	},
   738  	"build": {
   739  		Primary:   []Owner{releaseTeam},
   740  		Secondary: []Owner{dmitshur, amedee},
   741  	},
   742  	"build/maintner/cmd/maintserve": {
   743  		Primary: []Owner{dmitshur},
   744  	},
   745  	"crypto": {
   746  		Primary: []Owner{filippo, roland, securityTeam},
   747  	},
   748  	"crypto/acme": {
   749  		Primary:   []Owner{roland, securityTeam},
   750  		Secondary: []Owner{filippo},
   751  	},
   752  	"crypto/acme/autocert": {
   753  		Primary:   []Owner{bradfitz, roland, securityTeam},
   754  		Secondary: []Owner{filippo},
   755  	},
   756  	"crypto/ssh": {
   757  		Primary:   []Owner{drakkan, securityTeam},
   758  		Secondary: []Owner{filippo, roland},
   759  	},
   760  	"debug": {
   761  		Primary:   []Owner{runtimeTeam},
   762  		Secondary: []Owner{khr},
   763  	},
   764  	"exp/vulncheck": {
   765  		Primary: []Owner{vulndbTeam},
   766  	},
   767  	"mobile": {
   768  		Primary: []Owner{hyangah},
   769  	},
   770  	"mod": {
   771  		Primary: []Owner{matloob, samthanawalla},
   772  	},
   773  	"net": {
   774  		Primary: []Owner{neild, iant},
   775  	},
   776  	"net/bpf": {
   777  		Primary: []Owner{danderson, mdlayher},
   778  	},
   779  	"net/http": {
   780  		Primary:   []Owner{neild},
   781  		Secondary: []Owner{},
   782  	},
   783  	"net/http2": {
   784  		Primary:   []Owner{neild, tombergan},
   785  		Secondary: []Owner{},
   786  	},
   787  	"net/icmp": {
   788  		Primary: []Owner{},
   789  	},
   790  	"net/ipv4": {
   791  		Primary: []Owner{iant},
   792  	},
   793  	"net/ipv6": {
   794  		Primary: []Owner{iant},
   795  	},
   796  	"oauth2": {
   797  		Secondary: []Owner{jbd, shinfan, codyoss},
   798  	},
   799  	"perf": {
   800  		Primary: []Owner{runtimeTeam, releaseTeam},
   801  	},
   802  	"review": {
   803  		Secondary: []Owner{kevinburke},
   804  	},
   805  	"sync": {
   806  		Primary: []Owner{adonovan},
   807  	},
   808  	"sys/unix": {
   809  		Primary:   []Owner{runtimeTeam},
   810  		Secondary: []Owner{iant, bradfitz, tklauser},
   811  	},
   812  	"sys/windows": {
   813  		Primary:   []Owner{runtimeTeam, alexbrainman},
   814  		Secondary: []Owner{bradfitz},
   815  	},
   816  	"text": {
   817  		Primary: []Owner{mpvl},
   818  	},
   819  	"telemetry": {
   820  		Primary:   []Owner{telemetryTeam},
   821  		Secondary: []Owner{toolsTeam},
   822  	},
   823  	// default owners of x/tools/...
   824  	"tools": {
   825  		// for issue triage.
   826  		Primary: []Owner{toolsTeam},
   827  	},
   828  	"tools/cmd/bundle": {
   829  		Primary: []Owner{adonovan},
   830  	},
   831  	"tools/cmd/auth": {
   832  		Secondary: []Owner{matloob, samthanawalla},
   833  	},
   834  	"tools/cmd/godoc": {
   835  		Secondary: []Owner{agnivade, bradfitz, gri, kevinburke},
   836  	},
   837  	"tools/cmd/goimports": {
   838  		Primary:   []Owner{toolsTeam},
   839  		Secondary: []Owner{bradfitz},
   840  	},
   841  	"tools/cmd/present2md": {
   842  		Primary: []Owner{rsc},
   843  	},
   844  	"tools/cmd/stringer": {
   845  		Secondary: []Owner{mvdan},
   846  	},
   847  	"tools/go/analysis": {
   848  		Primary:   []Owner{taking},
   849  		Secondary: []Owner{matloob, zpavlinovic},
   850  	},
   851  	"tools/go/ast": {
   852  		Primary:   []Owner{gri},
   853  		Secondary: []Owner{dmitshur},
   854  	},
   855  	"tools/go/buildutil": {
   856  		Primary:   []Owner{matloob},
   857  		Secondary: []Owner{dmitshur},
   858  	},
   859  	"tools/go/callgraph": {
   860  		Primary:   []Owner{zpavlinovic},
   861  		Secondary: []Owner{taking, toolsTeam},
   862  	},
   863  	"tools/go/gcexportdata": {
   864  		Primary:   []Owner{gri, findleyr},
   865  		Secondary: []Owner{toolsTeam},
   866  	},
   867  	"tools/go/internal/gcimporter": {
   868  		Primary:   []Owner{gri, findleyr},
   869  		Secondary: []Owner{toolsTeam},
   870  	},
   871  	"tools/go/internal/packagesdriver": {
   872  		Primary: []Owner{matloob},
   873  	},
   874  	"tools/go/loader": {
   875  		Primary: []Owner{matloob},
   876  	},
   877  	"tools/go/packages": {
   878  		Primary: []Owner{matloob},
   879  	},
   880  	"tools/go/ssa": {
   881  		Primary:   []Owner{taking},
   882  		Secondary: []Owner{findleyr},
   883  	},
   884  	"tools/imports": {
   885  		Primary: []Owner{toolsTeam},
   886  	},
   887  	"tools/internal/analysisinternal": {
   888  		Primary:   []Owner{matloob},
   889  		Secondary: []Owner{toolsTeam},
   890  	},
   891  	"tools/internal/apidiff": {
   892  		Primary:   []Owner{jba},
   893  		Secondary: []Owner{matloob},
   894  	},
   895  	"tools/internal/fastwalk": {
   896  		Primary: []Owner{toolsTeam},
   897  	},
   898  	"tools/internal/gocommand": {
   899  		Primary: []Owner{toolsTeam},
   900  	},
   901  	"tools/internal/gopathwalk": {
   902  		Primary: []Owner{toolsTeam},
   903  	},
   904  	"tools/internal/imports": {
   905  		Primary: []Owner{toolsTeam},
   906  	},
   907  	"tools/internal/jsonrpc2": {
   908  		Primary:   []Owner{iancottrell},
   909  		Secondary: []Owner{findleyr, jba},
   910  	},
   911  	"tools/internal/tool": {
   912  		Primary: []Owner{iancottrell},
   913  	},
   914  	"tools/internal/xcontext": {
   915  		Primary: []Owner{iancottrell},
   916  	},
   917  	"tools/playground": {
   918  		Primary: []Owner{toolsTeam, rakoczy},
   919  	},
   920  	"tools/present": {
   921  		Primary: []Owner{rsc},
   922  	},
   923  	"tools/refactor": {
   924  		Primary:   []Owner{toolsTeam},
   925  		Secondary: []Owner{findleyr, suzmue},
   926  	},
   927  	"tools/txtar": {
   928  		Primary: []Owner{matloob},
   929  	},
   930  	"pkgsite": {
   931  		Primary: []Owner{pkgsiteTeam},
   932  	},
   933  	"playground": {
   934  		Primary: []Owner{rakoczy},
   935  	},
   936  	"vuln": {
   937  		Primary: []Owner{vulndbTeam},
   938  	},
   939  	"vulndb": {
   940  		Primary: []Owner{vulndbTeam},
   941  	},
   942  	"website": {
   943  		Primary: []Owner{toolsTeam},
   944  	},
   945  	"website/cmd/admingolangorg": {
   946  		Secondary: []Owner{dmitshur},
   947  	},
   948  	"website/cmd/golangorg": {
   949  		Secondary: []Owner{dmitshur},
   950  	},
   951  	"website/internal/dl": {
   952  		Primary: []Owner{dmitshur},
   953  	},
   954  	"website/internal/history": {
   955  		Primary: []Owner{dmitshur},
   956  	},
   957  
   958  	// Misc. other Go repositories.
   959  	"gccgo": {
   960  		Primary:   []Owner{iant},
   961  		Secondary: []Owner{thanm, cherryyz},
   962  	},
   963  	"gofrontend": {
   964  		Primary:   []Owner{iant},
   965  		Secondary: []Owner{thanm},
   966  	},
   967  	"gollvm": {
   968  		Primary:   []Owner{thanm},
   969  		Secondary: []Owner{cherryyz},
   970  	},
   971  	"vscode-go": {
   972  		Primary:   []Owner{toolsTeam},
   973  		Secondary: []Owner{hyangah},
   974  	},
   975  
   976  	// These components are domains, not Go packages.
   977  	"index.golang.org": modProxyOwners,
   978  	"proxy.golang.org": modProxyOwners,
   979  	"sum.golang.org":   modProxyOwners,
   980  }
   981  
   982  // archOses is a map of <architecture> or <OS> to Owner entries,
   983  // used in the same way as entries above.
   984  // This map should not be modified at runtime.
   985  var archOses = map[string]*Entry{
   986  	// OSes and architectures have teams.
   987  	// OSes.  There is no team for "linux"
   988  	"aix":       archOsTeam("aix"),
   989  	"android":   archOsTeam("android"),
   990  	"darwin":    archOsTeam("darwin"),
   991  	"dragonfly": archOsTeam("dragonfly"),
   992  	"freebsd":   archOsTeam("freebsd"),
   993  	"illumos":   archOsTeam("illumos"),
   994  	"ios":       archOsTeam("ios"),
   995  	"js":        archOsTeam("js"),
   996  	"netbsd":    archOsTeam("netbsd"),
   997  	"openbsd":   archOsTeam("openbsd"),
   998  	"plan9":     archOsTeam("plan9"),
   999  	"solaris":   archOsTeam("solaris"), // team is empty as of 2022-10
  1000  	"wasip1":    archOsTeam("wasm"),
  1001  	"windows":   archOsTeam("windows"),
  1002  
  1003  	// Architectures.  There is no team for "x86" or "amd64".
  1004  	"arm":     archOsTeam("arm"),
  1005  	"arm64":   archOsTeam("arm"),
  1006  	"mips":    archOsTeam("mips"),
  1007  	"mips64":  archOsTeam("mips"),
  1008  	"ppc64":   archOsTeam("ppc64"),
  1009  	"riscv64": archOsTeam("riscv64"),
  1010  	"loong64": archOsTeam("loong64"),
  1011  	"s390x":   archOsTeam("s390x"),
  1012  	"wasm":    archOsTeam("wasm"),
  1013  }
  1014  
  1015  var wasmOwners = []Owner{neelance, cherryyz}
  1016  
  1017  var modProxyOwners = &Entry{
  1018  	Primary:   []Owner{toolsTeam},
  1019  	Secondary: []Owner{suzmue, findleyr, hyangah},
  1020  }