chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
# TODO(#9304): make the notebook export work
|
||||
name: Reusable Build and Upload Notebook
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
CONCURRENCY:
|
||||
required: true
|
||||
type: string
|
||||
WHEEL_ARTIFACT_NAME:
|
||||
required: false
|
||||
type: string
|
||||
default: ""
|
||||
|
||||
concurrency:
|
||||
group: ${{ inputs.CONCURRENCY }}-run-notebook
|
||||
cancel-in-progress: true
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash --noprofile --norc -euo pipefail {0}
|
||||
|
||||
permissions:
|
||||
contents: "read"
|
||||
id-token: "write"
|
||||
packages: "read"
|
||||
|
||||
jobs:
|
||||
run-notebook:
|
||||
name: Run notebook
|
||||
runs-on: ubuntu-latest-16-cores # Note that as of writing we need the additional storage page (14 gb of the ubuntu-latest runner is not enough).
|
||||
container:
|
||||
image: ghcr.io/rerun-io/ci_docker:0.18.0 # Required to run the wheel or we get "No matching distribution found for attrs>=23.1.0" during `pip install rerun-sdk`
|
||||
credentials:
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || '' }}
|
||||
|
||||
- uses: prefix-dev/setup-pixi@v0.10.0
|
||||
with:
|
||||
pixi-version: v0.71.3
|
||||
|
||||
- name: Download Wheel
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ inputs.WHEEL_ARTIFACT_NAME }}
|
||||
path: wheel
|
||||
|
||||
- name: Download Notebook Wheel
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: rerun_notebook_wheel
|
||||
path: wheel
|
||||
|
||||
- name: Get version
|
||||
id: get-version
|
||||
run: |
|
||||
pixi run 'echo "wheel_version=$(python scripts/ci/crates.py get-version)"' >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Install built wheel
|
||||
run: |
|
||||
pixi run python scripts/ci/uv_install_wheel.py --package rerun-sdk --dir wheel
|
||||
pixi run python scripts/ci/uv_install_wheel.py --package rerun-notebook --dir wheel --platform-independent
|
||||
|
||||
- name: Install Deps
|
||||
run: pixi run uv pip install -r examples/python/notebook/requirements.txt
|
||||
|
||||
- name: Create notebook
|
||||
run: pixi run uv jupyter nbconvert --to=html --ExecutePreprocessor.enabled=True examples/python/notebook/cube.ipynb --output /tmp/cube.html
|
||||
|
||||
- id: "auth"
|
||||
uses: google-github-actions/auth@v2
|
||||
with:
|
||||
workload_identity_provider: ${{ secrets.GOOGLE_WORKLOAD_IDENTITY_PROVIDER }}
|
||||
service_account: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
|
||||
|
||||
- name: Get sha
|
||||
id: get-sha
|
||||
run: |
|
||||
full_commit="${{ (github.event_name == 'pull_request' && github.event.pull_request.head.sha) || github.sha }}"
|
||||
echo "sha=$(echo $full_commit | cut -c1-7)" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: "Upload Notebook"
|
||||
uses: google-github-actions/upload-cloud-storage@v3
|
||||
with:
|
||||
path: "/tmp/cube.html"
|
||||
destination: "rerun-builds/commit/${{ steps.get-sha.outputs.sha }}/notebooks"
|
||||
parent: false
|
||||
process_gcloudignore: false
|
||||
Reference in New Issue
Block a user