Skip to content

Commit 8701668

Browse files
authored
Merge pull request #1280 from rapidsai/branch-23.10
[RELEASE] cuspatial v23.10
2 parents 2660aba + 38bad5c commit 8701668

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+1519
-1760
lines changed

.devcontainer/Dockerfile

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
# syntax=docker/dockerfile:1.5
22

3-
ARG CUDA=12.0
4-
ARG LLVM=16
5-
ARG RAPIDS=23.08
6-
ARG DISTRO=ubuntu22.04
7-
ARG REPO=rapidsai/devcontainers
8-
3+
ARG BASE
94
ARG PYTHON_PACKAGE_MANAGER=conda
105

11-
FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-${DISTRO} as pip-base
6+
FROM ${BASE} as pip-base
7+
8+
ENV DEFAULT_VIRTUAL_ENV=rapids
9+
10+
RUN apt update -y \
11+
&& DEBIAN_FRONTEND=noninteractive apt install -y \
12+
sqlite3 libsqlite3-dev libtiff-dev libcurl4-openssl-dev \
13+
&& rm -rf /tmp/* /var/tmp/* /var/cache/apt/* /var/lib/apt/lists/*;
1214

13-
FROM ${REPO}:${RAPIDS}-cpp-mambaforge-${DISTRO} as conda-base
15+
FROM ${BASE} as conda-base
1416

15-
COPY --from=pip-base /etc/skel/.config/clangd/config.yaml /etc/skel/.config/clangd/config.yaml
17+
ENV DEFAULT_CONDA_ENV=rapids
1618

1719
FROM ${PYTHON_PACKAGE_MANAGER}-base
1820

.devcontainer/README.md

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@ This container is a turnkey development environment for building and testing the
99
* [Prerequisites](#prerequisites)
1010
* [Host bind mounts](#host-bind-mounts)
1111
* [Launch a Dev Container](#launch-a-dev-container)
12-
* [via VSCode](#via-vscode)
13-
* [via `launch.sh`](#via-launchsh)
14-
* [Single mode](#single-mode)
15-
* [Unified mode](#unified-mode)
16-
* [Isolated mode](#isolated-mode)
1712

1813
## Prerequisites
1914

@@ -35,76 +30,6 @@ This ensures caches, configurations, dependencies, and your commits are persiste
3530

3631
## Launch a Dev Container
3732

38-
A devcontainer can be launched directly by VSCode, or via a custom `launch.sh` shell script.
39-
40-
### via VSCode
41-
4233
To launch a devcontainer from VSCode, open the cuSpatial repo and select the "Reopen in Container" button in the bottom right:<br/><img src="https://user-images.githubusercontent.com/178183/221771999-97ab29d5-e718-4e5f-b32f-2cdd51bba25c.png"/>
4334

4435
Alternatively, open the VSCode command palette (typically `cmd/ctrl + shift + P`) and run the "Rebuild and Reopen in Container" command.
45-
46-
### via `launch.sh`
47-
48-
Use the `.devcontainer/launch.sh` script to start a new instance of the development container and launch a fresh VSCode window connected to it.
49-
50-
VSCode extends its [single-window-per-folder](https://github.com/microsoft/vscode/issues/2686) process model to devcontainers. Opening the same devcontainer in separate windows doesn't create two separate containers -- instead you have two VSCode windows each connected to the same running container.
51-
52-
`launch.sh` takes two arguments, a `mode` and a `package manager`.
53-
54-
* The `mode` argument determines how the devcontainer interacts with the files on the host.
55-
* The `package manager` argument can be either `conda`, or `pip`. This determines whether the devcontainer uses `conda` or `pip` to install the dependencies (the default is `conda`). `pip` is experimental/not working for normal dev, and is currently meant to aid in pip packaging work.
56-
57-
#### Single mode
58-
59-
`.devcontainer/launch.sh single` launches the devcontainer with the [default bind mounts](#host-bind-mounts). RMM and cuDF are installed via the package manager.
60-
61-
Example:
62-
```bash
63-
# Launch a devcontainer that only mounts cuspatial and installs dependencies via conda
64-
$ .devcontainer/launch.sh single conda
65-
66-
# or installs dependencies via pip
67-
$ .devcontainer/launch.sh single pip
68-
```
69-
70-
#### Unified mode
71-
72-
`.devcontainer/launch.sh unified` launches the devcontainer with the [default bind mounts](#host-bind-mounts), as well as additional `rmm` and `cudf` bind mounts (assumes RMM and cuDF are siblings to the cuspatial repository):
73-
74-
* `${repo}/../.rmm:/home/coder/rmm`
75-
* `${repo}/../.cudf:/home/coder/cudf`
76-
77-
In this mode, RMM and cuDF will not be installed, but the devcontainer will install the dependencies necessary to build all three.
78-
79-
Example:
80-
```bash
81-
# Launch a devcontainer that mounts rmm, cudf, and cuspatial from the host and installs dependencies via conda
82-
$ .devcontainer/launch.sh unified conda
83-
84-
# or installs dependencies via pip
85-
$ .devcontainer/launch.sh unified pip
86-
```
87-
88-
#### Isolated mode
89-
90-
`.devcontainer/launch.sh isolated` launches the devcontainer without the deps/repo bind mounts, and instead contains a unique copy of the `cuspatial` source in a Docker [volume](https://docs.docker.com/storage/volumes/).
91-
92-
Use this mode to launch multiple isolated development containers that can be checked out to separate branches of `cuspatial`.
93-
94-
The Docker volume persists after the devcontainer is removed, ensuring you don't pending lose work by accidentally removing the devcontainer.
95-
96-
However, you will need to manually remove the volume once you've committed and pushed your changes:
97-
98-
* Use the [`docker volume ls`](https://docs.docker.com/engine/reference/commandline/volume_ls/) command to list all volumes
99-
* Use [`docker volume rm`](https://docs.docker.com/engine/reference/commandline/volume_rm/) or [`docker volume prune`](https://docs.docker.com/engine/reference/commandline/volume_prune/) to clean up unused volumes
100-
101-
Alternatively, use the "Dev Volumes" tab of the VSCode Dev Containers extension to view and remove unused volumes.
102-
103-
Examples:
104-
```bash
105-
# Launch a devcontainer that is isolated from changes on the host and installs dependencies via conda
106-
$ .devcontainer/launch.sh isolated conda
107-
108-
# or installs dependencies via pip
109-
$ .devcontainer/launch.sh isolated pip
110-
```

.devcontainer/conda/isolated/.devcontainer/devcontainer.json

Lines changed: 0 additions & 93 deletions
This file was deleted.

.devcontainer/conda/single/.devcontainer/devcontainer.json

Lines changed: 0 additions & 95 deletions
This file was deleted.

0 commit comments

Comments
 (0)