diff --git a/.dockerignore b/.dockerignore index 490a32afa..4474c93b5 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,18 +1,35 @@ +**/*.arrow **/*.csv +**/*.geojson +**/*.gif **/*.git **/*.gitattributes -**/*.zip -**/*.*.o -**/*.arrow -**/*.geojson +**/*.jpg +**/*.las +**/*.laz +**/*.o **/*.parquet +**/*.png +**/*.so **/*.tar.gz +**/*.tar.xz +**/*.zip + +!**/modules/demo/**/*.png +!**/modules/demo/**/*.jpg +!**/modules/demo/**/*.gif +!**/modules/demo/**/*.las +!**/modules/demo/**/*.laz + **/lerna-debug.log **/docker-compose*.yml **/compile_commands.json **/*.code-workspace **/z-* +**/out/ +**/.next/ +**/_next/ **/build **/.cache **/.ccache @@ -24,7 +41,6 @@ **/modules/**/doc **/modules/**/lib **/modules/**/data -**/modules/demo/client-server/.next **/modules/*/include/napi.h **/modules/*/include/napi-inl.h diff --git a/.gitattributes b/.gitattributes index b174e4393..38e5ca5a8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,7 +6,6 @@ *.png filter=lfs diff=lfs merge=lfs -text *.jpg filter=lfs diff=lfs merge=lfs -text *.gif filter=lfs diff=lfs merge=lfs -text -*.so filter=lfs diff=lfs merge=lfs -text *.las filter=lfs diff=lfs merge=lfs -text *.laz filter=lfs diff=lfs merge=lfs -text *.tar.xz filter=lfs diff=lfs merge=lfs -text diff --git a/.github/actions/build-and-publish-image-ssh/action.yml b/.github/actions/build-and-publish-image-ssh/action.yml index c3cad84cf..1ff8e0ba2 100644 --- a/.github/actions/build-and-publish-image-ssh/action.yml +++ b/.github/actions/build-and-publish-image-ssh/action.yml @@ -17,6 +17,10 @@ inputs: default: false required: false description: "Push the image to the container registry (default false)" + home: + default: /home/runner + required: true + description: "Path to home dir" temp: default: /tmp required: true @@ -57,10 +61,12 @@ inputs: default: "" required: false description: "AWS secret key for writing to the shared sccache S3 bucket" - SSH_PRIVATE_KEY: - default: "" + CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY: + required: true + description: "Private SSH key for cloning rapidsai/cumlprims_mg" + CUGRAPH_OPS_SSH_PRIVATE_DEPLOY_KEY: required: true - description: "Private SSH key for cloning private RAPIDS repositories" + description: "Private SSH key for cloning rapidsai/cugraph-ops" outputs: digest: @@ -100,7 +106,15 @@ runs: - name: Set up ssh-agent uses: webfactory/ssh-agent@v0.5.4 with: - ssh-private-key: ${{ inputs.SSH_PRIVATE_KEY }} + ssh-auth-sock: ${{ inputs.home }}/ssh-agent + ssh-private-key: | + ${{ inputs.CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY }} + ${{ inputs.CUGRAPH_OPS_SSH_PRIVATE_DEPLOY_KEY }} + - name: Copy .ssh and .gitconfig to build context + shell: bash + run: | + cp -ar "$HOME"/.{ssh,gitconfig} "$(realpath -m "${{ inputs.context }}")/dev/"; + sed -i "s@$HOME@/root@g" "$(realpath -m "${{ inputs.context }}")/dev/.ssh/config"; - name: Build image id: docker-build uses: docker/build-push-action@v2 diff --git a/.github/workflows/main.pr.yml b/.github/workflows/main.pr.yml index bed6cee62..833e2f497 100644 --- a/.github/workflows/main.pr.yml +++ b/.github/workflows/main.pr.yml @@ -8,8 +8,8 @@ on: jobs: build-pull-request: name: Build pull request - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -25,14 +25,16 @@ jobs: shell: bash run: | echo "${{ toJSON(runner) }}" - echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; + echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -132,25 +134,36 @@ jobs: if: env.dev_changed == 'true' || env.src_changed == 'true' uses: webfactory/ssh-agent@v0.5.4 with: - ssh-private-key: ${{ secrets.GHA_SSH_PRIVATE_KEY }} + ssh-auth-sock: ${{ env.HOME }}/ssh-agent + ssh-private-key: | + ${{ secrets.CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY }} + ${{ secrets.CUGRAPH_OPS_SSH_PRIVATE_DEPLOY_KEY }} - name: Make container .env - if: env.src_changed == 'true' + if: env.dev_changed == 'true' || env.src_changed == 'true' shell: bash run: | + threads=$((${PARALLEL_LEVEL:-1} / 2)) + if [[ "$threads" == 0 ]]; then + threads=1; + fi cat << EOF > "${{ runner.temp }}/.env" CUDAARCHS=ALL - PARALLEL_LEVEL=1 - NVCC_APPEND_FLAGS=--threads=${PARALLEL_LEVEL:-1} + PARALLEL_LEVEL=${threads} + NVCC_APPEND_FLAGS=--threads=${threads} RAPIDS_VERSION=${RAPIDS} SCCACHE_REGION=us-west-2 SCCACHE_IDLE_TIMEOUT=32768 SCCACHE_BUCKET=node-rapids-sccache SCCACHE_SERVER_PORT=$((4220 + $RANDOM % 5000)) + EOF + + echo -e "container .env:\n$(cat "${{ runner.temp }}/.env")" + + cat << EOF >> "${{ runner.temp }}/.env" AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }} EOF - echo -e "container .env:\n$(cat "${{ runner.temp }}/.env")" - name: Build if: env.dev_changed == 'true' || env.src_changed == 'true' @@ -167,10 +180,12 @@ jobs: --build-arg ARM64_BASE="nvidia/cuda:${{ matrix.CUDA }}-devel-${{ matrix.LINUX }}" \ -f node/dev/dockerfiles/devel/main.Dockerfile -t ${MAIN_IMG} node fi - if [[ ${src_changed} == 'true' ]]; then - docker run --rm -t ${RUN_ARGS} \ - -e "SSH_AUTH_SOCK=/ssh-agent" \ - -v "$SSH_AUTH_SOCK:/ssh-agent" \ - -v "$HOME/.ssh:/opt/rapids/.ssh" \ - ${MAIN_IMG} bash -c 'set -ex; yarn --pure-lockfile --prefer-offline && yarn build;'; - fi + docker run --rm -t ${RUN_ARGS} \ + -v "$HOME/.ssh:$HOME/.ssh" \ + -e "SSH_AUTH_SOCK=/ssh-agent" \ + -v "$SSH_AUTH_SOCK:/ssh-agent" \ + -v "$HOME/.ssh:/opt/rapids/.ssh" \ + -v "$HOME/.gitconfig:/etc/gitconfig" \ + ${MAIN_IMG} bash -c "set -ex; \ + yarn --pure-lockfile --prefer-offline \ + && yarn build" diff --git a/.github/workflows/merge.pr.yml b/.github/workflows/merge.pr.yml index dcef23b55..14d3877e3 100644 --- a/.github/workflows/merge.pr.yml +++ b/.github/workflows/merge.pr.yml @@ -13,15 +13,15 @@ env: REPOSITORY: "ghcr.io/rapidsai/node" concurrency: - group: build_docker_images + group: build-docker-images-on-${{ github.event_name }}-from-${{ github.ref_name }} cancel-in-progress: true jobs: build-and-publish-devel-main-image: name: Build devel main image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -36,12 +36,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -105,8 +107,8 @@ jobs: needs: - build-and-publish-devel-main-image name: Build devel packages image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -121,12 +123,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -174,14 +178,16 @@ jobs: with: pull: true push: true + home: ${{ env.HOME }} temp: ${{ runner.temp }} file: dev/dockerfiles/devel/package.Dockerfile registry-url: ghcr.io registry-username: ${{ github.repository_owner }} registry-password: ${{ github.token }} - SSH_PRIVATE_KEY: "${{ secrets.GHA_SSH_PRIVATE_KEY }}" AWS_ACCESS_KEY_ID: "${{ secrets.AWS_ACCESS_KEY_ID }}" AWS_SECRET_ACCESS_KEY: "${{ secrets.AWS_SECRET_ACCESS_KEY }}" + CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY: "${{ secrets.CUMLPRIMS_SSH_PRIVATE_DEPLOY_KEY }}" + CUGRAPH_OPS_SSH_PRIVATE_DEPLOY_KEY: "${{ secrets.CUGRAPH_OPS_SSH_PRIVATE_DEPLOY_KEY }}" tags: | ${{ env.REPOSITORY }}:${{ env.RAPIDS }}-devel-node${{ env.NODE }}-cuda${{ matrix.CUDA }}-${{ matrix.LINUX }}-packages build-args: | @@ -197,8 +203,8 @@ jobs: needs: - build-and-publish-devel-main-image name: Build runtime cuda-base image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -213,12 +219,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -279,8 +287,8 @@ jobs: - build-and-publish-devel-packages-image - build-and-publish-runtime-cuda-base-image name: Build runtime cudf image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -295,12 +303,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -362,8 +372,8 @@ jobs: - build-and-publish-devel-packages-image - build-and-publish-runtime-cuda-base-image name: Build runtime cugraph image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -378,12 +388,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -445,8 +457,8 @@ jobs: - build-and-publish-devel-packages-image - build-and-publish-runtime-cuda-base-image name: Build runtime cuml image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -461,12 +473,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -528,8 +542,8 @@ jobs: - build-and-publish-devel-packages-image - build-and-publish-runtime-cuda-base-image name: Build runtime cuspatial image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -544,12 +558,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -611,8 +627,8 @@ jobs: - build-and-publish-devel-packages-image - build-and-publish-runtime-cuda-base-image name: Build runtime glfw image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -627,12 +643,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -694,8 +712,8 @@ jobs: - build-and-publish-devel-packages-image - build-and-publish-runtime-cuda-base-image name: Build runtime sql image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -710,12 +728,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -779,8 +799,8 @@ jobs: - build-and-publish-devel-packages-image - build-and-publish-runtime-cuda-base-image name: Build runtime main image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -795,12 +815,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -864,8 +886,8 @@ jobs: - build-and-publish-devel-packages-image - build-and-publish-runtime-cuda-base-image name: Build runtime demo image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -880,12 +902,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 @@ -948,8 +972,8 @@ jobs: needs: - build-and-publish-runtime-demo-image name: Build runtime notebook image - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: @@ -964,12 +988,14 @@ jobs: echo "is_gha_runner=${{ !contains(runner.name, 'runners-') }}" >> $GITHUB_ENV; echo "manual_build=${{ github.event_name == 'workflow_dispatch' }}" >> $GITHUB_ENV; - - name: Install utilities + - name: Set up self-hosted runner if: env.is_gha_runner != 'true' shell: bash run: | - sudo apt update - sudo apt install --no-install-recommends git-lfs + sudo apt update && sudo apt install -y --no-install-recommends git-lfs + sudo sed -ri "s@$HOME@${{ runner.workspace }}@g" /etc/passwd + sudo chown -R $(id -u):$(id -g) "${{ runner.workspace }}" + echo "HOME=${{ runner.workspace }}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 167841ad0..8e0f70536 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,8 +40,8 @@ jobs: build-extract-and-release-packages: name: Build, extract, and release packages - runs-on: ubuntu-20.04 - # runs-on: [self-hosted, linux, amd64, cpu4] + # runs-on: ubuntu-20.04 + runs-on: [self-hosted, linux, amd64, cpu4] strategy: fail-fast: true matrix: diff --git a/.gitignore b/.gitignore index ffeb6b77f..d0ac22ead 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,9 @@ **/node_modules **/compile_commands.json +/dev/.ssh/* +!/dev/.ssh/.keepDir + .env .creds .vscode diff --git a/dev/.gitconfig b/dev/.gitconfig new file mode 100644 index 000000000..e69de29bb diff --git a/dev/.ssh/.keepDir b/dev/.ssh/.keepDir new file mode 100644 index 000000000..e69de29bb diff --git a/dev/dockerfiles/devel/package.Dockerfile b/dev/dockerfiles/devel/package.Dockerfile index a2997b303..e57315ae5 100644 --- a/dev/dockerfiles/devel/package.Dockerfile +++ b/dev/dockerfiles/devel/package.Dockerfile @@ -37,13 +37,16 @@ ENV RAPIDSAI_SKIP_DOWNLOAD=1 RUN --mount=type=ssh,required=true \ --mount=type=secret,id=sccache_credentials \ + --mount=type=bind,source=dev/.ssh,target=/root/.ssh,rw \ + --mount=type=bind,source=dev/.gitconfig,target=/etc/gitconfig \ if [ -f /run/secrets/sccache_credentials ]; then \ export $(grep -v '^#' /run/secrets/sccache_credentials | xargs -d '\n'); \ fi; \ - mkdir -p -m 0700 /root/.ssh \ - # Add GitHub's public keys to known_hosts - && curl -s https://api.github.com/meta | jq -r '.ssh_keys | map("github.com \(.)") | .[]' > /root/.ssh/known_hosts \ - && echo -e "build context:\n$(find .)" \ + # Add GitHub's public keys to known_hosts + if [ ! -f /root/.ssh/known_hosts ]; then \ + curl -s https://api.github.com/meta | jq -r '.ssh_keys | map("github.com \(.)") | .[]' > /root/.ssh/known_hosts; \ + fi; \ + echo -e "build context:\n$(find .)" \ && bash -c 'echo -e "\ CUDAARCHS=$CUDAARCHS\n\ PARALLEL_LEVEL=$PARALLEL_LEVEL\n\