Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .agents/skills/polyxml-codegen-workflow/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@ description: >-

# PolyXML Polyglot Codegen Development & Verification Playbook

## CI generated-consumer prerequisites

The Rust core tests execute Python dataclass/Pydantic models and call PolyXML XML
codecs. In the Rust CI job, install the editable Python extension with `[dev]`
extras into a dedicated Python 3.12+ venv **before** `cargo test`; prepend that
venv to `GITHUB_PATH` so subprocess `python3` uses the same interpreter. A local
gate's existing venv can hide this missing CI dependency. New all-seven consumer
tests require actual Java, Go, C++20, .NET and TypeScript tools; provision Node,
TypeScript, Java and Go explicitly rather than relying on the runner image.
Do not skip consumers to work around missing prerequisites.

## Inherited simpleContent

Normalize synthetic text fields only after root-level import/include merging and
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,34 @@ jobs:
with:
python-version: "3.12"

- name: Install uv
uses: astral-sh/setup-uv@v7

- name: Prepare Python generated-consumer environment
run: |
uv venv --python python .venv
uv pip install --python .venv/bin/python -e "./crates/polyxml-python[dev]"
echo "$PWD/.venv/bin" >> "$GITHUB_PATH"

- name: Set up generated-consumer Node.js
uses: actions/setup-node@v7
with:
node-version: "22"

- name: Install generated-consumer TypeScript compiler
run: npm install --global typescript@5.9.3

- name: Set up generated-consumer Java
uses: actions/setup-java@v6
with:
distribution: "temurin"
java-version: "25"

- name: Set up generated-consumer Go
uses: actions/setup-go@v7
with:
go-version: "1.26.x"

- name: Verify Multi-Language Version Parity
run: python scripts/sync_version.py --check

Expand Down
Loading