release datafusion-python 42.1.0 #711
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
on: | |
push: | |
branches: | |
- main | |
tags-ignore: | |
- "**-rc**" | |
pull_request: | |
branches: | |
- main | |
name: Deploy DataFusion Python site | |
jobs: | |
debug-github-context: | |
name: Print github context | |
runs-on: ubuntu-latest | |
steps: | |
- name: Dump GitHub context | |
env: | |
GITHUB_CONTEXT: ${{ toJson(github) }} | |
run: | | |
echo "$GITHUB_CONTEXT" | |
build-docs: | |
name: Build docs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set target branch | |
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref_type == 'tag') | |
id: target-branch | |
run: | | |
set -x | |
if test '${{ github.ref }}' = 'refs/heads/main'; then | |
echo "value=asf-staging" >> "$GITHUB_OUTPUT" | |
elif test '${{ github.ref_type }}' = 'tag'; then | |
echo "value=asf-site" >> "$GITHUB_OUTPUT" | |
else | |
echo "Unsupported input: ${{ github.ref }} / ${{ github.ref_type }}" | |
exit 1 | |
fi | |
- name: Checkout docs sources | |
uses: actions/checkout@v4 | |
- name: Checkout docs target branch | |
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref_type == 'tag') | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
ref: ${{ steps.target-branch.outputs.value }} | |
path: docs-target | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.11" | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v3 | |
with: | |
version: '27.4' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install dependencies | |
run: | | |
set -x | |
python3 -m venv venv | |
source venv/bin/activate | |
pip install -r requirements-311.txt | |
pip install -r docs/requirements.txt | |
- name: Build Datafusion | |
run: | | |
set -x | |
source venv/bin/activate | |
maturin develop | |
- name: Build docs | |
run: | | |
set -x | |
source venv/bin/activate | |
cd docs | |
make html | |
- name: Copy & push the generated HTML | |
if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref_type == 'tag') | |
run: | | |
set -x | |
cd docs-target | |
# delete anything but: 1) '.'; 2) '..'; 3) .git/ | |
find ./ | grep -vE "^./$|^../$|^./.git" | xargs rm -rf | |
cp ../.asf.yaml . | |
cp -r ../docs/build/html/* . | |
git status --porcelain | |
if [ "$(git status --porcelain)" != "" ]; then | |
git config user.name "github-actions[bot]" | |
git config user.email "github-actions[bot]@users.noreply.github.com" | |
git add --all | |
git commit -m 'Publish built docs triggered by ${{ github.sha }}' | |
git push || git push --force | |
fi |