Lishika's picture
finally added all
ae94737
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={},
),
]