Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Environment:MarketSquare Robotframework browser CI GitHub Actions

From Leeroopedia
Knowledge Sources
Domains Infrastructure, CI_CD
Last Updated 2026-02-12 04:00 GMT

Overview

GitHub Actions CI environment with a multi-OS, multi-Python, multi-Node.js test matrix for continuous integration and release automation.

Description

This environment defines the CI/CD pipeline configuration for robotframework-browser. The CI runs on GitHub Actions with a comprehensive test matrix covering multiple operating systems (Ubuntu, Windows, macOS including Intel and ARM), Python versions (3.10 through 3.14), and Node.js versions (20.x, 22.x, 24.x). Tests are sharded across 4 groups for parallel execution. The release workflow builds and publishes packages to PyPI and npm.

Usage

Use this environment for understanding CI requirements, debugging CI failures, or extending the test matrix. It is the mandatory context for the Library_Development_and_Release workflow's Github_Release_Workflow implementation.

System Requirements

Category Requirement Notes
OS ubuntu-latest, windows-latest, macos-latest Plus ubuntu-24.04-arm, macos-15-intel
Python 3.10, 3.11, 3.12, 3.13, 3.14 Full matrix coverage
Node.js 20.x, 22.x, 24.x Tested combinations per matrix
Timeout 30 minutes per job Prevents runaway test execution

Dependencies

CI Services

  • GitHub Actions runners (ubuntu, windows, macos)
  • `actions/checkout@v6`
  • `actions/setup-node`
  • `actions/setup-python`

CI-Specific Requirements

  • Xvfb for headless testing on Linux
  • Playwright system dependencies (`npx playwright install-deps`)
  • npm and pip caching for performance

Development Dependencies

  • `invoke` >= 2.2.1 (task runner)
  • `pytest` >= 9.0.1
  • `mypy` >= 1.18.2
  • `ruff` >= 0.14.5
  • `robotframework-pabot` >= 5.1.0 (parallel test execution)
  • `twine` >= 6.2.0 (PyPI publishing)
  • `robotframework-robocop` >= 6.10.0 (linting)

Credentials

The following secrets/variables are used in CI:

  • `SYS_VAR_CI_INSTALL_TEST` — Set to `0` by default in CI; controls installation test behavior.
  • PyPI token (for release publishing)
  • npm token (for release publishing)

Quick Install

# Reproduce CI environment locally
python bootstrap.py
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
inv deps
inv build
inv utest
inv atest --shard 1/4

Code Evidence

CI test matrix from `.github/workflows/on-push.yml:27-77`:

strategy:
  fail-fast: false
  matrix:
    include:
      - os: windows-latest
        python-version: "3.10"
        node-version: 22.x
        shard: 1
      - os: ubuntu-latest
        python-version: "3.14"
        node-version: 22.x
        shard: 3
      - os: macos-latest
        python-version: "3.11"
        node-version: 20.x
        shard: 1

CI environment variable from `.github/workflows/on-push.yml:16-17`:

env:
  SYS_VAR_CI_INSTALL_TEST: 0

Common Errors

Error Message Cause Solution
Test timeout after 30 minutes Acceptance tests too slow on specific OS/version Check test shard distribution; increase timeout if needed
`xvfb-run: error` Xvfb not available on Linux runner Ensure Xvfb is installed as part of Playwright system dependencies
npm cache miss First run or cache key changed Expected on cache invalidation; will re-download

Compatibility Notes

  • fail-fast disabled: The CI matrix uses `fail-fast: false` to ensure all OS/version combinations are tested even if one fails.
  • Test sharding: Tests are split into 4 shards for parallel execution. Each matrix entry runs one shard.
  • Daily schedule: CI runs on a daily cron schedule (`15 10 * * *`) in addition to push/PR triggers to catch upstream breakage.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment