Skip to content

Claude/setup cicd release workflow 2kbyj#22

Merged
EshwarCVS merged 5 commits intomasterfrom
claude/setup-cicd-release-workflow-2kbyj
Apr 17, 2026
Merged

Claude/setup cicd release workflow 2kbyj#22
EshwarCVS merged 5 commits intomasterfrom
claude/setup-cicd-release-workflow-2kbyj

Conversation

@EshwarCVS
Copy link
Copy Markdown
Collaborator

Summary

Changes

Checklist

  • Tests pass locally (pytest --cov=FasterAPI)
  • Benchmarks not regressed (check the automated benchmark comment on this PR)
  • New features include tests
  • Docstrings added/updated for public APIs
  • README.md or wiki updated if user-facing behavior changed

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Performance improvement
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Refactoring (no functional changes)

Related Issues

claude and others added 5 commits April 14, 2026 19:40
- auto-tag-release: fire on every master PR merge (patch default),
  not just labeled PRs — ensures every master merge triggers a v* tag
  which in turn drives PyPI + Docker + GitHub Release via release.yml
- release: remove publish-testpypi-master job (master no longer
  publishes to TestPyPI; stable releases flow through v* tags only)
- release: remove master from on.push.branches (no direct branch
  publish from master; all PyPI releases are tag-driven)
- release: decouple github-release from publish-docker so GitHub
  Release and PyPI versions stay aligned regardless of Docker status
- release: update channel mapping comment to reflect three-lane model:
  dev → TestPyPI (0.0.0.devN), stage → TestPyPI (0.0.0aN),
  master → PyPI (vX.Y.Z via auto-tag)

https://claude.ai/code/session_011TVGTau9dgMHDuCo9qrDNV
…3.13 CI

- benchmarks/update_readme_benchmarks.py: remove extra blank line after
  import block (ruff I001 - import block un-sorted or un-formatted)
- FasterAPI/response.py: cast msgspec.json.encode() return value to bytes
  in JSONResponse._render so mypy strict no-any-return check passes
  (msgspec stubs type the return as Any; cast is zero-cost at runtime)

https://claude.ai/code/session_011TVGTau9dgMHDuCo9qrDNV
Align feature branch with the rebuilt stage content:
- release.yml: 2-branch model (stage → TestPyPI, v* tag → PyPI)
- auto-tag-release.yml: master+stage only, no dev-v prefix

https://claude.ai/code/session_011TVGTau9dgMHDuCo9qrDNV
@github-actions
Copy link
Copy Markdown
Contributor

Benchmark results

Ubuntu runner, Python 3.13. HTTP table uses the same httpx load against uvicorn (Python) and Fiber (Go). Direct ASGI (below) is Python-only and excludes network I/O.

🟢 Benchmark status: improvement detected.

HTTP throughput (FasterAPI vs FastAPI vs Fiber)

Endpoint FasterAPI FastAPI Fiber (Go) F / Fast
GET /health 475/s 477/s 482/s 1.00x
GET /users/{id} 520/s 512/s 516/s 1.02x
POST /users 437/s 450/s 449/s 0.97x

Direct ASGI (no HTTP; 50,000 iterations)

Endpoint FasterAPI FastAPI Speedup vs README ASGI ratio
GET /health 210,615/s 19,640/s 10.72x +56.6%
GET /users/{id} 182,911/s 13,700/s 13.35x +52.9%
POST /users 107,288/s 10,926/s 9.82x +37.3%

Routing (radix vs regex, 1,500,000 lookups)

Router Ops/s Speedup vs README
Radix 946,389 9.6x +26.0%
Regex 98,854 1.0x
How to read this
  • F / Fast = FasterAPI req/s ÷ FastAPI req/s on the same HTTP harness (higher is better).
  • Fiber uses the Go app in benchmarks/fiber (same routes). Go is often several times faster than Python here; the important guard for regressions is check_regressions.py (ASGI + routing floors), which must pass in this workflow.
  • vs README compares combined speedups to documented reference numbers (local machine); CI absolute req/s differs by hardware.

@EshwarCVS EshwarCVS merged commit 462032e into master Apr 17, 2026
4 of 5 checks passed
@EshwarCVS EshwarCVS deleted the claude/setup-cicd-release-workflow-2kbyj branch April 17, 2026 02:25
EshwarCVS added a commit that referenced this pull request Apr 17, 2026
…rkflow-2kbyj

Claude/setup cicd release workflow 2kbyj
EshwarCVS added a commit that referenced this pull request Apr 17, 2026
…rkflow-2kbyj

Claude/setup cicd release workflow 2kbyj
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants