Release 0.14.21 #847
Workflow file for this run
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: Publish packages | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| types: | |
| - closed | |
| branches: | |
| - main | |
| permissions: | |
| contents: write | |
| id-token: write | |
| attestations: write | |
| jobs: | |
| publish-core: | |
| if: github.repository == 'run-llama/llama_index' && (github.event_name == 'workflow_dispatch' || (github.event.pull_request.merged == true && github.event.pull_request.head.ref == vars.RELEASE_BRANCH_NAME)) | |
| runs-on: ubuntu-latest | |
| outputs: | |
| version: ${{ steps.build-publish-core.outputs.version }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install uv and set python version | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: "3.10" | |
| - name: Install core dependencies | |
| working-directory: llama-index-core | |
| run: | | |
| uv sync | |
| - name: Populate nltk/tiktoken cache | |
| working-directory: llama-index-core | |
| run: | | |
| uv run python -c "from llama_index.core.utils import globals_helper; print(globals_helper.stopwords); print(globals_helper.punkt_tokenizer)" | |
| uv run python -c "from llama_index.core.utils import get_tokenizer; print(get_tokenizer())" | |
| uv run python -c "from llama_index.core.utils import get_tokenizer; print(get_tokenizer('gpt-5-mini'))" | |
| - name: Generate build provenance attestations | |
| uses: actions/attest-build-provenance@v4 | |
| id: attest | |
| with: | |
| subject-path: "llama-index-core/llama_index/core/_static/**/*" | |
| - name: Ensure tests pass | |
| working-directory: llama-index-core | |
| run: | | |
| uv run pytest tests | |
| - name: Build and publish llama-index-core | |
| working-directory: llama-index-core | |
| run: | | |
| uv sync | |
| uv build | |
| uv publish --token ${{ secrets.LLAMA_INDEX_PYPI_TOKEN }} | |
| - name: Check PyPI is ready | |
| working-directory: llama-dev | |
| timeout-minutes: 5 | |
| run: | | |
| until uv run -- llama-dev --repo-root .. release check | |
| do | |
| echo "Check failed. Retrying in 10 seconds..." | |
| sleep 10 | |
| done | |
| notify-workflows-py: | |
| name: Trigger llama-index-core bump in workflows-py | |
| runs-on: ubuntu-latest | |
| needs: publish-core | |
| steps: | |
| - name: Generate GitHub App Token | |
| id: app-token | |
| uses: actions/create-github-app-token@v3 | |
| with: | |
| app-id: ${{ secrets.CI_BOT_APP_ID }} | |
| private-key: ${{ secrets.CI_BOT_PRIVATE_KEY }} | |
| owner: run-llama | |
| - name: Trigger repository_dispatch | |
| uses: peter-evans/repository-dispatch@v4 | |
| with: | |
| token: ${{ steps.app-token.outputs.token }} | |
| repository: run-llama/workflows-py | |
| event-type: llama-index-core-release | |
| build-n-publish: | |
| name: Build and publish 'llama-index' to PyPI | |
| runs-on: ubuntu-latest | |
| needs: publish-core | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install uv and set python version | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: "3.10" | |
| - name: Get version | |
| id: get_version | |
| working-directory: llama-dev | |
| run: | | |
| VERSION=$(uv run -- llama-dev --repo-root .. pkg info --json . | jq -r .version) | |
| echo "version=$VERSION" >> $GITHUB_OUTPUT | |
| - name: Install deps | |
| shell: bash | |
| run: uv sync | |
| - name: Build and publish to pypi | |
| run: | | |
| uv sync | |
| uv build | |
| uv publish --token ${{ secrets.LLAMA_INDEX_PYPI_TOKEN }} | |
| - name: Generate Release Notes | |
| uses: CSchoel/release-notes-from-changelog@v1 | |
| with: | |
| version: "$(date +'%Y-%m-%d')" | |
| begin-pattern: "/^## \\[$(date +'%Y-%m-%d')\\]/" | |
| end-pattern: "/^## \\[/" | |
| working-directory: "." | |
| - name: Create GitHub Release | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| gh release create "v${{ steps.get_version.outputs.version }}" \ | |
| --title "v${{ steps.get_version.outputs.version }}" \ | |
| --notes-file RELEASE.md \ | |
| dist/*.tar.gz |