ci: add GitHub Pages deployment workflow for docs #7
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] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install hatch | |
| - name: Install promptpack package | |
| run: | | |
| cd packages/promptpack | |
| pip install -e ".[dev]" | |
| - name: Install promptpack-langchain package | |
| run: | | |
| cd packages/promptpack-langchain | |
| pip install -e ".[dev]" | |
| - name: Run promptpack tests | |
| run: | | |
| cd packages/promptpack | |
| pytest tests/ -v --tb=short | |
| - name: Run promptpack-langchain tests | |
| run: | | |
| cd packages/promptpack-langchain | |
| pytest tests/ -v --tb=short | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install linting tools | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install ruff mypy | |
| - name: Install packages for type checking | |
| run: | | |
| pip install pydantic langchain-core | |
| cd packages/promptpack && pip install -e . | |
| cd ../promptpack-langchain && pip install -e . | |
| - name: Run ruff linter | |
| run: ruff check packages/ | |
| - name: Run ruff formatter check | |
| run: ruff format --check packages/ | |
| - name: Run mypy on promptpack | |
| run: mypy packages/promptpack/src/promptpack --ignore-missing-imports | |
| - name: Run mypy on promptpack-langchain | |
| run: mypy packages/promptpack-langchain/src/promptpack_langchain --ignore-missing-imports |