Skip to content

rapidsai/rvc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rvc

rvc (RAPIDS version converter) is a tool built with Golang that automatically convert a RAPIDS version (CalVer) to a ucx-py version (SemVer) and vice versa.

Motivation

In June 2021, RAPIDS moved from a SemVer versioning to a CalVer versioning. As ucx-py is expected to be upstreamd to ucx, it is not possible to adopt a CalVer versioning for it, as the versions would have been greater than the current ucx version. rvc is designed to ease the conversion between both versioning.

Deliverables

rvc is published in two different ways:

  • As an AWS Lambda instance
  • As a CLI binary

AWS Lambda instance

rvc is deployed as an AWS Lambda instance using the Serverless framework. The deployment configuration can be seen in the serverless.yaml file. A deployment will happen automatically anytime a change is merged to the main branch. See the deploy.yaml GitHub Action for more details.

rvc is deployed at this endpoint: https://version.gpuci.io

Two different routes are exposed:

Examples:

$ RAPIDS_VER=$(curl -sL https://version.gpuci.io/ucx-py/0.22)
$ echo "${RAPIDS_VER}"
21.10
$ UCX_PY_VER=$(curl -sL https://version.gpuci.io/rapids/21.12)
$ echo "${UCX_PY_VER}"
0.23

CLI binary

rvc is also available as a CLI binary.

Installation

Download the latest binary from GitHub and add it to one of your PATH directories:

wget https://github.com/rapidsai/rvc/releases/latest/download/rvc -O rvc
chmod +x rvc
sudo mv ./rvc /usr/local/bin

Usage

Usage of rvc:
  -rapids string
        Rapids version
  -ucx-py string
        ucx-py version

-rapids and ucx-py options are mutually exclusive.

Examples:

$ rvc -rapids 21.12
0.23
$ rvc -ucx-py 0.22
21.10

Contributing

Add a new version mapping

If you need to add a new version mapping, you only need to update this map.

Improving rvc

Requirements:

  • golang >= 1.17
  • serverless

A Makefile with some useful rules is provided:

  • make build: Run unit tests and build CLI and Serverless binaries
  • make test: Run unit tests
  • make build_cli: Build CLI binary
  • make build_serverless: Build Serverless binary
  • make fmt: Format code
  • make coverage: Compute and display tests coverage

About

No description, website, or topics provided.

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •