Skip to content

CI version matrix and celery timeout bounds for large file parsing#144

Merged
wpak-ai merged 3 commits into
cppalliance:developfrom
whisper67265:fix/python-matrix-and-celery-timeout
Jun 25, 2026
Merged

CI version matrix and celery timeout bounds for large file parsing#144
wpak-ai merged 3 commits into
cppalliance:developfrom
whisper67265:fix/python-matrix-and-celery-timeout

Conversation

@whisper67265

@whisper67265 whisper67265 commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Close #131, close #133.

Summary by CodeRabbit

  • New Features
    • Added configurable Celery add-or-update task soft/hard timeout settings via BOOST_TASK_SOFT_TIME_LIMIT and BOOST_TASK_TIME_LIMIT (with defaults and validation).
    • Expanded CI to run tests/coverage on a Python 3.12/3.13/3.14 matrix.
  • Bug Fixes
    • Soft time-limit overruns now surface as a clear task_timeout error with relevant metadata.
  • Documentation
    • Updated README and endpoint/deployment docs with the new timeout behavior and environment configuration.
  • Tests
    • Added test coverage for timeout configuration and timeout-to-error mapping.

@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c6114cea-f2ad-40da-8a25-1d281e593833

📥 Commits

Reviewing files that changed from the base of the PR and between 5c7a69b and 0c505c3.

📒 Files selected for processing (5)
  • .github/WORKFLOWS.md
  • CHANGELOG.md
  • README.md
  • docs/boost-endpoint-api.md
  • docs/deployment-runbook.md
✅ Files skipped from review due to trivial changes (4)
  • docs/deployment-runbook.md
  • .github/WORKFLOWS.md
  • CHANGELOG.md
  • docs/boost-endpoint-api.md

📝 Walkthrough

Walkthrough

The PR adds configurable soft and hard time limits for add-or-update Celery tasks, maps soft timeouts to a typed endpoint error, and updates CI and package metadata for Python 3.14.

Changes

Celery add-or-update task timeouts

Layer / File(s) Summary
Timeout settings
.env.example, src/boost_weblate/settings_override.py, tests/test_settings_override.py, docs/deployment-runbook.md, docs/boost-endpoint-api.md, README.md
BOOST_TASK_SOFT_TIME_LIMIT and BOOST_TASK_TIME_LIMIT are added, parsed from the environment, validated, and documented.
Task timeout mapping
src/boost_weblate/endpoint/errors.py, src/boost_weblate/endpoint/tasks.py, tests/endpoint/test_views.py, CHANGELOG.md
boost_add_or_update_task applies the timeout constants and converts SoftTimeLimitExceeded into BoostEndpointErrorCode.TASK_TIMEOUT, with endpoint tests covering both behaviors.
Project docs surface
CHANGELOG.md
The release notes and public surface formatting are updated for the timeout and CI changes.

Python 3.14 CI support

Layer / File(s) Summary
CI matrix and artifact naming
.github/workflows/ci-test.yml, .github/WORKFLOWS.md, README.md
test-and-coverage runs against Python 3.12, 3.13, and 3.14 with matrix-based setup and versioned coverage artifacts, and the workflow docs and README describe the matrix.
Python 3.14 classifier
pyproject.toml
The project classifiers list includes Python 3.14.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related issues

Possibly related PRs

Suggested reviewers

  • henry0816191
  • wpak-ai

Poem

I hopped through the queue with a twitch of my nose,
Soft limits, hard limits — that’s how the tale goes.
If a task runs too long, I’ll thump and say “nay,”
Then Python 3.14 joins the build parade.
🐇 Hop-hop, the carrots are crisp today!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 30.77% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and matches the two main changes: CI matrix updates and Celery timeout bounds.
Linked Issues check ✅ Passed The changes satisfy #131 by adding configurable limits, timeout mapping, env docs, and load-time validation.
Out of Scope Changes check ✅ Passed The modified files align with the PR goals and supporting documentation, with no clear unrelated code changes.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@henry0816191 henry0816191 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please update related documentations such as docs/boost-endpoint-api.md, readme.md, .github/WORKFLOWS.md and so on

@henry0816191 henry0816191 requested a review from wpak-ai June 25, 2026 20:17
@wpak-ai wpak-ai merged commit 24dc26b into cppalliance:develop Jun 25, 2026
22 of 23 checks passed
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.

CI version matrix: cover declared Python 3.13 support Celery timeout bounds for large file parsing

3 participants