diff --git a/.devcontainer/cuda11.8-conda/devcontainer.json b/.devcontainer/cuda11.8-conda/devcontainer.json index 34328021..cbabfa82 100644 --- a/.devcontainer/cuda11.8-conda/devcontainer.json +++ b/.devcontainer/cuda11.8-conda/devcontainer.json @@ -22,7 +22,7 @@ "./features/src/utils", "./features/src/rapids-build-utils" ], - "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda11.8-envs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,wholegraph,cugraph,cuspatial}"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda11.8-envs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,cugraph,cugraph-gnn,nx-cugraph,cuspatial}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", @@ -37,8 +37,9 @@ "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", - "source=${localWorkspaceFolder}/../wholegraph,target=/home/coder/wholegraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-gnn,target=/home/coder/cugraph-gnn,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../nx-cugraph,target=/home/coder/nx-cugraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", diff --git a/.devcontainer/cuda11.8-pip/devcontainer.json b/.devcontainer/cuda11.8-pip/devcontainer.json index c838912a..f6a944e9 100644 --- a/.devcontainer/cuda11.8-pip/devcontainer.json +++ b/.devcontainer/cuda11.8-pip/devcontainer.json @@ -32,7 +32,7 @@ "./features/src/utils", "./features/src/rapids-build-utils" ], - "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda11.8-venvs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,wholegraph,cugraph,cuspatial}"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda11.8-venvs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,cugraph,cugraph-gnn,nx-cugraph,cuspatial}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", @@ -47,8 +47,9 @@ "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", - "source=${localWorkspaceFolder}/../wholegraph,target=/home/coder/wholegraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-gnn,target=/home/coder/cugraph-gnn,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../nx-cugraph,target=/home/coder/nx-cugraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", diff --git a/.devcontainer/cuda12.0-conda/devcontainer.json b/.devcontainer/cuda12.0-conda/devcontainer.json index 37829dfd..bd75153a 100644 --- a/.devcontainer/cuda12.0-conda/devcontainer.json +++ b/.devcontainer/cuda12.0-conda/devcontainer.json @@ -45,7 +45,7 @@ "./features/src/utils", "./features/src/rapids-build-utils" ], - "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda12.0-envs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,wholegraph,cugraph,cuspatial}"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda12.0-envs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,cugraph,cugraph-gnn,nx-cugraph,cuspatial}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", @@ -60,8 +60,9 @@ "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", - "source=${localWorkspaceFolder}/../wholegraph,target=/home/coder/wholegraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-gnn,target=/home/coder/cugraph-gnn,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../nx-cugraph,target=/home/coder/nx-cugraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", diff --git a/.devcontainer/cuda12.0-pip/devcontainer.json b/.devcontainer/cuda12.0-pip/devcontainer.json index 4747db63..429b87ec 100644 --- a/.devcontainer/cuda12.0-pip/devcontainer.json +++ b/.devcontainer/cuda12.0-pip/devcontainer.json @@ -33,7 +33,7 @@ "./features/src/utils", "./features/src/rapids-build-utils" ], - "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda12.0-venvs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,wholegraph,cugraph,cuspatial}"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda12.0-venvs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,cugraph,cugraph-gnn,nx-cugraph,cuspatial}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", @@ -48,8 +48,9 @@ "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", - "source=${localWorkspaceFolder}/../wholegraph,target=/home/coder/wholegraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-gnn,target=/home/coder/cugraph-gnn,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../nx-cugraph,target=/home/coder/nx-cugraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", diff --git a/.devcontainer/cuda12.2-conda/devcontainer.json b/.devcontainer/cuda12.2-conda/devcontainer.json index 33669adc..b74b4f97 100644 --- a/.devcontainer/cuda12.2-conda/devcontainer.json +++ b/.devcontainer/cuda12.2-conda/devcontainer.json @@ -45,7 +45,7 @@ "./features/src/utils", "./features/src/rapids-build-utils" ], - "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda12.2-envs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,wholegraph,cugraph,cuspatial}"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda12.2-envs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,cugraph,cugraph-gnn,nx-cugraph,cuspatial}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", @@ -60,8 +60,9 @@ "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", - "source=${localWorkspaceFolder}/../wholegraph,target=/home/coder/wholegraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-gnn,target=/home/coder/cugraph-gnn,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../nx-cugraph,target=/home/coder/nx-cugraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", diff --git a/.devcontainer/cuda12.2-pip/devcontainer.json b/.devcontainer/cuda12.2-pip/devcontainer.json index 88e3a1c0..2442edc7 100644 --- a/.devcontainer/cuda12.2-pip/devcontainer.json +++ b/.devcontainer/cuda12.2-pip/devcontainer.json @@ -33,7 +33,7 @@ "./features/src/utils", "./features/src/rapids-build-utils" ], - "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda12.2-venvs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,wholegraph,cugraph,cuspatial}"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/.vscode/server ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda12.2-venvs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,cugraph,cugraph-gnn,nx-cugraph,cuspatial}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", @@ -48,8 +48,9 @@ "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", - "source=${localWorkspaceFolder}/../wholegraph,target=/home/coder/wholegraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-gnn,target=/home/coder/cugraph-gnn,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../nx-cugraph,target=/home/coder/nx-cugraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", diff --git a/.devcontainer/cuda12.5-conda/devcontainer.json b/.devcontainer/cuda12.5-conda/devcontainer.json index f54dfc7e..471f2a0e 100644 --- a/.devcontainer/cuda12.5-conda/devcontainer.json +++ b/.devcontainer/cuda12.5-conda/devcontainer.json @@ -45,7 +45,7 @@ "./features/src/utils", "./features/src/rapids-build-utils" ], - "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda12.5-envs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,wholegraph,cugraph,cuspatial}"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda12.5-envs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,cugraph,cugraph-gnn,nx-cugraph,cuspatial}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", @@ -59,8 +59,9 @@ "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", - "source=${localWorkspaceFolder}/../wholegraph,target=/home/coder/wholegraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-gnn,target=/home/coder/cugraph-gnn,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../nx-cugraph,target=/home/coder/nx-cugraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", diff --git a/.devcontainer/cuda12.5-pip/devcontainer.json b/.devcontainer/cuda12.5-pip/devcontainer.json index c6300507..c1b55fbc 100644 --- a/.devcontainer/cuda12.5-pip/devcontainer.json +++ b/.devcontainer/cuda12.5-pip/devcontainer.json @@ -33,7 +33,7 @@ "./features/src/utils", "./features/src/rapids-build-utils" ], - "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda12.5-venvs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,wholegraph,cugraph,cuspatial}"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda12.5-venvs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph-ops,cugraph,cugraph-gnn,nx-cugraph,cuspatial}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", @@ -47,8 +47,9 @@ "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", - "source=${localWorkspaceFolder}/../wholegraph,target=/home/coder/wholegraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-gnn,target=/home/coder/cugraph-gnn,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../nx-cugraph,target=/home/coder/nx-cugraph,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", diff --git a/.devcontainer/rapids.Dockerfile b/.devcontainer/rapids.Dockerfile index 74cfe238..0a85aef3 100644 --- a/.devcontainer/rapids.Dockerfile +++ b/.devcontainer/rapids.Dockerfile @@ -28,6 +28,8 @@ RUN apt update -y \ ENV DEFAULT_VIRTUAL_ENV=rapids +ENV RAPIDS_LIBUCX_PREFER_SYSTEM_LIBRARY=true + FROM ${BASE} as conda-base ENV DEFAULT_CONDA_ENV=rapids diff --git a/.github/actions/build-and-test-feature/action.yml b/.github/actions/build-and-test-feature/action.yml index 30562ee8..70d11f73 100644 --- a/.github/actions/build-and-test-feature/action.yml +++ b/.github/actions/build-and-test-feature/action.yml @@ -5,7 +5,6 @@ description: Test feature inputs: args: {type: string, required: true} gh_token: {type: string, defaut: '', required: false} - vault_host: {type: string, defaut: '', required: false} aws_role_arn: {type: string, defaut: '', required: false} rw_sccache_bucket: {type: string, defaut: '', required: false} rw_sccache_region: {type: string, defaut: '', required: false} @@ -30,7 +29,6 @@ runs: NODE_NO_WARNINGS: 1 VAULT_S3_TTL: "900" # 15 minutes gh_token: "${{ inputs.gh_token }}" - vault_host: "${{ inputs.vault_host }}" aws_role_arn: "${{ inputs.aws_role_arn }}" rw_sccache_bucket: "${{ inputs.rw_sccache_bucket }}" rw_sccache_region: "${{ inputs.rw_sccache_region }}" diff --git a/.github/workflows/build-and-test-feature.yml b/.github/workflows/build-and-test-feature.yml index a0d514f8..b15b78fe 100644 --- a/.github/workflows/build-and-test-feature.yml +++ b/.github/workflows/build-and-test-feature.yml @@ -37,7 +37,6 @@ jobs: with: args: "${{ inputs.args }}" gh_token: "${{ secrets.GIST_REPO_READ_ORG_GITHUB_TOKEN }}" - vault_host: "${{ secrets.GIST_REPO_READ_ORG_GITHUB_TOKEN && 'https://vault.ops.k8s.rapids.ai' || '' }}" aws_role_arn: "${{ secrets.GIST_REPO_READ_ORG_GITHUB_TOKEN && 'arn:aws:iam::279114543810:role/nv-gha-token-sccache-devs' || '' }}" rw_sccache_bucket: "${{ secrets.GIST_REPO_READ_ORG_GITHUB_TOKEN && 'rapids-sccache-devs' || '' }}" rw_sccache_region: "${{ vars.AWS_REGION }}" diff --git a/features/src/rapids-build-utils/devcontainer-feature.json b/features/src/rapids-build-utils/devcontainer-feature.json index e99f0538..a834d3b2 100644 --- a/features/src/rapids-build-utils/devcontainer-feature.json +++ b/features/src/rapids-build-utils/devcontainer-feature.json @@ -1,7 +1,7 @@ { "name": "NVIDIA RAPIDS devcontainer build utilities", "id": "rapids-build-utils", - "version": "25.2.1", + "version": "25.2.2", "description": "A feature to install the RAPIDS devcontainer build utilities", "containerEnv": { "BASH_ENV": "/etc/bash.bash_env" diff --git a/features/src/rapids-build-utils/opt/rapids-build-utils/manifest.yaml b/features/src/rapids-build-utils/opt/rapids-build-utils/manifest.yaml index b8ffcf80..8daf14fc 100755 --- a/features/src/rapids-build-utils/opt/rapids-build-utils/manifest.yaml +++ b/features/src/rapids-build-utils/opt/rapids-build-utils/manifest.yaml @@ -226,7 +226,7 @@ repos: args: cmake: -DCMAKE_CUDA_ARCHITECTURES="${CUDAARCHS}" python: - - name: wholegraph + - name: pylibwholegraph sub_dir: python/pylibwholegraph depends: [wholegraph] args: {install: *rapids_build_backend_args} diff --git a/features/src/utils/devcontainer-feature.json b/features/src/utils/devcontainer-feature.json index e911039e..254cd774 100644 --- a/features/src/utils/devcontainer-feature.json +++ b/features/src/utils/devcontainer-feature.json @@ -1,7 +1,7 @@ { "name": "devcontainer-utils", "id": "utils", - "version": "25.2.0", + "version": "25.2.1", "description": "A feature to install RAPIDS devcontainer utility scripts", "containerEnv": { "BASH_ENV": "/etc/bash.bash_env" diff --git a/features/src/utils/install.sh b/features/src/utils/install.sh index 11a79001..e7abb4a8 100644 --- a/features/src/utils/install.sh +++ b/features/src/utils/install.sh @@ -66,10 +66,9 @@ chgrp crontab "$(realpath -m "$(which cron)")"; chmod u+s "$(realpath -m "$(which cron)")"; # shellcheck disable=SC2174 -mkdir -m 0775 -p /var/log/devcontainer-utils; +mkdir -m 0777 -p /var/log/devcontainer-utils; touch /var/log/devcontainer-utils/creds-s3.log; -chmod 0664 /var/log/devcontainer-utils/creds-s3.log; -chgrp crontab /var/log/devcontainer-utils/creds-s3.log; +chmod 0777 /var/log/devcontainer-utils/creds-s3.log; # Install Devcontainer utility scripts to /opt/devcontainer cp -ar ./opt/devcontainer /opt/; @@ -105,13 +104,6 @@ declare -a commands_and_sources=( "init-gitlab-cli gitlab/cli/init.sh" "clone-gitlab-repo gitlab/repo/clone.sh" "print-missing-gitlab-token-warning gitlab/print-missing-token-warning.sh" - "vault-auth-github vault/auth/github.sh" - "vault-s3-init vault/s3/init.sh" - "vault-s3-creds-generate vault/s3/creds/generate.sh" - "vault-s3-creds-persist vault/s3/creds/persist.sh" - "vault-s3-creds-propagate vault/s3/creds/propagate.sh" - "vault-s3-creds-schedule vault/s3/creds/schedule.sh" - "vault-s3-creds-test vault/s3/creds/test.sh" ) # Install alternatives diff --git a/features/src/utils/opt/devcontainer/bin/creds/s3/gh/generate.sh b/features/src/utils/opt/devcontainer/bin/creds/s3/gh/generate.sh index 7e248f6a..2a14ad09 100755 --- a/features/src/utils/opt/devcontainer/bin/creds/s3/gh/generate.sh +++ b/features/src/utils/opt/devcontainer/bin/creds/s3/gh/generate.sh @@ -13,8 +13,10 @@ _creds_github_generate() { exit 1; fi - # Remove existing credentials in case vault declines to issue new ones. - rm -rf ~/.aws/{stamp,config,credentials}; + # Remove existing credentials in case nv-gha-aws declines to issue new ones. + if test -w ~/.aws; then + rm -rf ~/.aws/{stamp,config,credentials}; + fi SCCACHE_REGION="${SCCACHE_REGION:-${AWS_DEFAULT_REGION:-}}"; @@ -57,7 +59,9 @@ _creds_github_generate() { generated_at="$(date '+%s')"; if gh nv-gha-aws org "${org}" "${nv_gha_aws_args[@]}" >"${HOME}/.aws/credentials" 2>>/var/log/devcontainer-utils/creds-s3.log; then if devcontainer-utils-creds-s3-propagate 2>&1 | tee -a /var/log/devcontainer-utils/creds-s3.log; then - echo "${generated_at}" > ~/.aws/stamp; + if test -w ~/.aws; then + echo "${generated_at}" > ~/.aws/stamp; + fi return 0; fi fi diff --git a/features/src/utils/opt/devcontainer/bin/creds/s3/persist.sh b/features/src/utils/opt/devcontainer/bin/creds/s3/persist.sh index b89992b7..2f8448ef 100755 --- a/features/src/utils/opt/devcontainer/bin/creds/s3/persist.sh +++ b/features/src/utils/opt/devcontainer/bin/creds/s3/persist.sh @@ -41,61 +41,73 @@ _creds_s3_persist() { # Reset envvars reset_envvar "SCCACHE_BUCKET"; reset_envvar "SCCACHE_REGION"; - reset_envvar "AWS_ACCESS_KEY_ID"; - reset_envvar "AWS_SESSION_TOKEN"; - reset_envvar "AWS_SECRET_ACCESS_KEY"; mkdir -p ~/.aws; - rm -f ~/.aws/{config,credentials}; - if test -n "${stamp:-}"; then - echo "${stamp:-}" > ~/.aws/stamp; + if test -w ~/.aws; then + local name; + for name in config credentials; do + echo > ~/".aws/${name}" + done + if test -n "${stamp:-}"; then + echo "${stamp:-}" > ~/.aws/stamp; + fi fi if ! grep -qE "^$" <<< "${no_bucket-}"; then unset_envvar "SCCACHE_BUCKET"; elif ! grep -qE "^$" <<< "${bucket:-}"; then export_envvar "SCCACHE_BUCKET" "${bucket}"; - cat <<________EOF >> ~/.aws/config -bucket=${bucket:-} -________EOF + if test -w ~/.aws/config; then + cat <<< "bucket=${bucket:-}" >> ~/.aws/config + fi fi if ! grep -qE "^$" <<< "${no_region-}"; then unset_envvar "SCCACHE_REGION"; elif ! grep -qE "^$" <<< "${region:-}"; then export_envvar "SCCACHE_REGION" "${region}"; - cat <<________EOF >> ~/.aws/config -region=${region:-} -________EOF + if test -w ~/.aws/config; then + cat <<< "region=${region:-}" >> ~/.aws/config + fi fi - if test -f ~/.aws/config; then + if test -w ~/.aws && test -w ~/.aws/config; then cat <<________EOF > ~/.aws/config2 && mv ~/.aws/config{2,} [default] $(cat ~/.aws/config) ________EOF + chmod 0644 ~/.aws/config; fi if ! grep -qE "^$" <<< "${aws_access_key_id:-}"; then - cat <<________EOF >> ~/.aws/credentials -aws_access_key_id=${aws_access_key_id} -________EOF + if test -w ~/.aws/credentials; then + reset_envvar "AWS_ACCESS_KEY_ID"; + cat <<< "aws_access_key_id=${aws_access_key_id}" >> ~/.aws/credentials + else + export_envvar "AWS_ACCESS_KEY_ID" "${aws_access_key_id}"; + fi fi if ! grep -qE "^$" <<< "${aws_secret_access_key:-}"; then - cat <<________EOF >> ~/.aws/credentials -aws_secret_access_key=${aws_secret_access_key} -________EOF + if test -w ~/.aws/credentials; then + reset_envvar "AWS_SESSION_TOKEN"; + cat <<< "aws_secret_access_key=${aws_secret_access_key}" >> ~/.aws/credentials + else + export_envvar "AWS_SESSION_TOKEN" "${aws_secret_access_key}"; + fi fi if ! grep -qE "^$" <<< "${aws_session_token:-}"; then - cat <<________EOF >> ~/.aws/credentials -aws_session_token=${aws_session_token} -________EOF + if test -w ~/.aws/credentials; then + reset_envvar "AWS_SECRET_ACCESS_KEY"; + cat <<< "aws_session_token=${aws_session_token}" >> ~/.aws/credentials + else + export_envvar "AWS_SECRET_ACCESS_KEY" "${aws_session_token}"; + fi fi - if test -f ~/.aws/credentials; then + if test -w ~/.aws && test -w ~/.aws/credentials; then cat <<________EOF > ~/.aws/credentials2 && mv ~/.aws/credentials{2,} [default] $(cat ~/.aws/credentials) diff --git a/features/src/utils/opt/devcontainer/bin/creds/s3/vault/generate.sh b/features/src/utils/opt/devcontainer/bin/creds/s3/vault/generate.sh index 76323e61..03278553 100755 --- a/features/src/utils/opt/devcontainer/bin/creds/s3/vault/generate.sh +++ b/features/src/utils/opt/devcontainer/bin/creds/s3/vault/generate.sh @@ -17,11 +17,14 @@ _creds_vault_generate() { SCCACHE_REGION="${SCCACHE_REGION:-${AWS_DEFAULT_REGION:-}}"; # Remove existing credentials in case vault declines to issue new ones. - rm -rf ~/.aws/{stamp,config,credentials}; + if test -w ~/.aws; then + rm -rf ~/.aws/{stamp,config,credentials}; + fi - devcontainer-utils-creds-s3-persist - <<< \ - --bucket="${SCCACHE_BUCKET:-}" \ - --region="${SCCACHE_REGION:-}" ; + devcontainer-utils-creds-s3-persist - <<< " \ + --bucket '${SCCACHE_BUCKET:-}' \ + --region '${SCCACHE_REGION:-}' \ + "; # Initialize the GitHub CLI with the appropriate user scopes # shellcheck disable=SC1091 diff --git a/features/src/utils/opt/devcontainer/bin/git/repo/clone.sh b/features/src/utils/opt/devcontainer/bin/git/repo/clone.sh index 43ca2aee..2c17051b 100755 --- a/features/src/utils/opt/devcontainer/bin/git/repo/clone.sh +++ b/features/src/utils/opt/devcontainer/bin/git/repo/clone.sh @@ -77,6 +77,8 @@ clone_git_repo() { git -C "${directory}" remote set-url --push upstream read_only 2>/dev/null || true; if test "${upstream}" == "${origin}"; then git -C "${directory}" remote set-url --push origin read_only 2>/dev/null || true; + else + git -C "${directory}" remote set-url --push origin "${origin}" 2>/dev/null || true; fi git -C "${directory}" fetch "${fqj[@]}" --all; diff --git a/features/src/utils/opt/devcontainer/bin/gitlab/repo/clone.sh b/features/src/utils/opt/devcontainer/bin/gitlab/repo/clone.sh index e681864f..b4f45ea8 100755 --- a/features/src/utils/opt/devcontainer/bin/gitlab/repo/clone.sh +++ b/features/src/utils/opt/devcontainer/bin/gitlab/repo/clone.sh @@ -59,13 +59,13 @@ get_repo_owner() { query { project(fullPath: "${repo}") { namespace { - path + fullPath } } } ________EOF )" \ - | jq -r '.data.project.namespace.path'; + | jq -r '.data.project.namespace.fullPath'; } get_repo_git_url() { diff --git a/features/src/utils/opt/devcontainer/bin/update-envvars.sh b/features/src/utils/opt/devcontainer/bin/update-envvars.sh index 711eced8..c867e636 100755 --- a/features/src/utils/opt/devcontainer/bin/update-envvars.sh +++ b/features/src/utils/opt/devcontainer/bin/update-envvars.sh @@ -3,7 +3,7 @@ export_envvar() { if [ -n "${1:-}" ]; then for file in ~/.bashrc /etc/profile.d/*-devcontainer-utils.sh; do - echo "export ${1}=\"${2:-}\";" | sudo tee -a "${file}" >/dev/null; + cat <<< "export ${1}=\"${2:-}\";" | sudo tee -a "${file}" >/dev/null; done; fi } @@ -11,7 +11,7 @@ export_envvar() { unset_envvar() { if [ -n "${1:-}" ]; then for file in ~/.bashrc /etc/profile.d/*-devcontainer-utils.sh; do - echo "unset ${1};" | sudo tee -a "${file}" >/dev/null; + cat <<< "unset ${1};" | sudo tee -a "${file}" >/dev/null; done; fi } diff --git a/features/src/utils/opt/devcontainer/bin/vault/auth/github.sh b/features/src/utils/opt/devcontainer/bin/vault/auth/github.sh deleted file mode 100755 index 53a826a5..00000000 --- a/features/src/utils/opt/devcontainer/bin/vault/auth/github.sh +++ /dev/null @@ -1,40 +0,0 @@ -#! /usr/bin/env bash - - -get_vault_token() { - local -; - set -euo pipefail; - - # shellcheck disable=SC1091 - . devcontainer-utils-debug-output 'devcontainer_utils_debug' 'vault-s3 vault-auth-github'; - - local -r VAULT_HOST="$1"; - local -r user_orgs=("${@:2}"); - local -r gh_token="$(gh auth token)"; - local vault_token=null; - local o; - local org; - - for o in "${user_orgs[@]}"; do - for org in $(echo -e "${o}\n${o,,}\n${o^^}" | sort -su); do - vault_token="$( \ - curl -s \ - -X POST \ - -H "Content-Type: application/json" \ - -d "{\"token\": \"${gh_token}\"}" \ - "${VAULT_HOST}/v1/auth/github-${org}/login" \ - | jq -r '.auth.client_token' \ - )"; - if test "${vault_token:-null}" != null; then - break; - fi - done - if test "${vault_token:-null}" != null; then - break; - fi - done - - echo "vault_token='$vault_token'"; -} - -get_vault_token "$@";