fd3f9e17b9
.github/actions/nova-cli/action.yml — composite action discovered by both the production forge (GitHub Actions) and the dev forge (act_runner) via the shared .github/actions/nova-cli/ path. No separate dev-forge action file is needed; the same path works on both platforms. Consumers reference it via a versioned tag pin: uses: <org>/<repo>/.github/actions/nova-cli@v1.28 inputs: - command (required) — the nova subcommand + args, passed verbatim to `nova` - contract (default .nova/contract.yml) — forwarded via NOVA_CONTRACT - mode (default "") — forwarded via NOVA_CLIENT_MODE (agent / interactive / plan-only / check-only); empty = let nova resolve - version (default "latest") — pin to a released wheel version for reproducible runs runs.using: composite with 3 steps: 1. actions/setup-python@v5 with python-version "3.12" (REQ-326 AC3) 2. Install Nova (CodeArtifact default + fallback index): - NOVA_CODEARTIFACT_DOMAIN set → aws codeartifact login --tool pip --domain $DOMAIN --repository nova-pypi → pip install nova==<ver> - else → pip install --index-url $NOVA_WHEEL_INDEX nova==<ver> Fails closed if neither is configured. 3. Run Nova: `nova ${{ inputs.command }}` with NOVA_CLIENT_MODE + NOVA_CONTRACT env from inputs. NFR-11 byte-identical cross-platform verification is a CI matrix job (production forge ubuntu-latest + dev forge act_runner with identical inputs, assert same stdout + exit code) — not reproducible in a unit test. Structural invariants are asserted by tests/test_forge_action_byte_identical.py (next commit). ---ci--- project: acdl phase: 1 milestone: v1.28 status: execute persona: backend-engineer ---/ci---