从版本列表中删除了 Node.js v15,但 Github Actions 仍将其显示在检查列表中

Posted

技术标签:

【中文标题】从版本列表中删除了 Node.js v15,但 Github Actions 仍将其显示在检查列表中【英文标题】:Removed Node.js v15 from list of versions, but Github Actions still shows it in list of checks 【发布时间】:2021-10-28 13:56:56 【问题描述】:

我最初将 Github Actions 设置为使用节点版本 14、15、16 运行单元测试。

不过,我已经从列表中删除了 15.x。这是现在的样子:

name: Compliance

on: pull_request

jobs:
  build:

    runs-on: ubuntu-latest

    services:
      redis:
        image: redis
        # Set health checks to wait until redis has started
        options: >-
          --health-cmd "redis-cli ping"
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5

    strategy:
      matrix:
        node-version: [14.x, 16.x]

    steps:
      ....

检查列表显示了版本 14 和 16 的正确标题,但是之后有一个 build 15 显然永远不会运行(因此永远不会完成)并且我的 PR 永远不会得到绿色复选标记。

CodeQL / Analyze (javascript) (pull_request) Successful in 1m
Compliance / build (14.x) (pull_request) Successful in 2m
Compliance / build (16.x) (pull_request) Successful in 1m
build (15.x) Expected — Waiting for status to be reported
Code scanning results / CodeQL Successful in 3s — No new or fixed alerts

我搜索了我的.github/* 文件,但在任何地方都没有提到 15 个。对于矩阵中不再相关的版本,我不知道在哪里可以找到并删除此幽灵条目。

【问题讨论】:

如果您使用新实现创建另一个工作流,而不是编辑前一个工作流,问题是否仍然存在? @GuiFalourd 我只是试了一下,删除了旧文件,并将任务分成两个单独的文件(一个用于 linting,一个用于单元测试)。任何地方都没有提到 15.x,但它仍然出现在 PR 检查列表中。我无法想象这是由于 repo 文件中的配置设置造成的,但我在 github 网站上也找不到此 repo 的任何相关设置。 @GuiFalourd 我还尝试将工作从 build 重命名为其他名称。新作业在节点 14.x 和 16.x 中正确显示,但现在我有 3 个用于 build (14.x)build (15.x)build (16.x) 的幽灵条目……即使它不再在随处配置。 repo 上可能有一些我们不知道的工作流缓存。 【参考方案1】:

这里的问题是主分支有一组必需的检查,您必须通过他们的工作(和节点版本)名称来具体命名。例如。 build 15.x.

这需要一些挖掘,因为这不是很明显,但是在存储库设置 -> 分支 -> 主 [编辑] 页面中,您可以添加/删除必须通过的状态检查。

【讨论】:

以上是关于从版本列表中删除了 Node.js v15,但 Github Actions 仍将其显示在检查列表中的主要内容,如果未能解决你的问题,请参考以下文章

使用 Node.js Express Mongoose 删除列表项

Node JS 从数组中删除特定对象(猫鼬)

node.js 与 express 如何从 url 中删除查询字符串

Node JS Google Drive api方法列表返回已删除文件

[node 工具] 用 Node.js 将 bugzilla 上的 bug 列表导入到 excel 表格在线版本之一(server 端)

Heroku+Node.js 如何克隆 node_modules?