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 and populate cache uses: astral-sh/setup-uv@v6 with: version: "0.8.4" python-version: ${{ matrix.python-version }} enable-cache: true - name: Install dependencies run: uv sync --all-groups --all-extras --frozen --no-install-project