Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .devcontainer/cuda12.9-conda/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@
"CUDA": "12.9",
"PYTHON_PACKAGE_MANAGER": "conda",
"BASE": "rapidsai/devcontainers:26.06-cpp-mambaforge"
}
},
"cacheFrom": [
"ghcr.io/rapidsai/devcontainers/devcontainer:26.06-cuda12.9-conda"
]
},
"runArgs": [
"--rm",
Expand Down
5 changes: 4 additions & 1 deletion .devcontainer/cuda12.9-pip/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@
"CUDA": "12.9",
"PYTHON_PACKAGE_MANAGER": "pip",
"BASE": "rapidsai/devcontainers:26.06-cpp-cuda12.9-ucx1.19.0-openmpi5.0.10"
}
},
"cacheFrom": [
"ghcr.io/rapidsai/devcontainers/devcontainer:26.06-cuda12.9-pip"
]
},
"runArgs": [
"--rm",
Expand Down
5 changes: 4 additions & 1 deletion .devcontainer/cuda13.0-conda/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@
"CUDA": "13.0",
"PYTHON_PACKAGE_MANAGER": "conda",
"BASE": "rapidsai/devcontainers:26.06-cpp-mambaforge"
}
},
"cacheFrom": [
"ghcr.io/rapidsai/devcontainers/devcontainer:26.06-cuda13.0-conda"
]
},
"runArgs": [
"--rm",
Expand Down
5 changes: 4 additions & 1 deletion .devcontainer/cuda13.0-pip/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@
"CUDA": "13.0",
"PYTHON_PACKAGE_MANAGER": "pip",
"BASE": "rapidsai/devcontainers:26.06-cpp-cuda13.0-ucx1.19.0-openmpi5.0.10"
}
},
"cacheFrom": [
"ghcr.io/rapidsai/devcontainers/devcontainer:26.06-cuda13.0-pip"
]
},
"runArgs": [
"--rm",
Expand Down
5 changes: 4 additions & 1 deletion .devcontainer/cuda13.1-conda/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@
"CUDA": "13.1",
"PYTHON_PACKAGE_MANAGER": "conda",
"BASE": "rapidsai/devcontainers:26.06-cpp-mambaforge"
}
},
"cacheFrom": [
"ghcr.io/rapidsai/devcontainers/devcontainer:26.06-cuda13.1-conda"
]
},
"runArgs": [
"--rm",
Expand Down
5 changes: 4 additions & 1 deletion .devcontainer/cuda13.1-pip/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@
"CUDA": "13.1",
"PYTHON_PACKAGE_MANAGER": "pip",
"BASE": "rapidsai/devcontainers:26.06-cpp-cuda13.1-ucx1.19.0-openmpi5.0.10"
}
},
"cacheFrom": [
"ghcr.io/rapidsai/devcontainers/devcontainer:26.06-cuda13.1-pip"
]
},
"runArgs": [
"--rm",
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/build-linux-image/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ runs:
if test "${push}" = true; then
outputs+=(--output "type=image,compression=zstd,force-compression=true,oci-mediatypes=true,push=true,push-by-digest=true,name=${repo}");
# HACK: remove the `-t` arg from the `docker buildx build` command generated by `devcontainer build`
sed -i 's/,t.map(v=>l.push("-t",v))//g' "$(npm list -g | head -n1)"/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js;
sed -i 's/,t.map(G=>l.push("-t",G))//g' "$(npm list -g | head -n1)"/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js;
fi

until devcontainer build \
Expand Down
6 changes: 3 additions & 3 deletions .github/actions/install-devcontainers-cli/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ runs:
using: composite
steps:
- name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: '20'
node-version: '24'
- name: Install devcontainers CLI
shell: bash
run: |
sudo apt update;
sudo apt install -y --no-install-recommends build-essential;
npm install -g @devcontainers/cli@v0.80.2;
npm install -g @devcontainers/cli@v0.85.0;
10 changes: 5 additions & 5 deletions .github/actions/setup-runner-env/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,28 +26,28 @@ runs:

- if: runner.environment == 'self-hosted'
name: Setup Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
with:
node-version: '20'
node-version: '24'

- if: runner.environment != 'self-hosted'
name: Set up QEMU
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4

- name: Create docker context
shell: bash
run: docker context create builder

- if: runner.environment != 'self-hosted'
name: Setup docker buildx on github-hosted runners
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4
with:
buildkitd-flags: --debug
endpoint: builder

- if: runner.environment == 'self-hosted'
name: Setup docker buildx on self-hosted runners
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4
with:
buildkitd-flags: --debug --config /etc/buildkit/buildkitd.toml
endpoint: builder
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-and-test-feature.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ jobs:
arch: [amd64, arm64]
steps:
- name: Checkout ${{ github.repository }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false

- name: Login to Docker Hub
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4
with:
username: ${{ secrets.GPUCIBOT_DOCKERHUB_USER || vars.DOCKERHUB_USER }}
password: ${{ secrets.GPUCIBOT_DOCKERHUB_TOKEN || secrets.DOCKERHUB_TOKEN }}
Expand Down
57 changes: 57 additions & 0 deletions .github/workflows/build-devcontainers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Build devcontainers

concurrency:
group: build-from-${{ github.ref_name }}
cancel-in-progress: true

on:
workflow_call:
inputs:
cuda:
description: |
Stringified JSON array of CUDA versions to run this workflow for.
This is used to select .devcontainer/ directories local to wherever this workflow is invoked from.
For example, if a repository has directories '.devcontainer/cuda12.9-pip/' and '.devcontainer/cuda13.1-pip/',
'["12.9", "13.1"]' could be passed here to build both of those devcontainers in CI.
type: string
default: '["12.9", "13.1"]'
python_package_manager:
description: |
Stringified JSON array of Python package managers to run devcontainer builds for.
One of: '["conda"]', '["pip"]', '["conda", "pip"]'.
type: string
default: '["conda", "pip"]'
push:
type: string
default: true
workflow_dispatch:
inputs:
cuda:
description: |
Stringified JSON array of CUDA versions to run this workflow for.
This is used to select .devcontainer/ directories local to wherever this workflow is invoked from.
For example, if a repository has directories '.devcontainer/cuda12.9-pip/' and '.devcontainer/cuda13.1-pip/',
'["12.9", "13.1"]' could be passed here to build both of those devcontainers in CI.
type: string
default: '["12.9", "13.1"]'
python_package_manager:
description: |
Stringified JSON array of Python package managers to run devcontainer builds for.
One of: '["conda"]', '["pip"]', '["conda", "pip"]'.
type: string
default: '["conda", "pip"]'
push:
type: string
default: true

jobs:
build:
name: Build devcontainers
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/build-devcontainers.yaml@fea/build-devcontainer
Comment thread
trxcllnt marked this conversation as resolved.
permissions:
packages: write
with:
cuda: "${{ inputs.cuda }}"
python_package_manager: "${{ inputs.python_package_manager }}"
push: "${{ inputs.push }}"
6 changes: 3 additions & 3 deletions .github/workflows/build-test-and-push-linux-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
version: ${{ steps.json.outputs.version }}
steps:
- name: Checkout ${{ github.repository }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
persist-credentials: false
Expand All @@ -58,7 +58,7 @@ jobs:
container_env: "${{ inputs.container_env }}"

- name: Login to Docker Hub
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4
with:
username: ${{ secrets.GPUCIBOT_DOCKERHUB_USER || vars.DOCKERHUB_USER }}
password: ${{ secrets.GPUCIBOT_DOCKERHUB_TOKEN || secrets.DOCKERHUB_TOKEN }}
Expand All @@ -80,7 +80,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Login to Docker Hub
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4
with:
username: ${{ secrets.GPUCIBOT_DOCKERHUB_USER || vars.DOCKERHUB_USER }}
password: ${{ secrets.GPUCIBOT_DOCKERHUB_TOKEN || secrets.DOCKERHUB_TOKEN }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-test-and-push-windows-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
- { edition: "2022", runner: "${{ github.repository != 'rapidsai/devcontainers' && 'windows-2022' || 'windows-amd64-cpu4' }}" }
steps:
- name: Checkout ${{ github.repository }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
persist-credentials: false
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
EOF

- name: Login to Docker Hub
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4
with:
username: ${{ secrets.GPUCIBOT_DOCKERHUB_USER || vars.DOCKERHUB_USER }}
password: ${{ secrets.GPUCIBOT_DOCKERHUB_TOKEN || secrets.DOCKERHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
pull-requests: write
steps:
- name: Checkout ${{ github.repository }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-features.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
packages: write
steps:
- name: Checkout ${{ github.repository }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
scenarios: "${{ steps.matrix.outputs.scenarios }}"
steps:
- name: "Checkout ${{ github.repository }}"
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
persist-credentials: false
Expand All @@ -45,7 +45,7 @@ jobs:
linux: ${{ steps.matrix.outputs.linux }}
steps:
- name: Checkout ${{ github.repository }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
persist-credentials: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
windows: ${{ steps.matrix.outputs.windows }}
steps:
- name: Checkout ${{ github.repository }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
persist-credentials: false
Expand Down
28 changes: 26 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
scenarios: "${{ steps.matrix.outputs.scenarios }}"
steps:
- name: "Checkout ${{ github.repository }}"
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
persist-credentials: false
Expand All @@ -71,7 +71,7 @@ jobs:
windows: ${{ steps.matrix.outputs.windows }}
steps:
- name: Checkout ${{ github.repository }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
persist-credentials: false
Expand Down Expand Up @@ -129,3 +129,27 @@ jobs:
packages: write
secrets: inherit # zizmor: ignore[secrets-inherit]
uses: ./.github/workflows/release-features.yml

build-devcontainers-after-images-released:
if: needs.image-matrix.outputs.linux != '{"include":[]}'
needs: [image-matrix, release-linux]
name: Build devcontainers
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/build-devcontainers.yaml@fea/build-devcontainer
permissions:
packages: write
with:
push: true
cuda: '["12.9", "13.0", "13.1"]'

build-devcontainers-after-features-released:
if: needs.image-matrix.outputs.linux == '{"include":[]}' && (needs.features-matrix.outputs.features != '[]' || needs.features-matrix.outputs.scenarios != '[]')
needs: [features-matrix, release-features]
name: Build devcontainers
secrets: inherit
uses: rapidsai/shared-workflows/.github/workflows/build-devcontainers.yaml@fea/build-devcontainer
permissions:
packages: write
with:
push: true
cuda: '["12.9", "13.0", "13.1"]'
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout ${{ github.repository }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
persist-credentials: false

Expand All @@ -90,7 +90,7 @@ jobs:
scenarios: ${{ steps.matrix.outputs.scenarios }}
steps:
- name: Checkout ${{ github.repository }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
persist-credentials: false
Expand Down Expand Up @@ -171,7 +171,7 @@ jobs:
windows: ${{ steps.matrix.outputs.windows }}
steps:
- name: Checkout ${{ github.repository }}
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
fetch-depth: 0
persist-credentials: false
Expand Down
Loading