ci-tooling 2026-01-07
Major reusable workflow rewrite with inline steps and new composite actions
14 files · 699+ · 94-

Reusable workflow rewrite

3 files changed
  • python-ci.yml Rewrote with inline steps, added cache versioning, parallel-tests input, venv consistency
  • python-release.yml Expanded release workflow with build job and new configuration
  • python-security.yml Re-added security scanning workflow
  • Rewrote reusable CI workflow with inline steps to replace references to non-existent composite actions streamline architectural
    1 file
    • python-ci.yml
  • Added build job with dist upload, parallel-tests input, and cache version bumping to CI workflow streamline behavioral
    2 files
    • python-ci.yml
    • python-release.yml

Restored composite actions

4 files changed
  • action.yml Restored Python build composite action
  • action.yml Restored Python quality composite action
  • action.yml Restored Python test composite action
  • action.yml GitHub release composite action
  • Re-added python-build, python-quality, python-test, and github-release composite actions instantiate behavioral
    4 files
    • action.yml
    • action.yml
    • action.yml
    • action.yml

Quality and test scripts

6 files changed
  • run-ruff-lint.sh Ruff linting script
  • run-ruff-format.sh Ruff format checking script
  • run-mypy.sh Mypy type checking script
  • run-pytest.sh Pytest execution script
  • run-bandit.sh Bandit security scanning script
  • run-pip-audit.sh pip-audit dependency scanning script
  • Added shell scripts for quality checks (ruff, mypy), testing (pytest), and security scanning (bandit, pip-audit) instantiate internal
    4 files
    • run-ruff-lint.sh
    • run-mypy.sh
    • run-pytest.sh
    • run-bandit.sh
1 file changed
  • action.yml Fixed venv handling and uv group syntax
  • Fixed pytest-xdist execnet bootstrap failure by removing FORCE_COLOR, fixed coverage threshold passing, and venv activation issues remediate internal
    2 files
    • python-ci.yml
    • action.yml
  • Defaulted coverage threshold to 0 to let pyproject.toml control it, made PYPI_TOKEN optional harden internal
    2 files
    • python-ci.yml
    • python-release.yml