Skip to content
Draft
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
54 changes: 54 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
version: 2

updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
assignees:
- "kalil0321"
groups:
python-security:
applies-to: "security-updates"
patterns:
- "*"

- package-ecosystem: "npm"
directory: "/website"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
assignees:
- "kalil0321"
groups:
website-security:
applies-to: "security-updates"
patterns:
- "*"

- package-ecosystem: "npm"
directory: "/src/reverse_api/cursor_bridge"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
assignees:
- "kalil0321"
groups:
cursor-bridge-security:
applies-to: "security-updates"
patterns:
- "*"

- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
assignees:
- "kalil0321"
groups:
actions-security:
applies-to: "security-updates"
patterns:
- "*"
87 changes: 87 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: CI

on:
pull_request:
push:
branches:
- main

permissions:
contents: read

jobs:
python:
name: Python
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6

- name: Install uv and Python
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
python-version: "3.13"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Python CI omits supported 3.11 and 3.12

The package declares support for Python 3.11 and later, including 3.11, 3.12, and 3.13 classifiers, but this job installs and tests only Python 3.13. A dependency, syntax, or runtime regression specific to 3.11 or 3.12 can therefore merge without being exercised, despite those interpreters being supported for users. Run the test job through a matrix covering at least Python 3.11, 3.12, and 3.13, or narrow the published support range.

Artifacts

Python CI compatibility coverage validation source

  • The executable validator reads package metadata and workflow version selectors from a requested Git revision and fails when a supported minor version is not selected by CI.

Python CI coverage before PR workflow was introduced

  • Executed against origin/main, the validator shows metadata supports Python 3.11 through 3.13 but no CI workflow existed before the PR.

Python CI coverage after PR workflow was introduced

  • Executed against HEAD, the validator shows CI selects only 3.13 and misses supported 3.11 and 3.12, confirming the coverage gap.

View artifacts

T-Rex Ran code and verified through T-Rex

Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/ci.yml
Line: 23

Comment:
**Python CI omits supported 3.11 and 3.12**

The package declares support for Python 3.11 and later, including 3.11, 3.12, and 3.13 classifiers, but this job installs and tests only Python 3.13. A dependency, syntax, or runtime regression specific to 3.11 or 3.12 can therefore merge without being exercised, despite those interpreters being supported for users. Run the test job through a matrix covering at least Python 3.11, 3.12, and 3.13, or narrow the published support range.

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

enable-cache: true

- name: Install dependencies
run: uv sync --locked --all-extras --dev

- name: Run tests
run: uv run --frozen pytest -q

website:
name: Website
runs-on: ubuntu-latest
defaults:
run:
working-directory: website
steps:
- name: Check out repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6

- name: Install pnpm
uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
with:
version: "10.17.1"

- name: Install Node.js
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
with:
node-version: "22"
cache: "pnpm"
cache-dependency-path: website/pnpm-lock.yaml

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Check types
run: pnpm run types:check

- name: Lint
run: pnpm run lint

- name: Build
run: pnpm run build

cursor-bridge:
name: Cursor Bridge
runs-on: ubuntu-latest
defaults:
run:
working-directory: src/reverse_api/cursor_bridge
steps:
- name: Check out repository
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6

- name: Install Node.js
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
with:
node-version: "22"
cache: "npm"
cache-dependency-path: src/reverse_api/cursor_bridge/package-lock.json

- name: Install dependencies
run: npm ci

- name: Check bridge syntax
run: node --check run.mjs
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ dependencies = [
"requests>=2.33.0",
"aiohttp>=3.13.4",
"pygments>=2.20.0",
"cryptography>=46.0.7",
"cryptography>=48.0.1",
]

[project.optional-dependencies]
Expand Down
Loading
Loading