GitHub Actions Workflow未触发问题求助
GitHub Workflow 触发失败排查与修复
我在.github/workflows目录下配置了如下GitHub Workflow YAML文件,期望在推送到master分支或满足路径条件的Pull Request时触发执行,但该Workflow未正常触发。已确认仓库默认分支为master,无法定位触发失败原因,相关配置代码如下:
name: Lint and Test Charts on: push: branches: [ main/master ] pull_request: branches: [ main/master ] paths: - 'open-electrons-monitoring/**' - "!**/README.md" - "!images/**" - "!README.md" jobs: lint-test: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 with: fetch-depth: 0 - name: Install Helm uses: azure/setup-helm@v1 - uses: actions/setup-python@v2 with: python-version: 3.7 - name: Install chart-testing uses: helm/chart-testing-action@v2.0.1 - name: Run chart-testing (list-changed) id: list-changed run: | changed=$(ct list-changed) if [[ -n "$changed" ]]; then echo "::set-output name=changed::true" fi - name: Run chart-testing (lint) run: ct lint - name: Create kind cluster uses: helm/kind-action@v1.0.0 if: steps.list-changed.outputs.changed == 'true' - name: Run chart-testing (install) run: ct install
补充说明:截图显示该Workflow未出现在仓库的Actions页面列表中,无任何执行记录。
问题根源
触发配置里的branches: [ main/master ]写法错误,GitHub Actions不支持用斜杠同时指定两个分支,这会被当作单个分支名main/master,而仓库默认分支是master,所以推送或PR都匹配不到这个不存在的分支,导致Workflow完全不触发。
修复方案
把branches字段改成数组形式,分别列出main和master分支:
on: push: branches: [ main, master ] pull_request: branches: [ main, master ] paths: - 'open-electrons-monitoring/**' - "!**/README.md" - "!images/**" - "!README.md"
额外检查项
- 路径过滤验证:确认PR中修改的文件确实属于
open-electrons-monitoring/**路径,且未被排除规则完全覆盖。如果PR只修改了被排除的文件(比如各类README或images目录下的文件),Workflow也不会触发。 - 文件命名检查:确保
.github/workflows目录下的配置文件后缀是.yml或.yaml,否则GitHub无法识别该Workflow。 - 权限确认:检查仓库的Actions权限是否开启(仓库设置→Actions→General→允许所有操作和可复用工作流)。
内容的提问来源于stack exchange,提问作者joesan
相关产品推荐
相关产品推荐

