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.1.tar.gz (14.4 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.1-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: beman_local_ci-0.3.1.tar.gz
  • Upload date:
  • Size: 14.4 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.1.tar.gz
Algorithm Hash digest
SHA256 8dcdabe949f8a8b804661776a71aed099bee893f483809af116cfaa7b5c9a928
MD5 f778cda21016ea964a8b13aa25a7cc08
BLAKE2b-256 25c1d8242565e72e3e80f41c238a00bb9713e613a31525193c9c3db1d4adc90b

See more details on using hashes here.

Provenance

The following attestation bundles were made for beman_local_ci-0.3.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: beman_local_ci-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 18.0 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 37fe9a846bd33e7bf685c03aa3cc5a25863ca7bf92b44d3040c0d266eae8ef81
MD5 edd8a864e2834e843559de5d23d32f2b
BLAKE2b-256 9dd8c07a0deac4170b5da7c4c0603e553410d7870b953884341b3f7f6ce1d858

See more details on using hashes here.

Provenance

The following attestation bundles were made for beman_local_ci-0.3.1-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