Skip to content

173-feature-setup-uv-lock #286

173-feature-setup-uv-lock

173-feature-setup-uv-lock #286

Workflow file for this run

name: mlinfra ci run
on:
push:
branches:
- main
pull_request:
branches:
- main
permissions:
contents: write
jobs:
lint:
name: Run code checks and formatting hooks
runs-on: ubuntu-latest
env:
MYPY_CACHE_DIR: "${{ github.workspace }}/.cache/mypy"
RUFF_CACHE_DIR: "${{ github.workspace }}/.cache/ruff"
PRE_COMMIT_HOME: "${{ github.workspace }}/.cache/pre-commit"
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # for documentation builds
- name: Set up Python and dependencies
uses: ./.github/actions/setup-python
- name: Cache pre-commit tools
uses: actions/cache@v4
with:
path: |
${{ env.MYPY_CACHE_DIR }}
${{ env.RUFF_CACHE_DIR }}
${{ env.PRE_COMMIT_HOME }}
key: ${{ runner.os }}-${{ hashFiles('uv.lock', '.pre-commit-config.yaml') }}-linter-cache
- name: Run pre-commit checks
uses: pre-commit/[email protected]
test:
name: Test mlinfra on ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python and dependencies
uses: ./.github/actions/setup-python
- name: Run Tests
run: |
uv run pytest
docs:
name: Build documentation for mlinfra
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python and dependencies
uses: ./.github/actions/setup-python
- name: Build documentation using mike
uses: ./.github/actions/mike-docs
with:
version: development
pre_release: true # include pre-release notification banner
push: ${{ github.ref == 'refs/heads/main' }} # build always, publish on 'main' only to prevent version clutter