perf: Use two-pass algorithm for csv to ensure correctness and SIMDize more ~17%
#8363
Workflow file for this run
This file contains 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: Build Python documentation | |
on: | |
pull_request: | |
paths: | |
- py-polars/docs/** | |
- py-polars/polars/** | |
- .github/workflows/docs-python.yml | |
push: | |
branches: | |
- main | |
paths: | |
- py-polars/docs/** | |
- py-polars/polars/** | |
- .github/workflows/docs-python.yml | |
repository_dispatch: | |
types: | |
- python-release | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
jobs: | |
build-python-docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.client_payload.sha }} | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- name: Create virtual environment | |
run: | | |
curl -LsSf https://astral.sh/uv/install.sh | sh | |
uv venv | |
echo "$GITHUB_WORKSPACE/.venv/bin" >> $GITHUB_PATH | |
echo "VIRTUAL_ENV=$GITHUB_WORKSPACE/.venv" >> $GITHUB_ENV | |
- name: Install Python dependencies | |
working-directory: py-polars/docs | |
run: uv pip install -r requirements-docs.txt | |
- name: Build Python documentation | |
working-directory: py-polars/docs | |
env: | |
POLARS_VERSION: ${{ github.event.client_payload.tag || 'main' }} | |
run: make html | |
- name: Deploy Python docs for latest development version | |
if: github.event_name == 'push' && github.ref_name == 'main' | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
folder: py-polars/docs/build/html | |
target-folder: api/python/dev | |
single-commit: true | |
- name: Parse the tag to find the major version of Polars | |
id: version | |
if: github.event_name == 'repository_dispatch' | |
shell: bash | |
run: | | |
tag="${{ github.event.client_payload.tag }}" | |
regex="py-([0-9]+)\.[0-9]+\.[0-9]+.*" | |
[[ $tag =~ $regex ]] | |
version=${BASH_REMATCH[1]} | |
echo "version=$version" >> "$GITHUB_OUTPUT" | |
- name: Deploy Python docs for latest release version - versioned | |
if: github.event_name == 'repository_dispatch' | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
folder: py-polars/docs/build/html | |
target-folder: api/python/version/${{ steps.version.outputs.version }} | |
single-commit: true | |
- name: Deploy Python docs for latest release version - stable | |
if: github.event_name == 'repository_dispatch' && github.event.client_payload.is_prerelease == 'false' | |
uses: JamesIves/github-pages-deploy-action@v4 | |
with: | |
folder: py-polars/docs/build/html | |
target-folder: api/python/stable | |
single-commit: true | |
# Build global docs _after_ this workflow to avoid contention on the gh-pages branch | |
- name: Trigger global docs workflow | |
if: github.event_name == 'repository_dispatch' | |
uses: peter-evans/repository-dispatch@v3 | |
with: | |
event-type: python-release-docs | |
client-payload: > | |
{ | |
"sha": "${{ github.event.client_payload.sha }}" | |
} |