name: publish pypi on: push: tags: - "v*" workflow_dispatch: permissions: {} env: UV_SYSTEM_PYTHON: "1" jobs: setup_release: name: Create Release runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout code uses: actions/checkout@v4 - name: Create release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: gh release create "$GITHUB_REF_NAME" --generate-notes pypi-publish: name: Upload release to PyPI runs-on: ubuntu-latest needs: [setup_release] environment: name: pypi url: https://pypi.org/p/axolotl permissions: contents: read id-token: write # IMPORTANT: this permission is mandatory for trusted publishing steps: - name: Check out repository code uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install uv uses: astral-sh/setup-uv@v7 - name: Install dependencies run: | uv pip install wheel packaging uv pip install --no-build-isolation -e . uv pip install black mypy pre-commit types-requests quartodoc jupyter blobfile tiktoken \ codecov codecov-cli pytest pytest-cov pytest-retry pytest-sugar pytest-xdist tbparse - name: Extract tag name id: tag run: echo "TAG_NAME=$(echo $GITHUB_REF | cut -d / -f 3)" >> "$GITHUB_OUTPUT" - name: Update version in VERSION file run: | echo "${{ steps.tag.outputs.TAG_NAME }}" | sed 's/^v//' > VERSION - name: Build a source dist run: | python setup.py sdist - name: Publish package distributions to PyPI uses: pypa/gh-action-pypi-publish@release/v1