go x/build/maintner: 新的空里程碑未被检测到

4dc9hkyq  于 6个月前  发布在  Go
关注(0)|答案(2)|浏览(42)

一个新的没有问题的里程碑不会出现在语料库中。(同时,请不要介意我在使用这个问题来填充语料库时。)

ccgok5k5

ccgok5k51#

我在执行#26949时遇到了一个疑似相关的问题。一个新添加的GitHub仓库(没有问题)在语料库中没有显示。当我创建了first Pull Request(这算作一个问题),仓库就出现了:

1. added "dl" to whitelist (CL x) and redeployed maintnerd
2. corpus.GitHub().Repo("golang", "dl") // nil
3. created first issue/PR in the repo https://github.com/golang/dl/pull/1
4. corpus.GitHub().Repo("golang", "dl") // non-nil

(感谢@FiloSottile报告此问题;如果我没有看到它,调试出错会更困难。)
为了测试这个,我使用了maintserve。我还运行了以下代码片段:

package main

import (
	"context"
	"fmt"
	"log"

	"golang.org/x/build/maintner"
	"golang.org/x/build/maintner/godata"
)

func main() {
	corpus, err := godata.Get(context.Background())
	if err != nil {
		log.Fatalln(err)
	}
	num := make(map[string]int)
	for _, name := range []string{"example", "dl"} {
		repo := corpus.GitHub().Repo("golang", name)
		if repo == nil {
			continue
		}
		err = repo.ForeachIssue(func(gi *maintner.GitHubIssue) error {
			num[name]++
			return nil
		})
		if err != nil {
			log.Println(err)
		}
	}
	fmt.Println(num)
}

PR发布前:

map[example:11]

PR发布后:

map[example:11 dl:1]

**编辑:**话虽如此,我认为这不一定是一种必须改变的不良行为。也许正确的解决方法是文档。在做出决定之前,我需要权衡利弊。

0yg35tkg

0yg35tkg2#

在查看最新的Go版本后,我认为这确实是一个bug。如果新的空里程碑没有被语料库捕获,那么下一个版本的新里程碑将被忽略。当前的代码将要求在这个未来的里程碑中添加一些随机的问题,以便被选中并允许发布继续进行。我也像@FiloSottile一样使用这个问题来启动语料库,但感觉有点像是在作弊。

相关问题