Search by

trafficops / tops-events

igor.olshevsky

Event catalogs, outbound delivery adapters and Eloquent event journals.

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

This package is auto-updated.

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


README

CI Release Packagist

Event catalogs, outbound delivery adapters and Eloquent event journals.

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

Module Documentation
event-catalog Usage and API
event-delivery Usage and API
model-events Usage and API

Install

Requires PHP 8.4 or later and Laravel 12.

composer require trafficops/tops-events

Laravel discovers the included service providers automatically. Read each module’s configuration and migration instructions before using it in an application.

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.

Tests use SQLite in memory by default. Set MODEL_EVENTS_DB=pgsql with MODEL_EVENTS_PG_HOST, MODEL_EVENTS_PG_PORT, MODEL_EVENTS_PG_DATABASE, MODEL_EVENTS_PG_USER and MODEL_EVENTS_PG_PASSWORD to run the model-events suite against PostgreSQL. Use a disposable test database: each test creates and drops its own model_events_test_<pid> schema. CI runs both modes.

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-events.
  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.