Skip to content

Crossbow

Crossbow #220738

Workflow file for this run

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# NOTE: must set "Crossbow" as name to have the badge links working in the
# github comment reports!
name: Crossbow
on:
push:
branches:
- "*-github-*"
jobs:
test:
name: Build Docs
runs-on: ubuntu-latest
env:
UBUNTU: "22.04"
steps:
- name: Checkout Arrow
uses: actions/checkout@v4
with:
fetch-depth: 1
path: arrow
repository: kou/arrow
ref: 7ab6a3eab9054e919641171c0dd988d2e4d97b8a
submodules: recursive
- name: Free up disk space
if: runner.os == 'Linux' && runner.arch == 'X64'
shell: bash
run: |
arrow/ci/scripts/util_free_space.sh
- name: Set up Python by actions/setup-python
if: runner.arch == 'X64'
uses: actions/setup-python@v4
with:
cache: 'pip'
python-version: 3.12
- name: Set up Python by apt
if: runner.os == 'Linux' && runner.arch != 'X64'
run: |
sudo apt update
sudo apt-get install -y python3-pip
pip install -U pip
echo "$HOME/.local/bin" >>"$GITHUB_PATH"
- name: Install Archery
shell: bash
run: pip install -e arrow/dev/archery[all]
- name: Execute Docker Build
shell: bash
env:
ARROW_JAVA_SKIP_GIT_PLUGIN: true
run: |
archery docker run \
-e SETUPTOOLS_SCM_PRETEND_VERSION="16.0.0.dev255" \
-v $PWD/build/:/build/ \
ubuntu-docs \
- name: Checkout Crossbow
uses: actions/checkout@v4
with:
ref: main
path: crossbow
fetch-depth: 1
- name: Prepare Docs Preview
run: |
# build files are created by the docker user
sudo chown -R ${USER}: build
# These are only used while generating the page
rm -rf build/docs/.doctrees
- name: Upload preview to S3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.CROSSBOW_DOCS_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CROSSBOW_DOCS_AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ secrets.CROSSBOW_DOCS_S3_BUCKET_REGION }}
BUCKET: ${{ secrets.CROSSBOW_DOCS_S3_BUCKET }}
run: |
aws s3 cp build/docs/ $BUCKET/pr_docs/40442/ --recursive
echo ":open_book: You can find the preview here: http://crossbow.voltrondata.com/pr_docs/40442" >> $GITHUB_STEP_SUMMARY
- name: Prepare Docs artifacts
run: |
cd build
sudo chown -R ${USER}: .
tar cvzf docs.tar.gz docs
- name: Set up Python by actions/setup-python
if: runner.arch == 'X64'
uses: actions/setup-python@v4
with:
python-version: 3.12
- name: Set up Python by apt
if: runner.os == 'Linux' && runner.arch != 'X64'
run: |
sudo apt update
sudo apt install -y \
libgit2-dev \
libpython3-dev \
python3-pip
sudo python3 -m pip install --upgrade pip
- name: Checkout Crossbow
uses: actions/checkout@v4
with:
path: crossbow
ref: actions-20569c1b70
- name: Setup Crossbow
shell: bash
run: |
python3 -m pip install -e arrow/dev/archery[crossbow]
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Upload artifacts
shell: bash
run: |
archery crossbow \
--queue-path $(pwd)/crossbow \
--queue-remote https://github.com/ursacomputing/crossbow \
upload-artifacts \
--sha actions-20569c1b70-github-preview-docs \
--tag actions-20569c1b70-github-preview-docs \
"build/docs.tar.gz"
env:
CROSSBOW_GITHUB_TOKEN: ${{ secrets.CROSSBOW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
- name: Verify uploaded artifacts
shell: bash
run: |
archery crossbow \
--queue-path $(pwd)/crossbow \
--queue-remote https://github.com/ursacomputing/crossbow \
status \
--task-filter 'preview-docs' \
--no-fetch \
--validate \
actions-20569c1b70
env:
CROSSBOW_GITHUB_TOKEN: ${{ secrets.CROSSBOW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}