-
Notifications
You must be signed in to change notification settings - Fork 157
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add cuspatial devcontainers #960
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I worked with @trxcllnt and verified the 3 modes (single, unified and isolated) all work as expected. We noticed some issue with clangd not being able to find libcudf. Since it's rather minor, I'm approving this so that we can start enjoy the benefit of devcontainers!
This is very exciting. I would like to see documentation checked in with this PR. The good news is I think the description above would make a perfect readme / documentation for using the devcontainer. Can you add it to the PR, @trxcllnt ? |
This PR updates the `.gitignore` file to make the following changes: - Removes `ops-codeowners` from being responsible for Dockerfiles. We don't need to be alerted about changes to Dockerfiles - Ensures that we only get alerted about `conda/` directory changes from the root `conda/` directory (and not sub `conda/` directories like those added in rapidsai#960). [skip ci]
This PR updates the `.gitignore` file to make the following changes: - Removes `ops-codeowners` from being responsible for Dockerfiles. We don't need to be alerted about changes to Dockerfiles - Ensures that we only get alerted about `conda/` directory changes from the root `conda/` directory (and not sub `conda/` directories like those added in #960). I skipped CI on this PR since these changes aren't tested by CI. This PR can be admin-merged pending approval. Authors: - AJ Schmidt (https://github.com/ajschmidt8) Approvers: - Mark Harris (https://github.com/harrism) - Ray Douglass (https://github.com/raydouglass) [skip ci]
I have no idea what these test failures mean, esp. since this PR doesn't change any source code. It looks like something is corrupting the runner? |
5578250
to
f9eff7f
Compare
@trxcllnt, for reference, we fixed a connectivity issue with our GPU-enabled self-hosted runners last week that was contributing to random timeouts and segfaults. It's possible that the failures you linked were related to those connectivity issues. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Working well over here.
b49f07b
to
827996e
Compare
@thomcom rebased |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding this!
/merge |
@gpucibot merge |
@trxcllnt, the Please re-comment this PR with |
/merge |
? |
Description
This PR adds some devcontainers to help simplify building the
cuspatial
C++ and Python libraries.The devcontainers can be launched in one of two ways:
.devcontainer/launch.sh
script, which launches new VSCode windows and instances of the devcontainer.launch.sh
takes two arguments, amode
and apackage manager
.The
mode
argument determines how the devcontainer interacts with the files on the host:isolated
means the devcontainer doesn't mount thecuspatial
source from the host, and is unique to this container instance. Use this mode if you want to launch two separate devcontainers that can each be checked out to two independent branches ofcuspatial
.single
means the devcontainer will mount thecuspatial
source from the host, but install RMM and cuDF via the package manager. This is the default option.unified
means the devcontainer will mountrmm
,cudf,
andcuspatial
sources from the host (and assumes RMM and cuDF are siblings to the cuspatial dir). In this mode, RMM and cuDF will not be installed, but the devcontainer will install the dependencies required to build all three.The
package manager
argument can be eitherconda
, orpip
. This determines whether the devcontainer usesconda
orpip
to install the dependencies (the default isconda
).pip
is experimental/not working for normal dev, and is currently meant to aid in pip packaging work.Examples:
Inside the devcontainer, you can use tab-completion to explore the available commands.
You can, of course, use CMake, ninja,
pip install -e .
etc. directly too. The above commands are only meant as aids/shortcuts! They are simple shell scripts, and you can inspect their contents via e.g.code $(which configure-cuspatial-cpp)
.All the code repos are in the
$HOME
dir, so cleaning is straightforward:Checklist