GitHub Actions PyPI Automation

Job ID: 40025717

Budget: $250 – $750 USD

I’ve built a Python library called github.com/dullfig/xml-pipeline that relies on tree-sitter. Most of the codebase and a first draft of the workflow were generated with Grok, but the release pipeline still needs love. The repository already contains a `setup.cfg`, `pyproject.toml`, and an initial GitHub Actions workflow, yet the current steps don’t reliably build wheels or push a tagged release to PyPI.

Here’s where I need your help:

• Refine the existing GitHub Actions file so that every push to a version tag triggers a clean build and packaging job.
• Make sure both sdist and universal/appropriate platform wheels are produced, handling the tree-sitter dependency correctly.
• Add a publish step that uploads the artifacts to Test PyPI first and, when I flip a flag or create a “release” tag, to the real PyPI.
• Keep caching and matrix runs lean to avoid unnecessary minutes while still testing on the latest Linux, macOS, and Windows Python versions.
• Update any packaging metadata or `pyproject.toml` settings required for a smooth `pip install xml-pipeline` experience.

Acceptance criteria
– `gh workflow run` (or a pushed tag) completes green on GitHub Actions.
– Artifacts show the expected wheel and sdist in the build tab.
– A dry-run against Test PyPI succeeds; a real run publishes 1.0.0 without manual tweaks.

You’re free to reuse parts of the current YAML, but I’m counting on you to perfect it and document any secrets or environment variables I need to add to the repo settings.