Search by

trafficops / tops-runtime

igor.olshevsky

Typed macros, payload lookups, condition evaluation and PostgreSQL compilation.

v0.1.0 2026-09-17 11:51 UTC

This package is auto-updated.

Last update: 2026-09-17 11:57:43 UTC


README

CI Release Packagist

Typed macros, payload lookups, condition evaluation and PostgreSQL compilation.

One Composer package, trafficops/tops-runtime, with focused modules in packages/. The modules share releases and dependency resolution; no repository splitting or sibling path repositories are needed.

Module Documentation
macros Usage and API
conditions Usage and API

Install

Requires PHP 8.4 or later; the SQL compiler uses Illuminate Database 12 and PostgreSQL 16+.

composer require trafficops/tops-runtime

Import the classes under TrafficOps\Macros and TrafficOps\Conditions; no service provider is required.

Development

Run commands from the repository root:

composer install
composer check
composer build

composer check validates the manifest, checks PHP formatting and runs every module’s PHPUnit suite. composer format applies the formatting rules. composer build writes the distributable ZIP to dist/. The committed lock file makes contributor and CI installs reproducible; consumers resolve their own dependency set.

For PostgreSQL parity checks, set CONDITIONS_PG_DSN (for example pgsql:host=127.0.0.1;port=5432;dbname=trafficops_test), CONDITIONS_PG_USER and CONDITIONS_PG_PASSWORD. This test runs only SELECT queries and is skipped without a DSN. CI always runs it against PostgreSQL 16.

Releases and Packagist

The initial release line is v0.1.0; versions come from Git tags, not a hard-coded Composer version.

  1. Publish this repository at trafficops-io/tops-runtime.
  2. A maintainer must submit the repository to Packagist once and keep its GitHub auto-update integration enabled.
  3. Enable GitHub private vulnerability reporting in the repository settings.
  4. Push a semantic version tag, for example v0.1.0. The release workflow reruns CI on that exact tag for PHP 8.4 and 8.5, builds the archive, and publishes a GitHub release with the ZIP attached. Packagist indexes the tag through its GitHub integration.

PHP packages are indexed from this repository by Packagist; there is no archive upload to Packagist.

Contributing and security

See CONTRIBUTING.md, SECURITY.md and the MIT license.