Skip to content

ci: add quality gate workflow running make check and make validate (#23) - #34

Merged
Asaf-prog merged 3 commits into
extra-org:mainfrom
guyash1:ci/quality-gate-workflow
Jul 20, 2026
Merged

ci: add quality gate workflow running make check and make validate (#23)#34
Asaf-prog merged 3 commits into
extra-org:mainfrom
guyash1:ci/quality-gate-workflow

Conversation

@guyash1

@guyash1 guyash1 commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Closes #23.

Adds .github/workflows/ci.yml running make check (ruff + mypy + pytest) and make validate (offline validation of the flagship example) on every pull request and on pushes to main.

Per the issue's non-goals: single Python version as pinned in pyproject.toml (3.11), no version matrix, no caching tuning beyond pip cache in setup-python. A concurrency group cancels superseded runs of the same branch to save runner minutes.

Also includes a small cleanup commit fixing 5 pre-existing lint/mypy errors that were already on main (two unused imports, two overlong lines, one missing type annotation) — without it, the new CI would be red on its own PR.

Making the check job a required status check via branch protection on main remains a maintainer action (repo settings), as noted in the issue.

guyash1 added 3 commits July 19, 2026 08:53
Two unused imports, two overlong lines, and a missing dict annotation
that mypy flagged — all present on main before this branch; fixed here
so the new CI workflow passes on its own PR.
pydantic refuses typing.TypedDict on Python < 3.12, so FastMCP's schema
generation crashed the example MCP server at startup on CI's 3.11
(passed locally on 3.13). Caught by the new CI's first run.
@Asaf-prog Asaf-prog assigned Asaf-prog and guyash1 and unassigned Asaf-prog Jul 20, 2026
@Asaf-prog
Asaf-prog removed the request for review from AmitAvital1 July 20, 2026 21:13
@Asaf-prog
Asaf-prog merged commit b7a3fee into extra-org:main Jul 20, 2026
1 check passed
@Asaf-prog

Copy link
Copy Markdown
Collaborator

Please, the pipeline did not trigger automatically. Please fix it.

@guyash1

guyash1 commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

Hi @Asaf-prog — I looked into it. The workflow itself is fine (it ran and passed on several PRs this week, e.g. #39 and #41). The runs that didn't start — like #42 right now — are stuck in action_required: GitHub's default protection that requires a maintainer to approve workflow runs for first-time contributors submitting from forks. That's a repo setting, not something the workflow file can change.

Two options (maintainer-only):

  1. Per-PR: open the stuck PR's Checks/Actions tab and click "Approve and run". Once a contributor has a merged PR, their future runs trigger automatically.
  2. Permanent: Settings → Actions → General → "Fork pull request workflows from outside collaborators" — relax it to only require approval for brand-new GitHub accounts. Slight security trade-off (anyone's fork PR can consume runner minutes), your call.

One thing I'd advise against: switching the trigger to pull_request_target would make runs start automatically, but it executes untrusted fork code with elevated repo permissions — a known security foot-gun, so I didn't do that.

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.

No CI workflow runs the quality gate — make check never runs on a PR

2 participants