Skip to content

A CI-ready run

Chapter lab: Operations capstonech26-operations-capstone.zip · 15 KB

This chapter works in a prepared project. Download it before the first task; it unpacks into its own folder.

Download ch26-operations-capstone.zip

Or fetch and unpack it from a terminal in VS Code:

Terminal window
curl -fsSLO https://manykarim.github.io/robotframework-essentials-web/labs/ch26-operations-capstone.zip && unzip -q ch26-operations-capstone.zip && rm ch26-operations-capstone.zip

Open the folder in VS Code with code rfe-ch26-operations-capstone (or File → Open Folder…) and accept the recommended RobotCode and Python extensions. Then set it up:

Terminal window
uv sync
Terminal window
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Keep the environment active in every terminal where you run lesson commands.

Terminal window
poetry install --no-root

Python 3.13 or newer is required; uv installs it when it is missing.

Open in browserNo setup? Try the lab right here: its files, an editor and a terminal, running in your browser.

What's inside
  • Directoryrfe-ch26-operations-capstone/
    • Directory.vscode/
      • extensions.json
    • Directorychecks/
      • alpha.robot
      • beta.robot
      • unformatted.robot
    • .gitignore
    • .python-version
    • LAB.md
    • pyproject.toml
    • README.md
    • requirements.txt
    • uv.lock

Put the operations skills together into the shape of a real continuous-integration step: a clean, consistently-formatted suite tree, run in parallel, producing one report. That is what a green pipeline looks like.

You have already met the pieces — Robocop to format, Pabot to parallelise, one output.xml to report on. Now assemble them.

Run

Format the messy suite so the whole tree is consistent:

Terminal window
uv run robocop format checks/unformatted.robot
Terminal window
robocop format checks/unformatted.robot
Terminal window
poetry run robocop format checks/unformatted.robot

Done when

checks/unformatted.robot is consistently formatted.

Run

Run all the clean suites in parallel, into a single report:

Terminal window
uv run pabot --outputdir results checks/alpha.robot checks/beta.robot checks/unformatted.robot
Terminal window
pabot --outputdir results checks/alpha.robot checks/beta.robot checks/unformatted.robot
Terminal window
poetry run pabot --outputdir results checks/alpha.robot checks/beta.robot checks/unformatted.robot

Every suite runs at once, into one green report:

uv run pabot --outputdir results checks/alpha.robot checks/beta.robot checks/unformatted.robotpabot --outputdir results checks/alpha.robot checks/beta.robot checks/unformatted.robotpoetry run pabot --outputdir results checks/alpha.robot checks/beta.robot checks/unformatted.robot
[0] EXECUTING Alpha
[1] EXECUTING Beta
[2] EXECUTING Unformatted
[0] PASSED Alpha in 0.5 seconds
[1] PASSED Beta in 0.5 seconds
[2] PASSED Unformatted in 0.4 seconds
5 tests, 5 passed, 0 failed, 0 skipped

Every test from every suite runs concurrently and lands in one results/output.xml — formatted, fast, and green. Wire exactly this command into a CI job and you have a working pipeline step.

Done when

the parallel run passes with every test — the operations tier complete.

Check your understanding

Quick recall. Your first answer stays in this browser; the quiz never blocks your progress.

  1. A CI-ready run combines…

    Show the answer

    Answer: clean/formatted suites + parallel run + one report — The shape of a green pipeline step: consistent formatting, parallel execution, and a single report.

  2. Why does one output.xml matter for CI?

    Show the answer

    Answer: one artifact carries every result for reporting and history — A single output is what a CI job publishes and what rebot/dashboards consume.

Key terms

CI-ready runconcept
Formatted + parallel + one report — a working pipeline step.

All terms in the glossary →