Commit Graph

24 Commits

Author SHA1 Message Date
yusyus
0c9504c944 fix(ci): rename summary job to 'Tests' to match branch protection rule
The branch protection requires a status check named 'Tests', but
GitHub reports checks using job names, not the workflow name. The
summary job was named 'All Checks Complete' which never satisfied
the required check, leaving PRs permanently stuck as 'Expected —
Waiting for status to be reported'.

Fix: rename the summary job from 'All Checks Complete' to 'Tests'
so it matches the required status check exactly.
2026-03-15 01:39:58 +03:00
yusyus
0ca271cdcb fix: use grep instead of tomllib for version check in release workflow
tomllib is only available in Python 3.11+, but the release workflow
runs on Python 3.10. Replace with grep/sed which works everywhere.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 21:14:31 +03:00
Claude
fca89e6ee1 fix: add explicit release name and version consistency checks to release workflow
The GitHub release was showing v3.1.3 instead of v3.2.0 because:
1. No explicit `name` was set on the GitHub release action, relying on
   defaults that could be unreliable
2. The sed command for extracting release notes used unescaped dots in
   the version regex, which could match wrong versions
3. No fallback if release notes extraction produced an empty file

Changes:
- Add explicit `name` and `tag_name` to softprops/action-gh-release
- Add version consistency check (tag vs pyproject.toml vs package)
- Escape dots in sed regex for exact version matching
- Add fallback when release notes extraction produces empty output

https://claude.ai/code/session_015hYfpKhFH3GSMVSKgA4JVd
2026-03-02 07:10:59 +00:00
yusyus
73adda0b17 docs: update all chunk flag names to match renamed CLI flags
Replace all occurrences of old ambiguous flag names with the new explicit ones:
  --chunk-size (tokens)  → --chunk-tokens
  --chunk-overlap        → --chunk-overlap-tokens
  --chunk                → --chunk-for-rag
  --streaming-chunk-size → --streaming-chunk-chars
  --streaming-overlap    → --streaming-overlap-chars
  --chunk-size (pages)   → --pdf-pages-per-chunk

Updated: CLI_REFERENCE (EN+ZH), user-guide (EN+ZH), integrations (Haystack,
Chroma, Weaviate, FAISS, Qdrant), features/PDF_CHUNKING, examples/haystack-pipeline,
strategy docs, archive docs, and CHANGELOG.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 22:15:14 +03:00
yusyus
ba9a8ff8b5 docs: complete documentation overhaul with v3.1.0 release notes and zh-CN translations
Documentation restructure:
- New docs/getting-started/ guide (4 files: install, quick-start, first-skill, next-steps)
- New docs/user-guide/ section (6 files: core concepts through troubleshooting)
- New docs/reference/ section (CLI_REFERENCE, CONFIG_FORMAT, ENVIRONMENT_VARIABLES, MCP_REFERENCE)
- New docs/advanced/ section (custom-workflows, mcp-server, multi-source)
- New docs/ARCHITECTURE.md - system architecture overview
- Archived legacy files (QUICKSTART.md, QUICK_REFERENCE.md, docs/guides/USAGE.md) to docs/archive/legacy/

Chinese (zh-CN) translations:
- Full zh-CN mirror of all user-facing docs (getting-started, user-guide, reference, advanced)
- GitHub Actions workflow for translation sync (.github/workflows/translate-docs.yml)
- Translation sync checker script (scripts/check_translation_sync.sh)
- Translation helper script (scripts/translate_doc.py)

Content updates:
- CHANGELOG.md: [Unreleased] → [3.1.0] - 2026-02-22
- README.md: updated with new doc structure links
- AGENTS.md: updated agent documentation
- docs/features/UNIFIED_SCRAPING.md: updated for unified scraper workflow JSON config

Analysis/planning artifacts (kept for reference):
- DOCUMENTATION_OVERHAUL_PLAN.md, DOCUMENTATION_OVERHAUL_SUMMARY.md
- FEATURE_GAP_ANALYSIS.md, IMPLEMENTATION_GAPS_ANALYSIS.md, CREATE_COMMAND_COVERAGE_ANALYSIS.md
- CHINESE_TRANSLATION_IMPLEMENTATION_SUMMARY.md, ISSUE_260_UPDATE.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 01:01:51 +03:00
yusyus
aa952aff81 ci: Update setup-python to v5 and add Python version verification 2026-02-08 23:24:37 +03:00
yusyus
8b3f31409e fix: Enforce min_chunk_size in RAG chunker
- Filter out chunks smaller than min_chunk_size (default 100 tokens)
- Exception: Keep all chunks if entire document is smaller than target size
- All 15 tests passing (100% pass rate)

Fixes edge case where very small chunks (e.g., 'Short.' = 6 chars) were
being created despite min_chunk_size=100 setting.

Test: pytest tests/test_rag_chunker.py -v
2026-02-07 20:59:03 +03:00
yusyus
2d038e25c0 ci: Add PyPI publishing to release workflow
- Build package with uv
- Publish to PyPI using UV_PUBLISH_TOKEN secret
- Automates PyPI release alongside GitHub release
2026-02-01 17:31:18 +03:00
yusyus
97272a8989 ci: Fix release workflow - install uv and initialize submodules
Fixes release build failures:

1. Install uv for bootstrap skill tests
   - Added step to install uv from astral.sh
   - Fixes 7 bootstrap test failures (test_bootstrap_skill*.py)

2. Initialize git submodules
   - Added 'submodules: recursive' to checkout action
   - Fixes test_cli_all_flag_lists_configs (needs configs submodule)

This ensures all 1200+ tests pass in release builds.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-18 14:22:10 +03:00
yusyus
5d1a84d100 fix: Correct uv installation PATH in CI workflow
The uv installer puts the binary in ~/.local/bin but the workflow was
adding ~/.cargo/bin to PATH, causing 'uv: command not found' errors.

Fixed bootstrap E2E tests failing on Python 3.10 and 3.11.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-17 22:29:32 +03:00
yusyus
d81a5a8080 fix: Install ruff and mypy explicitly in lint CI job
The lint job was failing with 'ruff: command not found' because
dependency-groups in pyproject.toml require newer pip/setuptools to work.

Install ruff and mypy directly before installing the package to ensure
they're available for the linting steps.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-17 22:23:34 +03:00
yusyus
b837244e42 ci: Add ruff and mypy code quality checks to GitHub Actions
Completes issue #250 by adding automated code quality checks to CI.

New 'lint' job runs before tests with:
- Ruff linter (ruff check) - catches code smells and errors
- Ruff formatter (ruff format --check) - ensures consistent formatting
- Mypy type checker - validates type annotations

Configuration:
- Runs on ubuntu-latest with Python 3.12
- Uses existing ruff/mypy config from pyproject.toml (PR #251)
- Mypy continues on error (gradual typing adoption)
- Both lint and test jobs must pass for PR approval

Benefits:
- Enforces code quality standards automatically
- Catches formatting issues before code review
- Prevents regressions in code style
- Complements existing test suite

Related:
- Issue #250 (request for linters)
- PR #251 (added ruff/mypy config and formatted codebase)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-17 21:46:04 +03:00
yusyus
6244c41ac0 ci: Add uv installation to GitHub Actions workflow
Fix bootstrap test failures in CI by installing uv package manager.

The bootstrap script (scripts/bootstrap_skill.sh) requires uv to run,
which was causing 7 bootstrap E2E tests to fail in CI with:
  'uv: command not found'

Changes:
- Install uv via official installer (works on Ubuntu & macOS)
- Add uv to PATH for subsequent steps

This resolves the failing tests from PR #251 merge.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-17 21:11:15 +03:00
yusyus
f4d427b0e8 ci: Initialize git submodules in GitHub Actions workflow
Fix test failure for test_cli_all_flag_lists_configs by ensuring
api/configs_repo submodule is initialized during checkout.

The test expects configs in api/configs_repo/official/ but the
submodule was not being initialized, causing the directory to be
empty and the test to fail.

Related:
- Commit 1cbb8fe: Added api/configs_repo as git submodule
- Commit f5f37f6: Updated render.yaml for Render deployment

This completes the submodule integration for both:
- Production (Render API deployment)
- CI/CD (GitHub Actions tests)

Fixes: FAILED tests/test_estimate_pages.py::TestEstimatePagesCLI::test_cli_all_flag_lists_configs
2026-01-14 23:25:39 +03:00
yusyus
998be0d2dd fix: Update setup_mcp.sh for v2.0.0 src/ layout + test fixes (#201)
Merges setup_mcp.sh fix for v2.0.0 src/ layout + test updates.

Original fix by @501981732 in PR #197.
Test updates to make CI pass.

Closes #192
2025-11-29 21:34:51 +03:00
yusyus
30d7ff555a fix: Install package in CI for src/ layout compatibility
- Add pip install -e . to install package in editable mode
- Update coverage path from cli/ to src/skill_seekers/
- Required for tests to import skill_seekers module

Fixes CI test failures: ModuleNotFoundError: No module named 'skill_seekers'
2025-11-11 23:14:44 +03:00
yusyus
1bf53423dc Fix Release workflow - use requirements.txt and correct MCP path
- Changed from manual pip install to using requirements.txt
- Fixed mcp/requirements.txt -> skill_seeker_mcp/requirements.txt
- This ensures all dependencies (including httpx) are installed

Fixes the v2.0.0 tag Release workflow failure
2025-10-26 17:48:23 +03:00
yusyus
7a27af99a2 fix: Update GitHub Actions workflow for refactored package structure
Fix test failures in CI by updating dependencies installation:
- Install from requirements.txt (includes httpx for async support)
- Update path: mcp/ → skill_seeker_mcp/
- Fix coverage command to use correct package name

Fixes ModuleNotFoundError: No module named 'httpx' in CI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 13:21:39 +03:00
yusyus
a0298b884a fix: Add summary job to resolve CI merge blocking issue
Adds 'tests-complete' summary job that:
- Provides single status check for branch protection
- Only passes when all matrix tests succeed
- Fixes "Tests" check always showing as pending
- Resolves PR merge blocking issue

This ensures PRs can auto-merge once all 5 matrix jobs pass.
2025-10-25 14:54:33 +03:00
yusyus
05dc5c1cf6 Update GitHub Actions to use development branch
Changed:
- tests.yml: Run on 'development' instead of 'dev'
- Triggers on push to: main, development
- Triggers on PRs to: main, development

This ensures:
 All PRs to development run tests
 Pushes to development run tests
 Branch protection can require 'Tests' check
 CI works with new two-branch workflow

Related: Two-branch workflow setup

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 23:35:47 +03:00
yusyus
8f062bb96c Fix GitHub Actions release workflow permissions
Problem:
- Release workflow failing with "Resource not accessible by integration"
- Missing permissions for GITHUB_TOKEN to create releases
- Workflow tried to create releases that already exist manually

Fix:
1. Added `permissions: contents: write` at workflow level
   - Grants GITHUB_TOKEN permission to create/edit releases
   - Required for softprops/action-gh-release@v1

2. Added release existence check before creation
   - Prevents errors when release already exists
   - Skips creation gracefully with informative message
   - Useful for manually created releases (like v1.1.0)

Changes:
- Line 8-9: Added permissions section
- Line 48-57: Check if release exists with gh CLI
- Line 59-60: Only create if release doesn't exist
- Line 69-73: Skip message when release already exists

This allows:
- Automatic release creation on new tags
- Manual release creation without workflow conflicts
- Proper error handling and user feedback

Related: GitHub Actions permissions model
https://docs.github.com/en/actions/security-guides/automatic-token-authentication

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-22 23:13:55 +03:00
yusyus
b83f276621 Update Python requirement to 3.10+ for MCP compatibility
The MCP package requires Python 3.10 or higher. Updated:
- GitHub Actions workflow to test Python 3.10, 3.11, 3.12
- README.md badge to Python 3.10+
- CLAUDE.md prerequisites
- CONTRIBUTING.md prerequisites
- docs/MCP_SETUP.md prerequisites

This fixes the MCP installation error in CI:
'ERROR: No matching distribution found for mcp>=1.0.0'

MCP package versions 0.9.1+ all require Python 3.10+.
2025-10-19 22:53:28 +03:00
yusyus
9ce78e9a16 Fix GitHub Actions workflow: Update Python version requirements
- Update CI workflow to Python 3.9-3.12 (from 3.7-3.11)
- Python 3.7 and 3.8 no longer available on ubuntu-latest (Ubuntu 24.04)
- Add fail-fast: false to continue testing on failures
- Update all documentation to reflect Python 3.9+ requirement

Files updated:
- .github/workflows/tests.yml - New Python versions
- README.md - Badge updated to Python 3.9+
- CLAUDE.md - Prerequisites updated
- CONTRIBUTING.md - Prerequisites updated
- docs/MCP_SETUP.md - Prerequisites updated

This fixes the failing GitHub Actions tests.
2025-10-19 22:49:14 +03:00
yusyus
517ed46338 Add project infrastructure and documentation
Infrastructure:
- Add GitHub Actions workflows (tests.yml, release.yml)
- Add CHANGELOG.md with full version history
- Add CONTRIBUTING.md with contribution guidelines
- Add RELEASE_NOTES_v1.0.0.md for v1.0.0 release

Documentation:
- Update README.md with version badge (v1.0.0)
- Update test count badge (14 tests)
- Add links to new documentation files

Features:
- CI/CD pipeline with automated testing
- Multi-OS testing (Ubuntu, macOS)
- Multi-Python version testing (3.7-3.11)
- Automated release creation on tag push
- Code coverage reporting

This completes the v1.0.0 production release setup.
2025-10-19 22:37:55 +03:00