refactor: improve flow handling, typing, and logging; update UI and t… #22
  
    
      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: Build uv cache | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - "uv.lock" | |
| - "pyproject.toml" | |
| schedule: | |
| - cron: "0 0 */5 * *" # Run every 5 days at midnight UTC to prevent cache expiration | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| build-cache: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13"] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| version: "0.8.4" | |
| python-version: ${{ matrix.python-version }} | |
| enable-cache: false | |
| - name: Install dependencies and populate cache | |
| run: | | |
| echo "Building global UV cache for Python ${{ matrix.python-version }}..." | |
| uv sync --all-groups --all-extras --no-install-project | |
| echo "Cache populated successfully" | |
| - name: Save uv caches | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: | | |
| ~/.cache/uv | |
| ~/.local/share/uv | |
| .venv | |
| key: uv-main-py${{ matrix.python-version }}-${{ hashFiles('uv.lock') }} |