Skip to content

Commit edfd72b

Browse files
committed
test with complete workflow
1 parent 9327151 commit edfd72b

File tree

3 files changed

+61
-58
lines changed

3 files changed

+61
-58
lines changed

.github/workflows/build_images.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ jobs:
8787
build-args: |
8888
CUDA_VER=${{ inputs.CUDA_VER }}
8989
PYTHON_VER=${{ inputs.PYTHON_VER }}
90-
CUOPT_VER=${{ inputs.CUOPT_VER }}
90+
CUOPT_VER=25.8.0a43
9191
tags: nvidia/cuopt:${{ inputs.IMAGE_TAG_PREFIX }}-cuda${{ steps.trim.outputs.CUDA_SHORT }}-py${{ steps.trim.outputs.PYTHON_SHORT }}-${{ matrix.ARCH }}
9292

9393
- name: Push image to NGC

.github/workflows/build_test_publish_images.yaml

Lines changed: 52 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -98,63 +98,62 @@ jobs:
9898
fi
9999
echo "IMAGE_TAG_PREFIX=$IMAGE_TAG_PREFIX" >> $GITHUB_OUTPUT
100100
101-
#build-images:
102-
#name: Build images
103-
#needs: compute-matrix
104-
#secrets: inherit
105-
#strategy:
106-
#matrix: ${{ fromJson(needs.compute-matrix.outputs.MATRIX) }}
107-
#uses: ./.github/workflows/build_images.yaml
108-
#with:
109-
#ARCHES: ${{ matrix.arch }}
110-
#CUDA_VER: ${{ matrix.cuda_ver }}
111-
#PYTHON_VER: ${{ matrix.python_ver }}
112-
#CUOPT_VER: ${{ needs.compute-matrix.outputs.CUOPT_VER }}
113-
#IMAGE_TAG_PREFIX: ${{ needs.compute-matrix.outputs.IMAGE_TAG_PREFIX }}
101+
build-images:
102+
name: Build images
103+
needs: compute-matrix
104+
secrets: inherit
105+
strategy:
106+
matrix: ${{ fromJson(needs.compute-matrix.outputs.MATRIX) }}
107+
uses: ./.github/workflows/build_images.yaml
108+
with:
109+
ARCHES: ${{ matrix.arch }}
110+
CUDA_VER: ${{ matrix.cuda_ver }}
111+
PYTHON_VER: ${{ matrix.python_ver }}
112+
CUOPT_VER: ${{ needs.compute-matrix.outputs.CUOPT_VER }}
113+
IMAGE_TAG_PREFIX: ${{ needs.compute-matrix.outputs.IMAGE_TAG_PREFIX }}
114114

115-
#build-cuopt-multiarch-manifest:
116-
#name: Build cuopt multiarch manifest
117-
#needs: build-images
118-
#strategy:
119-
#matrix:
120-
#CUDA_VER: ${{ fromJson(needs.compute-matrix.outputs.MATRIX).cuda_ver }}
121-
#PYTHON_VER: ${{ fromJson(needs.compute-matrix.outputs.MATRIX).python_ver }}
122-
#runs-on: ubuntu-latest
123-
#steps:
124-
#- name: Checkout code repo
125-
#uses: actions/checkout@v4
126-
#with:
127-
#fetch-depth: 0
128-
#- name: Login to DockerHub
129-
#uses: docker/login-action@v3
130-
#with:
131-
#username: ${{ secrets.CUOPT_DOCKERHUB_USERNAME }}
132-
#password: ${{ secrets.CUOPT_DOCKERHUB_TOKEN }}
133-
#- name: Login to NGC
134-
#uses: docker/login-action@v3
135-
#with:
136-
#registry: "nvcr.io"
137-
#username: "$oauthtoken"
138-
#password: ${{ secrets.CUOPT_NGC_DOCKER_KEY }}
139-
#- name: Trim CUDA and Python versions
140-
#id: trim
141-
#run: |
142-
#echo "CUDA_SHORT=$(echo '${{ matrix.CUDA_VER }}' | sed -E 's/([0-9]+\.[0-9]+)\.[0-9]+/\1/')" >> $GITHUB_OUTPUT
143-
#echo "PYTHON_SHORT=$(echo '${{ matrix.PYTHON_VER }}' | sed -E 's/([0-9]+\.[0-9]+)\.[0-9]+/\1/')" >> $GITHUB_OUTPUT
144-
#- name: Create multiarch manifest
145-
#shell: bash
146-
#env:
147-
#CUOPT_VER: ${{ needs.compute-matrix.outputs.CUOPT_VER }}
148-
#CUDA_SHORT: ${{ steps.trim.outputs.CUDA_SHORT }}
149-
#PYTHON_SHORT: ${{ steps.trim.outputs.PYTHON_SHORT }}
150-
#IMAGE_TAG_PREFIX: ${{ needs.compute-matrix.outputs.IMAGE_TAG_PREFIX }}
151-
#BUILD_TYPE: ${{ inputs.build_type }}
152-
#run: bash ci/docker/create_multiarch_manifest.sh
115+
build-cuopt-multiarch-manifest:
116+
name: Build cuopt multiarch manifest
117+
needs: build-images
118+
strategy:
119+
matrix:
120+
CUDA_VER: ${{ fromJson(needs.compute-matrix.outputs.MATRIX).cuda_ver }}
121+
PYTHON_VER: ${{ fromJson(needs.compute-matrix.outputs.MATRIX).python_ver }}
122+
runs-on: ubuntu-latest
123+
steps:
124+
- name: Checkout code repo
125+
uses: actions/checkout@v4
126+
with:
127+
fetch-depth: 0
128+
- name: Login to DockerHub
129+
uses: docker/login-action@v3
130+
with:
131+
username: ${{ secrets.CUOPT_DOCKERHUB_USERNAME }}
132+
password: ${{ secrets.CUOPT_DOCKERHUB_TOKEN }}
133+
- name: Login to NGC
134+
uses: docker/login-action@v3
135+
with:
136+
registry: "nvcr.io"
137+
username: "$oauthtoken"
138+
password: ${{ secrets.CUOPT_NGC_DOCKER_KEY }}
139+
- name: Trim CUDA and Python versions
140+
id: trim
141+
run: |
142+
echo "CUDA_SHORT=$(echo '${{ matrix.CUDA_VER }}' | sed -E 's/([0-9]+\.[0-9]+)\.[0-9]+/\1/')" >> $GITHUB_OUTPUT
143+
echo "PYTHON_SHORT=$(echo '${{ matrix.PYTHON_VER }}' | sed -E 's/([0-9]+\.[0-9]+)\.[0-9]+/\1/')" >> $GITHUB_OUTPUT
144+
- name: Create multiarch manifest
145+
shell: bash
146+
env:
147+
CUOPT_VER: ${{ needs.compute-matrix.outputs.CUOPT_VER }}
148+
CUDA_SHORT: ${{ steps.trim.outputs.CUDA_SHORT }}
149+
PYTHON_SHORT: ${{ steps.trim.outputs.PYTHON_SHORT }}
150+
IMAGE_TAG_PREFIX: ${{ needs.compute-matrix.outputs.IMAGE_TAG_PREFIX }}
151+
BUILD_TYPE: ${{ inputs.build_type }}
152+
run: bash ci/docker/create_multiarch_manifest.sh
153153

154154
test-images:
155155
name: Test images
156-
#needs: build-cuopt-multiarch-manifest
157-
needs: compute-matrix
156+
needs: build-cuopt-multiarch-manifest
158157
secrets: inherit
159158
strategy:
160159
matrix:

ci/docker/Dockerfile

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,14 @@ FROM install-env AS cuopt-final
108108

109109
ARG PYTHON_SHORT_VER
110110

111-
ENV PATH="/usr/local/cuda/bin:/usr/bin:/usr/local/bin:/usr/local/nvidia/bin/:/home/cuopt/.local/lib/python3.12/site-packages/libcuopt/bin/:/home/cuopt/.local/bin:$PATH"
112-
ENV LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:/usr/lib/aarch64-linux-gnu:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/lib/wsl/lib:/usr/lib/wsl/lib/libnvidia-container:/usr/lib/nvidia:/usr/lib/nvidia-current:/home/cuopt/.local/lib/python3.12/site-packages/libcuopt/lib/:/home/cuopt/.local/lib/python3.12/site-packages/rapids_logger/lib64:${LD_LIBRARY_PATH}"
113-
# Make pip packages accessible to all users
114-
ENV PYTHONPATH="/home/cuopt/.local/lib/python${PYTHON_SHORT_VER}/site-packages:/usr/local/lib/python${PYTHON_SHORT_VER}/site-packages:${PYTHONPATH:-}"
111+
# Set environment variables in .bashrc for all future shells
112+
RUN echo 'export PATH="/usr/local/cuda/bin:/usr/bin:/usr/local/bin:/usr/local/nvidia/bin/:/home/cuopt/.local/lib/python3.12/site-packages/libcuopt/bin/:/home/cuopt/.local/bin:$PATH"' >> /home/cuopt/.bashrc && \
113+
echo 'export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:/usr/lib/aarch64-linux-gnu:/usr/local/cuda/lib64:/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/lib/wsl/lib:/usr/lib/wsl/lib/libnvidia-container:/usr/lib/nvidia:/usr/lib/nvidia-current:/home/cuopt/.local/lib/python3.12/site-packages/libcuopt/lib/:/home/cuopt/.local/lib/python3.12/site-packages/rapids_logger/lib64:${LD_LIBRARY_PATH}"' >> /home/cuopt/.bashrc && \
114+
echo 'export PYTHONPATH="/home/cuopt/.local/lib/python${PYTHON_SHORT_VER}/site-packages:/usr/local/lib/python${PYTHON_SHORT_VER}/site-packages:${PYTHONPATH:-}"' >> /home/cuopt/.bashrc
115+
116+
117+
# Create a .bash_profile that sources .bashrc if it exists
118+
RUN echo 'if [ -f ~/.bashrc ]; then . ~/.bashrc; fi' > /home/cuopt/.bash_profile
115119

116120
COPY --from=cuda-libs /usr/local/cuda/lib64/libnvrtc* /usr/local/cuda/lib64/
117121
COPY --from=cuda-libs /usr/local/cuda/lib64/libnvJitLink* /usr/local/cuda/lib64/

0 commit comments

Comments
 (0)