Skip to content

Commit

Permalink
Merge branch 'ershi/update-release-pipelines' into 'main'
Browse files Browse the repository at this point in the history
Update release pipelines for CUDA 12.5

See merge request omniverse/warp!563
  • Loading branch information
mmacklin committed Jun 10, 2024
2 parents e3c9923 + 79e41a2 commit 94df2fe
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 65 deletions.
65 changes: 55 additions & 10 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ include: /.gitlab/ci/common.yml

workflow:
rules:
- if: $CI_PROJECT_PATH != "omniverse/warp" # Prevent fork pipelines
- if: $CI_PROJECT_ROOT_NAMESPACE != "omniverse" # Prevent pipelines that can't access the runners
when: never
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
- if: $CI_COMMIT_TAG # Run for tagged releases
Expand All @@ -26,7 +26,7 @@ workflow:
auto_cancel:
on_new_commit: none
on_job_failure: none
- if: $CI_COMMIT_BRANCH =~ /release-.*/
- if: $CI_COMMIT_BRANCH =~ /^release-.*/
- if: $CI_PIPELINE_SOURCE == "web" # Run if triggered from the UI

variables:
Expand Down Expand Up @@ -272,7 +272,7 @@ windows-x86_64 test mgpu:
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_COMMIT_TAG
- if: $CI_COMMIT_BRANCH =~ /release-.*/
- if: $CI_COMMIT_BRANCH =~ /^release-.*/
- when: manual # Can be triggered in all other scenarios
allow_failure: true
before_script:
Expand Down Expand Up @@ -340,7 +340,7 @@ trigger python 3.X test pipelines:
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_COMMIT_TAG
- if: $CI_COMMIT_BRANCH =~ /release-.*/
- if: $CI_COMMIT_BRANCH =~ /^release-.*/
- when: manual # Can be triggered in all other scenarios
allow_failure: true
variables:
Expand Down Expand Up @@ -380,7 +380,7 @@ trigger debug build and test pipeline:
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_COMMIT_TAG
- if: $CI_COMMIT_BRANCH =~ /release-.*/
- if: $CI_COMMIT_BRANCH =~ /^release-.*/
- when: manual # Can be triggered in all other scenarios
allow_failure: true
variables:
Expand Down Expand Up @@ -408,7 +408,7 @@ trigger cuda 11 pipeline:
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_COMMIT_TAG
- if: $CI_COMMIT_BRANCH =~ /release-.*/
- if: $CI_COMMIT_BRANCH =~ /^release-.*/
- when: manual # Can be triggered in all other scenarios
allow_failure: true
variables:
Expand Down Expand Up @@ -445,7 +445,7 @@ create pypi wheels:
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
- if: $CI_COMMIT_TAG
- if: $CI_COMMIT_BRANCH =~ /release-.*/
- if: $CI_COMMIT_BRANCH =~ /^release-.*/
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
changes:
- pyproject.toml
Expand All @@ -470,13 +470,20 @@ create pypi wheels:
- sed -i "s/^\(.*\)+cu12$/\1+cpu/" VERSION.md # Modify VERSION.md with +cu12 replaced by +cpu
- python3 -m build --wheel -C--build-option=-Pmacos-universal
- sed -i "s/^\(.*\)+cpu$/\1/" VERSION.md # Revert VERSION.md changes
- mv dist dist-github
# Now make the wheels meant for PyPI publishing
- python3 -m build --wheel -C--build-option=-Pwindows-x86_64
- python3 -m build --wheel -C--build-option=-Plinux-x86_64
- python3 -m build --wheel -C--build-option=-Plinux-aarch64
- python3 -m build --wheel -C--build-option=-Pmacos-universal
- find . -type f -exec chmod 664 {} +
- find . -type d -exec chmod 775 {} +
artifacts:
name: $CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA
expose_as: "Python Wheels"
paths:
- "dist/"
- "dist-github/"
when: always

# ==============================================================================
Expand All @@ -486,21 +493,59 @@ create pypi wheels:
# GitLab service.
# ==============================================================================

publish wheels to testpypi registry:
stage: deploy
image: python:3.11-slim
needs: ["create pypi wheels"]
extends:
- .runner-utility-linux-x86_64
rules:
- if: $PARENT_COMMIT_BRANCH =~ /release-.*/
when: manual
allow_failure: true
environment:
name: staging
url: https://test.pypi.org/project/warp-lang/
before_script:
- python3 -m pip install --upgrade pip
- python3 -m pip install --upgrade build twine
script:
- python3 -m twine upload --verbose --skip-existing --non-interactive --repository testpypi dist/* -u __token__ -p $TESTPYPI_DEPLOY_KEY

publish wheels to pypi registry:
stage: deploy
image: python:3.11-slim
needs: ["create pypi wheels"]
extends:
- .runner-utility-linux-x86_64
rules:
- if: $PARENT_COMMIT_BRANCH =~ /release-.*/
when: manual
allow_failure: true
environment:
name: production
url: https://pypi.org/project/warp-lang/
before_script:
- python3 -m pip install --upgrade pip
- python3 -m pip install --upgrade build twine
script:
- python3 -m twine upload --verbose --skip-existing --non-interactive dist/* -u __token__ -p $PYPI_DEPLOY_KEY

publish wheels to gitlab pypi registry:
stage: deploy
image: python:3.11-slim
needs: ["create pypi wheels"]
extends:
- .runner-utility-linux-x86_64
rules:
- if: $CI_COMMIT_BRANCH =~ /release-.*/
- if: $CI_COMMIT_BRANCH =~ /^release-.*/
when: manual
allow_failure: true
before_script:
- python3 -m pip install --upgrade pip
- python3 -m pip install --upgrade build twine
script:
- TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python3 -m twine upload --verbose --skip-existing --non-interactive --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist/*
- TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python3 -m twine upload --verbose --skip-existing --non-interactive --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist-github/*

# Uploads the wheels to the internal GitLab package registry in the Warp project
# Generated files will be in a branch/tag-specific folder
Expand All @@ -510,7 +555,7 @@ publish wheels to gitlab package registry:
extends:
- .runner-utility-linux-x86_64
rules:
- if: $CI_COMMIT_BRANCH =~ /release-.*/
- if: $CI_COMMIT_BRANCH =~ /^release-.*/
- when: manual # If not auto-triggered, allow any pipeline to run this job manually
allow_failure: true
before_script:
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
^[Native C++/CUDA] @mmacklin @lwawrzyniak @ncapens
/warp/native/

^[Volumes] @gklar
^[Volumes] @gdaviet @gklar
/warp/native/nanovdb/
/warp/native/volume*
/warp/tests/test_volume_write.py
Expand Down
52 changes: 4 additions & 48 deletions .gitlab/ci/cuda-11-build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -205,21 +205,13 @@ create pypi wheels:
- sed -i "s/^\(.*\)+cu11$/\1+cpu/" VERSION.md # Modify VERSION.md with +cu12 replaced by +cpu
- python3 -m build --wheel -C--build-option=-Pmacos-universal
- sed -i "s/^\(.*\)+cpu$/\1/" VERSION.md # Revert VERSION.md changes
- mkdir -p dist-github
- mv dist/* dist-github/
# Now make the wheels meant for PyPI publishing
- python3 -m build --wheel -C--build-option=-Pwindows-x86_64
- python3 -m build --wheel -C--build-option=-Plinux-x86_64
- python3 -m build --wheel -C--build-option=-Plinux-aarch64
- python3 -m build --wheel -C--build-option=-Pmacos-universal
- find . -type f -exec chmod 664 {} +
- find . -type d -exec chmod 775 {} +
artifacts:
name: $PARENT_COMMIT_REF_SLUG-$PARENT_COMMIT_SHORT_SHA
expose_as: "Python Wheels"
paths:
- "dist/"
- "dist-github/"
when: always

# Creates an artifact suitable for publishing the Kit extensions
Expand Down Expand Up @@ -257,44 +249,6 @@ create kit artifacts:
# GitLab service.
# ==============================================================================

publish wheels to testpypi registry:
stage: deploy
image: python:3.11-slim
needs: ["create pypi wheels"]
extends:
- .runner-utility-linux-x86_64
rules:
- if: $PARENT_COMMIT_BRANCH =~ /release-.*/
when: manual
allow_failure: true
environment:
name: staging
url: https://test.pypi.org/project/warp-lang/
before_script:
- python3 -m pip install --upgrade pip
- python3 -m pip install --upgrade build twine
script:
- python3 -m twine upload --verbose --skip-existing --non-interactive --repository testpypi dist/* -u __token__ -p $TESTPYPI_DEPLOY_KEY

publish wheels to pypi registry:
stage: deploy
image: python:3.11-slim
needs: ["create pypi wheels"]
extends:
- .runner-utility-linux-x86_64
rules:
- if: $PARENT_COMMIT_BRANCH =~ /release-.*/
when: manual
allow_failure: true
environment:
name: production
url: https://pypi.org/project/warp-lang/
before_script:
- python3 -m pip install --upgrade pip
- python3 -m pip install --upgrade build twine
script:
- python3 -m twine upload --verbose --skip-existing --non-interactive dist/* -u __token__ -p $PYPI_DEPLOY_KEY

publish wheels to gitlab pypi registry:
stage: deploy
image: python:3.11-slim
Expand All @@ -309,7 +263,7 @@ publish wheels to gitlab pypi registry:
- python3 -m pip install --upgrade pip
- python3 -m pip install --upgrade build twine
script:
- TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python3 -m twine upload --verbose --skip-existing --non-interactive --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist-github/*
- TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python3 -m twine upload --verbose --skip-existing --non-interactive --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist/*

# Uploads the wheels to the internal GitLab package registry in the Warp project
# Generated files will be in a branch/tag-specific folder
Expand All @@ -331,7 +285,7 @@ publish wheels to gitlab package registry:
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file "$file" "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/warp/${CI_COMMIT_REF_SLUG}/${filename}"
done
- |
if [ -f kit-extension.zip ]; then
if [ -f kit-extensions.zip ]; then
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file kit-extensions.zip "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/warp/${CI_COMMIT_REF_SLUG}/kit-extensions.zip"
else
echo "kit-extensions.zip not found, skipping upload."
Expand All @@ -346,6 +300,8 @@ publish extensions to packman:
extends:
- .runner-utility-linux-x86_64
rules:
- if: $CI_PROJECT_PATH != "omniverse/warp" # Prevent fork pipelines from running this job
when: never
- if: $PARENT_COMMIT_BRANCH =~ /release-.*/
when: manual
allow_failure: true
Expand Down
4 changes: 2 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ The easiest way to install Warp is from `PyPI <https://pypi.org/project/warp-lan
$ pip install warp-lang
The binaries hosted on PyPI are currently built with the CUDA 11.8 runtime.
Users requiring a newer CUDA runtime in Warp can build Warp from source or
The binaries hosted on PyPI are currently built with the CUDA 12.5 runtime.
Users requiring an older CUDA runtime in Warp can build Warp from source or
install wheels hosted on GitHub as described in :ref:`GitHub Installation`.

Basic Example
Expand Down
8 changes: 4 additions & 4 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ The easiest way to install Warp is from `PyPI <https://pypi.org/project/warp-lan
Installing from GitHub Releases
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The binaries hosted on PyPI are currently built with the CUDA 11.8 runtime.
We provide binaries built with the CUDA 12.5 runtime on the `GitHub Releases <https://github.com/NVIDIA/warp/releases>`_ page.
Copy the URL of the appropriate wheel file (``warp-lang-{ver}+cu12-py3-none-{platform}.whl``) and pass it to
The binaries hosted on PyPI are currently built with the CUDA 12.5 runtime.
We also provide binaries built with the CUDA 11.8 runtime on the `GitHub Releases <https://github.com/NVIDIA/warp/releases>`_ page.
Copy the URL of the appropriate wheel file (``warp-lang-{ver}+cu11-py3-none-{platform}.whl``) and pass it to
the ``pip install`` command, e.g.

.. code-block:: sh
pip install https://github.com/NVIDIA/warp/releases/download/v1.2.0/warp_lang-1.2.0+cu12-py3-none-manylinux2014_x86_64.whl
pip install https://github.com/NVIDIA/warp/releases/download/v1.3.0/warp_lang-1.3.0+cu11-py3-none-manylinux2014_x86_64.whl
The ``--force-reinstall`` option may need to be used to overwrite a previous installation.

Expand Down

0 comments on commit 94df2fe

Please sign in to comment.