GitHub Actions执行CI工作流报错:缺少必填根键on
解决GitHub Actions "Missing required root key on" 错误
你的GitHub Actions工作流文件存在两个核心结构问题,导致了这个错误:
错误地将工作流配置嵌套在自定义根键
ci_pipeline下
GitHub Actions不识别该自定义根键,要求触发条件on、任务定义jobs等必须直接放在YAML的根层级。缺少
jobs层级
所有执行步骤steps必须包裹在jobs下的具体任务中,这是GitHub Actions的强制结构要求,每个任务还需指定运行环境。
修正后的完整工作流代码:
name: CI Pipeline for ML Model on: push: branches: - main jobs: build-and-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 with: fetch-depth: 0 - name: Set up Python 3.9 uses: actions/setup-python@v1 with: python-version: 3.9 - name: Install dependencies run: | python -m pip install --upgrade pip if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Format run: | black app.py - name: Lint run: | pylint --disable=R,C app.py - name: Test run: | python -m pytest -vv test.py
关键调整说明:
- 移除自定义
ci_pipeline根键,将on直接置于根层级 - 添加
jobs层级,定义了名为build-and-test的任务(任务名可自定义) - 补充
runs-on字段,指定任务运行的操作系统环境(GitHub Actions必填项) - 保留你原本的所有步骤逻辑,仅调整结构使其符合规范
内容的提问来源于stack exchange,提问作者Kashif Jilani
相关产品推荐
相关产品推荐

