40 lines
1.0 KiB
YAML
40 lines
1.0 KiB
YAML
name: CI
|
|
|
|
# Minimal, network-light gate: byte-compile the package and smoke the CLI
|
|
# entrypoint. The `--help` path imports only the stdlib + lazy deps, so it
|
|
# needs no network and never boots the runtime or touches the mesh.
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.11'
|
|
|
|
- name: Byte-compile the package (offline)
|
|
run: |
|
|
python -m py_compile $(find src/molecules_workspace -name '*.py')
|
|
|
|
- name: "Install the CLI (base deps httpx + PyYAML)"
|
|
run: pip install -e .
|
|
|
|
- name: "CLI --help smoke (no network) - both console scripts"
|
|
run: |
|
|
molecules --help
|
|
molecules-workspace --help
|
|
molecules --version
|
|
|
|
- name: "Unit tests (hermetic synthetic templates SSOT, no network)"
|
|
run: |
|
|
pip install pytest
|
|
python -m pytest tests/ -q
|