Reusable GitHub Actions workflows, composite actions, uv caching
.github/workflows/ci.yml, deploy-api.yml, train.yml, release.yml)._test.yml, _build.yml, _deploy.yml) called via uses: ./.github/workflows/_test.yml..github/actions/setup-python, setup-node) for shared setup steps.- uses: astral-sh/setup-uv@v5
with:
enable-cache: true
cache-dependency-glob: "**/uv.lock"
- run: uv sync --frozen --all-extras --dev
Cache hit rate is near-100% because uv.lock is committed.
- uses: pnpm/action-setup@v4
with: { version: 9 }
- uses: actions/setup-node@v4
with: { node-version: 22, cache: pnpm }
- run: pnpm install --frozen-lockfile
Lint/type on single version; tests on matrix.