Auto: 发布时 Git 失败(但不确定它失败的原因)

创建于 2019-10-21  ·  12评论  ·  资料来源: intuit/auto

描述错误

经过几次错误的启动,我终于再次发布了relay-compiler-language-typescript 。 从 travis 推动是一个挑战。

这是成功的构建: https :

我的同事在那之后合并了一个 PR 并导致了新的失败

  • 构建: https :
  • 错误:
ℹ  info      Getting commits from v9.0.0 to HEAD

fatal: ambiguous argument 'v9.0.0..HEAD': unknown revision or path not in the working tree.

Use '--' to separate paths from revisions, like this:

'git <command> [<revision>...] -- [<file>...]'

查看构建的结果并不清楚_what_失败了。

它没有做的唯一一件事是在最后使用 console.log 记录版本(因为它失败了)……但是日志让我相信它应该在做所有其他事情之前失败。

我有点难住了,哈。 有什么想法吗?

documentation question

所有12条评论

我今天刚刚经历了这个。 ambiguous argument 'v9.0.0..HEAD'应该由git fetch --tags修复,以便 env 拥有查找差异所需的所有标签

感谢@strass 的提醒。 我觉得我们在这里有机会检查我们期望的东西,如果它们不存在就尝试抓住它们。

但是日志让我相信它应该在做所有其他事情之前就失败了。

我不确定我们正在查看正确的日志。 他们在任何事情发生之前就结束了

我弄清楚发生了什么:

  1. https://github.com/relay-tools/relay-compiler-language-typescript/pull/147合并 9:32am (Build 1)
  2. https://github.com/relay-tools/relay-compiler-language-typescript/pull/139合并 9:33am (Build 2)
  3. 构建 1 运行git checkout master && git pull origin && git branch --set-upstream-to origin/master master ,其中包括构建 2 中的提交
  4. 构建 1 为构建 2 的更改发布了一个主要版本,即使构建 1 是“跳过发布”
  5. Build 2 试图发布它的更改,但 Build 1 已经这样做了。 所以 CI 失败了

似乎问题在于,在运行合并提交的构建时,travis 不在 master 上,因此您必须执行一些 git fu。 这是我如何处理操作(注意缺少git checkout master && git pull origin

https://github.com/hipstersmoothie/create-check/blob/master/.github/workflows/push.yml#L41

@zephraph你能在文档中添加一个页面来解释一个好的 travis 设置吗?

我今天刚刚经历了这个。 ambiguous argument 'v9.0.0..HEAD'应该由git fetch --tags修复,以便 env 拥有查找差异所需的所有标签

我已经在https://github.com/intuit/auto/pull/626 中解决了这个问题@strass

@hipstersmoothie我也想知道这

使用GitHawk发送

我愿意让auto做更多的这项工作,我只是不知道它在实践中会如何发挥作用。 像您一样,您添加此功能的情况会创建一个“空”版本,因为所有内容都已发布。 在我看来,更好的体验是在代码从另一个分支发布时出错(可能带有更好的消息)。

如果您在最新标签后面的分支上运行shipit ,我也不知道一切会如何

现在#626 已经发货,我将关闭它。

将在 travis 配置上添加一些文档。

此页面是否有帮助?
0 / 5 - 0 等级