GitHub 操作工作流未运行

Kie*_*win 29 github-actions

我有一个 GitHub 操作工作流文件 @ myrepo/.github/workflows/Build Webpage.yml 它包含以下内容:

name: Webpage Build

on:
  push:
    branches:
      - webpage 

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: setup node
      uses: actions/setup-node@v2-beta
      with:
        node-version: '12'
    - name: install deps and predeploy
      run: |
        npm ci
        npm run predeploy
    - name: Deploy 
      uses: JamesIves/github-pages-deploy-action@3.5.2
      with:
        GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
        BRANCH: gh-pages
        FOLDER: build
Run Code Online (Sandbox Code Playgroud)

当我推到网页分支什么也没有发生在动作片的一切我不能说,如果我有一个语法错误,或者如果事情是完全不正确设置,我在过去的这个回购了关于语法错误像every step must define a 'uses' or 'run' key 这对我来说,Github 确实识别了工作流程

Fur*_*usD 186

就我而言,Github 操作发生了中断。检查https://www.githubstatus.com/

  • 好吧,我刚刚到达这里,现在我想知道如何手动运行推送/公关工作流程 (3认同)
  • 这就是答案。Git 操作现在已停止! (3认同)

fr_*_*lio 73

是你的分行master还是main

将来可能会很愚蠢,但至于 2020 年 10 月,请记住,默认的 GitHub 分支已重命名mastermain

所以,如果你copypasting从其他地方行动,确保您的目标正确的分支(新回购该手段的大部分时间里,以取代master main .yml工作流文件)。

如果您定位到错误的分支,操作的名称将出现在 GitHub 上,但实际上不会运行任何操作。

希望这可以在此过渡期间帮助某人!

  • 搞定了。我复制/粘贴。我的分支是主 YAML 文件是 master。 (7认同)
  • 这发生在我身上。这就是为什么这个地方很棒。我花了一个小时检查官方文档,寻找解决方案,你的答案解决了这个问题。谢谢 (4认同)
  • 类似的事情也发生在我身上。我有 `.github/workflow` 而不是 `.github/workflows` 。希望这可以帮助一些人。 (3认同)

Jeh*_*ser 22

  • 另一个发生在我身上的愚蠢案例。由于 GitHub UI 向文件夹路径添加了空格(有时这是由 Google 翻译插件引起的),当我从 GitHub UI 复制路径.github/workflows并使用它在 VSCode 中创建文件夹时,它.github / workflows/.

GitHub 工作流程路径

  • 我通过要求 GitHub 从选项卡为我初始化操作工作流程来发现这个问题Actions,所以我注意到了我的错误,这是解决这个问题的好方法。

GitHub 操作用户界面

  • 我没有犯确切的错误,而是使用“工作流程”而不是“工作流程”。这条评论帮助我找到了错误。:D (6认同)

Kie*_*win 17

因此,如帖子本身下方的评论所示,如果您希望工作流在分支 x 上运行,则 .github 文件夹必须位于分支 x 和您想要从中触发工作流的任何其他分支上

  • 当我们从另一个提供商迁移到 github/github actions 时遇到了这个问题,并且有一个分支早于迁移。这非常令人困惑:) (2认同)

小智 17

只是想添加一个发生在我身上的愚蠢案例。每当您添加新的工作流程时,有时可能会发生即使所有内容都正确指定,工作流程也可能无法进入运行阶段。只需确保在添加操作本身后在运行该操作的任何分支中进行一些更改即可。请确保也提交这些更改。这将触发操作运行并显示在仪表板上。


tjg*_*184 17

工作流程中可能发生的其他可能性是以下类型pull_request

如果您的分支和基础分支存在冲突,工作流将不会触发。这并不总是显而易见的,因为您遇到的唯一冲突可能是工作流程。

下面只是一个例子,但要点是必须首先解决冲突。

on:
  pull_request:
    types: [labeled, reopened, synchronize, ready_for_review]
Run Code Online (Sandbox Code Playgroud)


A24*_*248 13

需要注意的另一个陷阱:如果您分叉另一个具有 Github 工作流程的存储库,则默认情况下,您的分叉中的工作流程将被禁用。

此功能的目的是防止您意外运行具有未知行为的导入工作流程,这可能会造成安全隐患(例如,通过访问机密)。

要重新启用工作流程,请转到存储库的“操作”选项卡,并确认您了解要启用的工作流程。


dvd*_*blk 11

我发现 GitHub 操作文档中描述了我的问题:

如果您使用 ! 定义分支 字符,您还必须定义至少一个不带 ! 的分支 特点。如果您只想排除分支,请改用branches-ignore。

最初,我的工作流程中有这个(没有触发操作):

on:
  push:
    branches:
      - "!main"
Run Code Online (Sandbox Code Playgroud)

要解决这个问题:

on:
  push:
    branches-ignore:
      - main
Run Code Online (Sandbox Code Playgroud)


inf*_*ity 8

最后要注意的问题是触发操作的提交中的跳过关键字。

如果您的推送或 PR 的 HEAD 提交中的任何提交消息包含字符串 [skip ci]、[ci Skip]、[no ci]、[skip actions] 或 [actions Skip] 在 Push 或 Pull_request 事件上触发的工作流程将被跳过。

在使用语义发布并将我的部署分支重置为发布提交时,我被这一点所困扰。您可以在部署分支中重写发布提交和推送(至少我是这样解决的)。


mat*_*ste 8

请注意,您不能有嵌套文件夹。例如,.github/workflows/folder-1/my_workflow.yml 不会被Github识别。就我而言,我必须将其更改为.github/workflows/my_workflow.yml


小智 5

另一种情况,假设您workflow在项目中已经有文件并且如果您paths设置了文件,那么除非您在path文件夹内进行更改,否则工作流将不会运行。因此,如果您对workflow保留在外面的任何更改path都不会触发Action

on:
  push:
    branches:
     - master
    paths:
     - 'packages/container/**'
Run Code Online (Sandbox Code Playgroud)


Emr*_*mre 5

对我来说,不小心将文件夹命名.github/workspaces.github/workflows.