Skip to content

ci: pin actions, add scanners and stats card, restore required checks - #64

Merged
trsdn merged 3 commits into
mainfrom
standard/1.18.1-pipeline
Sep 21, 2026
Merged

trsdn merged 3 commits into
mainfrom
standard/1.18.1-pipeline

Conversation

@trsdn

@trsdn trsdn commented Sep 21, 2026 •

Copy link
Copy Markdown
Owner

Part 2 of 3 of the Repository Quality Standard 1.18.1 rollout (pipeline).

  • S12: pin the outside actions that run in jobs with a secret or write access (11 references) to commit SHAs with a version comment.
  • S11: declare permissions on test.yml and security.yml (this also clears eight actions/missing-workflow-permissions code scanning alerts).
  • S05/R09/P13: add the shared secret scan and the shared CodeQL workflow (languages actions, python). CodeQL default setup is not-configured, so the repository's own workflow is the scanner, per the CodeQL guide.
  • P09: add the stats caller (card on the stats branch, because main is protected). The README card follows in the record pull request, once the first run has produced it.
  • P08: README badges reordered to the convention; the CI badge pointed at a workflow named CI that does not exist, so it now points at ci-gates.yml; licence and Python badges are derived instead of typed.
  • Restore the required checks: Integration Smoke Tests and Quick Security Scan were defined only in fast-tests.yml, manual-only since [Feature]: Simplify CI checks and consolidate required gates #58, so pull requests waited on them forever. They are now jobs of ci-gates.yml; this pull request is the first to report them.

Verified locally: ruff format --check ., ruff check ., smoke tests (7 passed) and bandit --severity-level high all pass. The workflow changes are verified by this pull request's own run.

🤖 Generated with Claude Code

https://claude.ai/code/session_01CdiwBVuH6DCEtFPPwxbXKc

trsdn and others added 3 commits September 21, 2026 21:24
…ts callers

- Pin the third-party actions that run in jobs with a secret or write access to
  a commit SHA (S12) and declare workflow permissions on test.yml and
  security.yml (S11).
- Add the shared secret scan and CodeQL workflows as callers. Default setup is
  not configured, so the repository's own CodeQL workflow is the scanner (P13).
- Add the repository stats caller, writing the card to the `stats` branch, and
  show it in the README (P09).
- Point the README badges at what they report: CI at ci-gates.yml (the workflow
  named CI does not exist), licence and Python version derived instead of typed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CdiwBVuH6DCEtFPPwxbXKc
Branch protection requires "Integration Smoke Tests" and "Quick Security Scan".
Both were defined only in fast-tests.yml, which is manual-only since the CI
consolidation, so neither reported on pull requests and every pull request
waited on them. Define them in ci-gates.yml and gate "All CI Gates Passed" on
them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CdiwBVuH6DCEtFPPwxbXKc
The card is generated on the `stats` branch by the first run of the new
workflow, which can only start once the workflow is on main. Linking it now
fails the link check with a 404.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CdiwBVuH6DCEtFPPwxbXKc
@github-actions

Copy link
Copy Markdown
Contributor

🔍 PR Analysis Results

PR: #64 | Commit: 6145589892265416c786d9cd7d22b4ad5fe60416

🎨 Code Formatting

✅ All files properly formatted

🔧 Code Linting

✅ No linting issues found

📝 Type Checking

❌ Type checking issues found

Click to see type issues
usage: mypy [-h] [-v] [-V] [more options; see below]
            [-m MODULE] [-p PACKAGE] [-c PROGRAM_TEXT] [files ...]
mypy: error: unrecognized arguments: --json-report mypy_report.json

Fix: Add proper type annotations and resolve type errors

🔒 Security Analysis

✅ No security issues detected

📊 Test Coverage Analysis

✅ Coverage 81.81818181818181% meets 80% requirement

🧹 Dead Code Analysis

✅ Dead code analysis completed

📋 Summary

⚠️ Found 1 issue(s) that should be addressed:

  • 📝 Types: Issues found

🔧 Quick Fix Commands:

# Fix formatting and auto-fixable linting issues
ruff format .
ruff check . --fix

# Run tests with coverage
pytest tests/unit/ --cov=markitdown_mcp --cov-report=term-missing

# Check security
bandit -r markitdown_mcp/

This analysis was automatically generated by the PR feedback workflow.
Report generated at 2026-09-21 19:38:03 UTC

@github-actions

Copy link
Copy Markdown
Contributor

🔍 CI Quality Gates Summary

Overall Status: ✅ All Passed

Check Status Details Action Required
🎨 Format ✅ Passed ruff format check None
🔧 Lint ✅ Passed ruff linting None
📝 Types ✅ Passed mypy type checking None
🧪 Tests ✅ Passed Unit tests None
📊 Coverage 81.8% Minimum: 80% None
🔌 MCP ✅ Valid Protocol compliance None
🔒 Security ✅ Clean Dependency audit None

🔗 Quick Links

🛠️ Quick Fix Commands

# Fix most issues automatically
ruff format .
ruff check . --fix

# Run tests locally
pytest tests/unit/ --cov=markitdown_mcp

# Check types
mypy markitdown_mcp

Last updated: 2026-09-21 19:38:18 UTC

@github-actions

Copy link
Copy Markdown
Contributor

🔍 PR Quality Summary

CI Status

⚪ Tests: pending
✅ Docs: success
✅ Security: success
✅ Quality: success

Metrics

Metric Value Trend
📊 Coverage N/A -
🧪 Tests Test results unavailable -
⏱️ Performance No performance data -

Quality Checks

  • Format & Lint: Ruff formatting and linting
  • Type Safety: MyPy strict type checking
  • Security: Bandit, Safety, GitLeaks scanning
  • MCP Protocol: Tool schema validation
  • Documentation: Docstring coverage (80%+)

MCP Tools

  • convert_file - Convert individual files to Markdown
  • convert_directory - Batch convert directories
  • list_supported_formats - Query supported file types

🤖 Auto-generated by CI • Last updated: 2026-09-21 19:39 UTC

@trsdn
trsdn merged commit 13cdbd4 into main Sep 21, 2026
37 checks passed
@trsdn
trsdn deleted the standard/1.18.1-pipeline branch September 21, 2026 19:41
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.

1 participant