Bump version to 1.9.0-rc.2 #1337
This file contains hidden or 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
# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. | |
# SPDX-License-Identifier: Apache-2.0 | |
# | |
# Licensed 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. | |
name: CI | |
on: | |
workflow_call: | |
workflow_dispatch: | |
push: | |
tags: | |
- v* | |
branches: | |
- main | |
- release-* | |
schedule: # Schedule workflow only runs on the default branch | |
- cron: "45 9 * * *" | |
jobs: | |
build-warp-windows: | |
runs-on: windows-2022 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- name: Install uv | |
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 | |
with: | |
version: "0.7.5" | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- name: Install CTK | |
uses: Jimver/[email protected] | |
id: cuda-toolkit | |
with: | |
sub-packages: '["cudart", "nvcc", "nvrtc_dev", "nvjitlink"]' | |
method: 'network' | |
- name: Install dependencies | |
run: | | |
uv venv | |
uv pip install --upgrade numpy | |
- name: Build | |
run: | | |
.venv\Scripts\activate | |
python build_lib.py | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-artifact-windows | |
path: ./warp/bin/ | |
build-warp-ubuntu-x86_64: | |
runs-on: ubuntu-22.04 | |
outputs: | |
artifact-url: ${{ steps.exports-header.outputs.artifact-url }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- name: Install uv | |
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 | |
with: | |
version: "0.7.5" | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- name: Install CTK | |
uses: Jimver/[email protected] | |
id: cuda-toolkit | |
with: | |
sub-packages: '["cudart-dev", "nvcc", "nvrtc-dev"]' | |
non-cuda-sub-packages: '["libnvjitlink-dev"]' | |
method: 'network' | |
- name: Install dependencies | |
run: | | |
uv venv | |
uv pip install --upgrade numpy | |
- name: Build Warp | |
run: | | |
source .venv/bin/activate | |
python build_lib.py | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-artifact-ubuntu-x86_64 | |
path: warp/bin/ | |
- name: Upload exports.h | |
uses: actions/upload-artifact@v4 | |
id: exports-header | |
with: | |
name: exports-header | |
path: warp/native/exports.h | |
build-warp-ubuntu-aarch64: | |
runs-on: ubuntu-22.04-arm | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- name: Install uv | |
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 | |
with: | |
version: "0.7.5" | |
- name: Set up Python | |
uses: actions/[email protected] | |
with: | |
python-version-file: '.python-version' | |
- name: Install CTK | |
uses: Jimver/[email protected] | |
id: cuda-toolkit | |
with: | |
sub-packages: '["cudart-dev", "nvcc", "nvrtc-dev"]' | |
non-cuda-sub-packages: '["libnvjitlink-dev"]' | |
method: 'network' | |
- name: Install dependencies | |
run: | | |
uv venv | |
uv pip install --upgrade numpy | |
- name: Build Warp | |
run: | | |
source .venv/bin/activate | |
python build_lib.py | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-artifact-ubuntu-aarch64 | |
path: warp/bin/ | |
build-warp-macos: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- name: Install uv | |
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 | |
with: | |
version: "0.7.5" | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- name: Install dependencies | |
run: | | |
uv venv | |
uv pip install --upgrade numpy | |
- name: Build | |
run: | | |
source .venv/bin/activate | |
python build_lib.py | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-artifact-macos | |
path: ./warp/bin/ | |
test-warp-windows: | |
runs-on: windows-latest | |
needs: build-warp-windows | |
env: | |
OS: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- name: Install uv | |
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 | |
with: | |
version: "0.7.5" | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- name: Download Warp build artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-artifact-windows | |
path: ./warp/bin/ | |
- name: Install Dependencies | |
run: | | |
uv venv | |
uv pip install --upgrade numpy usd-core Pillow | |
uv pip install -e . | |
- name: Run Tests | |
run: uv run -m warp.tests --junit-report-xml rspec.xml -s autodetect | |
- name: Test Summary | |
uses: test-summary/[email protected] | |
with: | |
paths: "rspec.xml" | |
show: "fail" | |
if: always() | |
test-warp-ubuntu-x86_64: | |
runs-on: ubuntu-latest | |
needs: build-warp-ubuntu-x86_64 | |
env: | |
OS: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- name: Install uv | |
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 | |
with: | |
version: "0.7.5" | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- name: Download Warp build artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-artifact-ubuntu-x86_64 | |
path: ./warp/bin/ | |
- name: Install Dependencies | |
run: | | |
uv venv | |
uv pip install --upgrade numpy usd-core Pillow | |
uv pip install -e . | |
- name: Run Tests | |
run: uv run -m warp.tests --junit-report-xml rspec.xml -s autodetect | |
- name: Test Summary | |
uses: test-summary/[email protected] | |
with: | |
paths: "rspec.xml" | |
show: "fail" | |
if: always() | |
test-warp-ubuntu-aarch64: | |
runs-on: ubuntu-22.04-arm | |
needs: build-warp-ubuntu-aarch64 | |
env: | |
OS: ubuntu-22.04-arm | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- name: Download Warp build artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-artifact-ubuntu-aarch64 | |
path: ./warp/bin/ | |
- name: Install Dependencies | |
run: | | |
python -m pip cache purge | |
python -m pip install --upgrade pip | |
pip install --no-cache-dir --upgrade numpy | |
pip install -e . | |
- name: Run Tests | |
run: python -m warp.tests --junit-report-xml rspec.xml -s autodetect | |
- name: Test Summary | |
uses: test-summary/[email protected] | |
with: | |
paths: "rspec.xml" | |
show: "fail" | |
if: always() | |
test-warp-macos: | |
runs-on: macos-latest | |
needs: build-warp-macos | |
env: | |
OS: macos-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- name: Install uv | |
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 | |
with: | |
version: "0.7.5" | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- name: Download Warp build artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-artifact-macos | |
path: ./warp/bin/ | |
- name: Install Dependencies | |
run: | | |
uv venv | |
uv pip install --upgrade numpy usd-core Pillow | |
uv pip install -e . | |
- name: Run Tests | |
run: uv run -m warp.tests --maxjobs 4 --junit-report-xml rspec.xml -s autodetect | |
- name: Test Summary | |
uses: test-summary/[email protected] | |
with: | |
paths: "rspec.xml" | |
show: "fail" | |
if: always() | |
pull-request-docs: | |
runs-on: ubuntu-latest | |
needs: build-warp-ubuntu-x86_64 | |
if: ${{ github.event_name == 'pull_request' }} | |
outputs: | |
artifact-url: ${{ steps.build-docs-output.outputs.artifact-url }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install uv | |
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 | |
with: | |
version: "0.7.5" | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: '.python-version' | |
- name: Download Warp binaries | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-artifact-ubuntu-x86_64 | |
path: warp/bin/ | |
- name: Install dependencies | |
run: | | |
uv venv | |
uv pip install -r docs/requirements.txt | |
- name: Build Sphinx documentation | |
run: | | |
source .venv/bin/activate | |
uv run build_docs.py --quick | |
- name: Upload artifacts | |
uses: actions/[email protected] | |
id: build-docs-output | |
with: | |
name: build-docs-output | |
path: | | |
warp/__init__.pyi | |
docs/modules/functions.rst | |
check-build-docs-output: | |
runs-on: ubuntu-latest | |
needs: pull-request-docs | |
if: ${{ github.event_name == 'pull_request' }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Download build_docs.py output | |
uses: actions/download-artifact@v4 | |
with: | |
name: build-docs-output | |
- name: Check functions.rst | |
env: | |
ARTIFACT_URL: ${{ needs.pull-request-docs.outputs.artifact-url }} | |
run: > | |
git diff --exit-code docs/modules/functions.rst || | |
(echo "Please run build_docs.py (or download from $ARTIFACT_URL) and add docs/modules/functions.rst to your pull request." && false) | |
- name: Check stubs | |
env: | |
ARTIFACT_URL: ${{ needs.pull-request-docs.outputs.artifact-url }} | |
run: > | |
git diff --exit-code warp/__init__.pyi || | |
(echo "Please run build_docs.py (or download from $ARTIFACT_URL) and add warp/__init__.pyi to your pull request." && false) | |
check-exports-header: | |
runs-on: ubuntu-latest | |
needs: build-warp-ubuntu-x86_64 | |
if: ${{ github.event_name == 'pull_request' }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Download exports.h | |
uses: actions/download-artifact@v4 | |
with: | |
name: exports-header | |
path: warp/native/ | |
- name: Check exports.h | |
env: | |
ARTIFACT_URL: ${{ needs.build-warp-ubuntu-x86_64.outputs.artifact-url }} | |
run: > | |
git diff --exit-code warp/native/exports.h || | |
(echo "Please run build_lib.py (or download from $ARTIFACT_URL) and add warp/native/exports.h to your pull request." && false) |