Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from env.tasks.task_types import CICDTask | |
| EASY_TASKS: list[CICDTask] = [ | |
| CICDTask( | |
| task_id="easy-command-typo", | |
| title="Fix test command typo", | |
| description="A typo in the test command breaks the CI test stage.", | |
| difficulty="easy", | |
| failure_stage="test", | |
| broken_config=""" | |
| name: CI | |
| on: [push] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: npm ci | |
| test: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: npm tset | |
| """.strip(), | |
| expected_config=""" | |
| name: CI | |
| on: [push] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: npm ci | |
| test: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: npm test | |
| """.strip(), | |
| logs="test stage failed: npm ERR! missing script: tset", | |
| error_message="command not found: npm tset", | |
| actual_bug="test step runs npm tset instead of npm test", | |
| metadata={"broken_token": "npm tset", "fixed_token": "npm test"}, | |
| ), | |
| CICDTask( | |
| task_id="easy-missing-checkout", | |
| title="Add missing checkout", | |
| description="Build stage fails because repository checkout is missing.", | |
| difficulty="easy", | |
| failure_stage="build", | |
| broken_config=""" | |
| name: CI | |
| on: [push] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - run: npm ci | |
| - run: npm run build | |
| """.strip(), | |
| expected_config=""" | |
| name: CI | |
| on: [push] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: npm ci | |
| - run: npm run build | |
| """.strip(), | |
| logs="build stage failed: package-lock.json not found in workspace", | |
| error_message="missing checkout step before build commands", | |
| actual_bug="repository checkout step was removed", | |
| metadata={"broken_token": "", "fixed_token": "uses: actions/checkout@v4"}, | |
| ), | |
| CICDTask( | |
| task_id="easy-yaml-indentation", | |
| title="Fix YAML indentation", | |
| description="Pipeline config has malformed YAML indentation.", | |
| difficulty="easy", | |
| failure_stage="build", | |
| broken_config=""" | |
| name: CI | |
| on: [push] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: pytest | |
| """.strip(), | |
| expected_config=""" | |
| name: CI | |
| on: [push] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - run: pytest | |
| """.strip(), | |
| logs="yaml parser error: while parsing a block mapping", | |
| error_message="invalid YAML structure in workflow file", | |
| actual_bug="test command list item is mis-indented", | |
| metadata={}, | |
| ), | |
| ] | |