| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- name: Upload LightRAG-hku Package
- on:
- release:
- types: [published]
- workflow_dispatch:
- permissions:
- contents: read
- jobs:
- release-build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v6
- with:
- fetch-depth: 0 # Fetch all history for tags
- # Build frontend WebUI
- - name: Setup Bun
- uses: oven-sh/setup-bun@v2
- with:
- bun-version: latest
- - name: Build Frontend WebUI
- run: |
- cd lightrag_webui
- bun install --frozen-lockfile
- bun run build
- cd ..
- - name: Verify Frontend Build
- run: |
- if [ ! -f "lightrag/api/webui/index.html" ]; then
- echo "❌ Error: Frontend build failed - index.html not found"
- exit 1
- fi
- echo "✅ Frontend build verified"
- echo "Frontend files:"
- ls -lh lightrag/api/webui/ | head -10
- - uses: actions/setup-python@v6
- with:
- python-version: "3.x"
- - name: Resolve release version
- id: get_version
- run: |
- if [ "${{ github.event_name }}" = "release" ] && [ -n "${{ github.event.release.tag_name }}" ]; then
- TAG="${{ github.event.release.tag_name }}"
- else
- TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
- fi
- if [ -z "$TAG" ]; then
- echo "No git tag found for release build"
- exit 1
- fi
- PACKAGE_VERSION="${TAG#v}"
- echo "Found tag: $TAG"
- echo "Package version: $PACKAGE_VERSION"
- echo "version=$TAG" >> $GITHUB_OUTPUT
- echo "package_version=$PACKAGE_VERSION" >> $GITHUB_OUTPUT
- - name: Update version definitions
- run: |
- python scripts/release/set_version.py --core-version "${{ steps.get_version.outputs.package_version }}"
- grep '__version__ = ' lightrag/_version.py
- - name: Build release distributions
- run: |
- python -m pip install build
- python -m build
- - name: Upload distributions
- uses: actions/upload-artifact@v7
- with:
- name: release-dists
- path: dist/
- pypi-publish:
- runs-on: ubuntu-latest
- needs:
- - release-build
- permissions:
- id-token: write
- environment:
- name: pypi
- steps:
- - name: Retrieve release distributions
- uses: actions/download-artifact@v8
- with:
- name: release-dists
- path: dist/
- - name: Publish release distributions to PyPI
- uses: pypa/gh-action-pypi-publish@release/v1
- with:
- packages-dir: dist/
|