docs: daily maintenance loop — 2026-06-27 #237
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main, develop] | |
| pull_request: | |
| branches: [main, develop] | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: 'pip' | |
| - run: pip install -e ".[dev]" | |
| - run: ruff check src/ tests/ | |
| - run: ruff format --check src/ tests/ | |
| - name: Check for duplicate migration numbers | |
| run: | | |
| cd src/social_hook/db/migrations | |
| dupes=$(ls *.sql 2>/dev/null | sed 's/_.*//' | sort | uniq -d) | |
| if [ -n "$dupes" ]; then | |
| echo "::error::Duplicate migration numbers: $dupes" | |
| exit 1 | |
| fi | |
| docs-freshness: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: 'pip' | |
| - run: pip install -e ".[dev]" | |
| - name: Check CLI docs are up to date | |
| run: | | |
| python scripts/generate_cli_docs.py | |
| git diff --exit-code site-docs/cli/ | |
| typecheck: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: 'pip' | |
| - run: pip install -e ".[dev]" | |
| - run: mypy src/social_hook/ | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: 'pip' | |
| - run: pip install -e ".[dev]" | |
| - name: Run tests with coverage | |
| if: matrix.python-version == '3.12' | |
| run: pytest tests/ -q --cov=social_hook --cov-report=xml | |
| env: | |
| COLUMNS: "200" | |
| NO_COLOR: "1" | |
| - name: Run tests | |
| if: matrix.python-version != '3.12' | |
| run: pytest tests/ -q | |
| env: | |
| COLUMNS: "200" | |
| NO_COLOR: "1" | |
| - name: Upload coverage to Codecov | |
| if: matrix.python-version == '3.12' | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: coverage.xml | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| fail_ci_if_error: false |