Skip to content

Add sidecar runtime + packaging workflow#84

Merged
matthewhorridge merged 4 commits intomainfrom
feat/sidecar-runtime
Jan 27, 2026
Merged

Add sidecar runtime + packaging workflow#84
matthewhorridge merged 4 commits intomainfrom
feat/sidecar-runtime

Conversation

@matthewhorridge
Copy link
Contributor

Summary

  • Add a sidecar entrypoint with env var validation for API_HOST/API_PORT.
  • Add /shutdown endpoint with graceful termination behavior.
  • Add tests for sidecar env validation and shutdown scheduling.
  • Add PyInstaller packaging workflow and local build helper.
  • Document sidecar usage and packaging artifacts.

Testing

  • ============================= test session starts ==============================
    platform darwin -- Python 3.12.4, pytest-9.0.2, pluggy-1.6.0
    rootdir: /Users/matthewhorridge/IdeaProjects/harmonization-framework
    configfile: pyproject.toml
    plugins: anyio-4.12.1
    collected 8 items

tests/test_sidecar_config.py ........ [100%]

============================== 8 passed in 0.43s ===============================

  • ============================= test session starts ==============================
    platform darwin -- Python 3.12.4, pytest-9.0.2, pluggy-1.6.0
    rootdir: /Users/matthewhorridge/IdeaProjects/harmonization-framework
    configfile: pyproject.toml
    plugins: anyio-4.12.1
    collected 1 item

tests/test_shutdown_endpoint.py . [100%]

============================== 1 passed in 0.44s ===============================

Introduce a local sidecar entrypoint with env var validation.
Add /shutdown endpoint with graceful termination behavior.
Include sidecar usage notes in README and a CLI entrypoint.
Add tests for shutdown scheduling and env var validation.
Add a PyInstaller-based GitHub Actions workflow for sidecar packaging.
Provide a local build script mirroring CI.
Ignore build artifacts (dist/ and *.spec).
Add README notes describing sidecar packaging artifacts and output locations.
Emit JSON log lines to stdout and optionally to a file via API_LOG_PATH.
Wire uvicorn logs to the same handlers.
Add a basic log file test and update README.
@matthewhorridge matthewhorridge merged commit 3b74748 into main Jan 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant