DroidMind

by hyperb1iss
Verified
name: DroidMind CI/CD on: push: branches: [main] tags: - "v*" # Push events to matching v*, i.e. v1.0, v20.15.10 pull_request: branches: [main] workflow_dispatch: # Allow manual triggering jobs: build-and-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: 💿 Set up Python uses: actions/setup-python@v5 with: python-version: "3.13" cache-dependency-path: "pyproject.toml" - name: 🛠️ Set up uv uses: astral-sh/setup-uv@v5 with: version: "0.6.3" - name: 📦 Install dependencies run: uv sync - name: 🔍 Ruff lint check uses: astral-sh/ruff-action@v3 with: version: latest - name: 🧪 Run tests run: uv run pytest create-release: needs: [build-and-test] runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/') permissions: contents: write steps: - uses: actions/checkout@v4 - name: 🏷️ Create Release uses: softprops/action-gh-release@v2 with: name: Release ${{ github.ref_name }} generate_release_notes: true publish: needs: create-release runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/') permissions: id-token: write # For trusted publishing steps: - uses: actions/checkout@v4 - name: 💿 Set up Python uses: actions/setup-python@v5 with: python-version: "3.13" - name: 🛠️ Set up uv uses: astral-sh/setup-uv@v5 - name: 📦 Build package run: | uv pip install build uv run python -m build - name: 🚀 Publish to PyPI uses: pypa/gh-action-pypi-publish@release/v1
ID: p03zdsi6ol