Skip to main content

Run Beman CI matrix locally via Docker

Project description

beman-local-ci

Run Beman CI matrix locally via Docker.

Installation

uv pip install -e .

Usage

# Run all jobs for a repository
beman-local-ci -C /path/to/repo

# Dry run to see what would be executed
beman-local-ci -C /path/to/repo --dry-run

# Control parallelism
beman-local-ci -C /path/to/repo -j 8 -p 4

Options

  • -C DIR: Repository directory (default: current directory)
  • -j N: Build parallelism (default: CPU count when -p 1, CPU count / 2 otherwise)
  • -p N: Max parallel CI jobs (default: auto based on Docker memory, use all for unlimited)
  • --dry-run: Print commands without executing
  • --verbose: Show detailed output
  • --track-performance: Report peak CPU and memory usage for each job

Filter syntax

All dimensions are independent — omitted ones match all values.

  • --compiler C1,C2: Filter by compiler (gcc, clang). Starts a new filter group.
  • --versions V1,V2: Filter by compiler versions
  • --cxxversions V1,V2: Filter by C++ standard versions
  • --stdlibs S1,S2: Filter by standard libraries
  • --tests T1,T2: Filter by test types

Multiple --compiler flags create OR groups. Within a group, dimensions are ANDed. Flags before the first --compiler create an implicit group (all compilers).

Examples

# Run only gcc jobs
beman-local-ci -C /path/to/repo --compiler gcc

# Run only c++26 jobs (any compiler)
beman-local-ci -C /path/to/repo --cxxversions c++26

# Run gcc 15 c++26 jobs
beman-local-ci -C /path/to/repo --compiler gcc --versions 15 --cxxversions c++26

# Run gcc 15 OR clang 21 libc++ jobs
beman-local-ci --compiler gcc --versions 15 --compiler clang --versions 21 --stdlibs libc++

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

beman_local_ci-0.3.2.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

beman_local_ci-0.3.2-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file beman_local_ci-0.3.2.tar.gz.

File metadata

  • Download URL: beman_local_ci-0.3.2.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for beman_local_ci-0.3.2.tar.gz
Algorithm Hash digest
SHA256 ee0ea3ffa5733314a29d55f0b964d667a768863331cfc58d2b78dfd7eb7d7302
MD5 7b58d2bb79062bc8644b1ea6b4f8c30e
BLAKE2b-256 de274a155736a5d263b737a1affde3c61769ef4b45a1510774e7b352372f3061

See more details on using hashes here.

Provenance

The following attestation bundles were made for beman_local_ci-0.3.2.tar.gz:

Publisher: publish.yml on bemanproject/beman-local-ci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file beman_local_ci-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: beman_local_ci-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for beman_local_ci-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 26a7b4b7a4c027699292a63d72b626531cdc236d9c15a203b23247dd91f171b4
MD5 a66cd8734a462a1484039b363e7d5783
BLAKE2b-256 3e459a8100cfd79040498161a1766959d955975f3fa3d48500afc9ea0356d04c

See more details on using hashes here.

Provenance

The following attestation bundles were made for beman_local_ci-0.3.2-py3-none-any.whl:

Publisher: publish.yml on bemanproject/beman-local-ci

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page