2025-07-02T08:01:14.9707050Z Current runner version: '2.325.0' 2025-07-02T08:01:14.9713031Z Runner name: 'i-093453aafa03b6806' 2025-07-02T08:01:14.9713837Z Runner group name: 'default' 2025-07-02T08:01:14.9714661Z Machine name: 'ip-10-0-79-34' 2025-07-02T08:01:14.9717410Z ##[group]GITHUB_TOKEN Permissions 2025-07-02T08:01:14.9719748Z Contents: read 2025-07-02T08:01:14.9720264Z Metadata: read 2025-07-02T08:01:14.9720755Z ##[endgroup] 2025-07-02T08:01:14.9723017Z Secret source: Actions 2025-07-02T08:01:14.9723651Z Prepare workflow directory 2025-07-02T08:01:15.0341361Z Prepare all required actions 2025-07-02T08:01:15.0378362Z Getting action download info 2025-07-02T08:01:15.3246262Z Download action repository 'actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683' (SHA:11bd71901bbe5b1630ceea73d27597364c9af683) 2025-07-02T08:01:15.6214266Z Download action repository 'pytorch/pytorch@main' (SHA:0364db7cd14ffa67b48ef8c27fefbb3eed2b065d) 2025-07-02T08:01:29.3667793Z Download action repository 'actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093' (SHA:d3f86a106a0bac45b974a628896c90dbdf5c8093) 2025-07-02T08:01:29.7279166Z Download action repository 'pmeier/pytest-results-action@a2c1430e2bddadbad9f49a6f9b879f062c6b19b1' (SHA:a2c1430e2bddadbad9f49a6f9b879f062c6b19b1) 2025-07-02T08:01:29.8404615Z Download action repository 'actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02' (SHA:ea165f8d65b6e75b540449e92b4886f43607fa02) 2025-07-02T08:01:30.2672089Z Download action repository 'seemethere/upload-artifact-s3@baba72d0712b404f646cebe0730933554ebce96a' (SHA:baba72d0712b404f646cebe0730933554ebce96a) 2025-07-02T08:01:30.5418292Z Getting action download info 2025-07-02T08:01:30.6952343Z Uses: pytorch/test-infra/.github/workflows/linux_job_v2.yml@refs/heads/main (4e43bd8700fb3fac32b6155020e13e6033eb4bcb) 2025-07-02T08:01:30.6955877Z ##[group] Inputs 2025-07-02T08:01:30.6965988Z script: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:30.6976709Z timeout: 120 2025-07-02T08:01:30.6976958Z runner: linux.g5.4xlarge.nvidia.gpu 2025-07-02T08:01:30.6977266Z upload-artifact: docs 2025-07-02T08:01:30.6977779Z upload-artifact-to-s3: false 2025-07-02T08:01:30.6978057Z download-artifact: 2025-07-02T08:01:30.6978294Z repository: pytorch/rl 2025-07-02T08:01:30.6978548Z fetch-depth: 1 2025-07-02T08:01:30.6978757Z submodules: 2025-07-02T08:01:30.6978955Z ref: 2025-07-02T08:01:30.6979185Z test-infra-repository: pytorch/test-infra 2025-07-02T08:01:30.6979489Z test-infra-ref: 2025-07-02T08:01:30.6979733Z use-custom-docker-registry: true 2025-07-02T08:01:30.6980033Z docker-image: pytorch/almalinux-builder 2025-07-02T08:01:30.6980344Z docker-build-dir: .ci/docker 2025-07-02T08:01:30.6980599Z gpu-arch-type: cpu 2025-07-02T08:01:30.6980830Z gpu-arch-version: 2025-07-02T08:01:30.6981053Z job-name: linux-job 2025-07-02T08:01:30.6981293Z continue-on-error: false 2025-07-02T08:01:30.6981538Z binary-matrix: 2025-07-02T08:01:30.6981765Z run-with-docker: true 2025-07-02T08:01:30.6982017Z secrets-env: 2025-07-02T08:01:30.6982232Z no-sudo: false 2025-07-02T08:01:30.6982455Z ##[endgroup] 2025-07-02T08:01:30.6982715Z Complete job name: build-docs (3.9, 12.8) / linux-job 2025-07-02T08:01:30.7584831Z A job started hook has been configured by the self-hosted runner administrator 2025-07-02T08:01:30.7712704Z ##[group]Run '/home/ec2-user/runner-scripts/before_job.sh' 2025-07-02T08:01:30.7724531Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:01:30.7725129Z ##[endgroup] 2025-07-02T08:01:32.2735544Z Runner Type: linux.g5.4xlarge.nvidia.gpu 2025-07-02T08:01:32.2736033Z Instance Type: g5.4xlarge 2025-07-02T08:01:32.2736286Z AMI Name: unknown 2025-07-02T08:01:32.2780733Z AMI ID: ami-05ffe3c48a9991133 2025-07-02T08:01:37.7718260Z ##[group]Run set -euxo pipefail 2025-07-02T08:01:37.7718626Z set -euxo pipefail 2025-07-02T08:01:37.7718912Z if [[ "${NO_SUDO}" == "false" ]]; then 2025-07-02T08:01:37.7719266Z  echo "::group::Cleanup with-sudo debug output" 2025-07-02T08:01:37.7719631Z  sudo rm -rfv "${GITHUB_WORKSPACE}" 2025-07-02T08:01:37.7719927Z else 2025-07-02T08:01:37.7720181Z  echo "::group::Cleanup no-sudo debug output" 2025-07-02T08:01:37.7720521Z  rm -rfv "${GITHUB_WORKSPACE}" 2025-07-02T08:01:37.7720788Z fi 2025-07-02T08:01:37.7720979Z  2025-07-02T08:01:37.7721206Z mkdir -p "${GITHUB_WORKSPACE}" 2025-07-02T08:01:37.7721517Z echo "::endgroup::" 2025-07-02T08:01:37.7734227Z shell: /usr/bin/bash -e {0} 2025-07-02T08:01:37.7734477Z env: 2025-07-02T08:01:37.7734705Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:37.7735018Z REPOSITORY: pytorch/rl 2025-07-02T08:01:37.7735285Z PR_NUMBER: 3030 2025-07-02T08:01:37.7745169Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:37.7756029Z NO_SUDO: false 2025-07-02T08:01:37.7756247Z ##[endgroup] 2025-07-02T08:01:37.7791581Z + [[ false == \f\a\l\s\e ]] 2025-07-02T08:01:37.7804646Z ##[group]Cleanup with-sudo debug output 2025-07-02T08:01:37.7807649Z + echo '::group::Cleanup with-sudo debug output' 2025-07-02T08:01:37.7808065Z + sudo rm -rfv /home/ec2-user/actions-runner/_work/rl/rl 2025-07-02T08:01:37.9314160Z removed directory '/home/ec2-user/actions-runner/_work/rl/rl' 2025-07-02T08:01:37.9336828Z + mkdir -p /home/ec2-user/actions-runner/_work/rl/rl 2025-07-02T08:01:37.9353703Z + echo ::endgroup:: 2025-07-02T08:01:37.9354369Z ##[endgroup] 2025-07-02T08:01:37.9471591Z ##[group]Run actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 2025-07-02T08:01:37.9472000Z with: 2025-07-02T08:01:37.9472212Z repository: pytorch/test-infra 2025-07-02T08:01:37.9472490Z path: test-infra 2025-07-02T08:01:37.9472708Z submodules: recursive 2025-07-02T08:01:37.9473174Z token: *** 2025-07-02T08:01:37.9473403Z ssh-strict: true 2025-07-02T08:01:37.9473611Z ssh-user: git 2025-07-02T08:01:37.9473839Z persist-credentials: true 2025-07-02T08:01:37.9474083Z clean: true 2025-07-02T08:01:37.9474316Z sparse-checkout-cone-mode: true 2025-07-02T08:01:37.9474591Z fetch-depth: 1 2025-07-02T08:01:37.9474814Z fetch-tags: false 2025-07-02T08:01:37.9475238Z show-progress: true 2025-07-02T08:01:37.9475457Z lfs: false 2025-07-02T08:01:37.9475669Z set-safe-directory: true 2025-07-02T08:01:37.9475906Z env: 2025-07-02T08:01:37.9476137Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:37.9476444Z REPOSITORY: pytorch/rl 2025-07-02T08:01:37.9476718Z PR_NUMBER: 3030 2025-07-02T08:01:37.9486677Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:37.9504583Z ##[endgroup] 2025-07-02T08:01:38.0913203Z Syncing repository: pytorch/test-infra 2025-07-02T08:01:38.0913900Z ##[group]Getting Git version info 2025-07-02T08:01:38.0914338Z Working directory is '/home/ec2-user/actions-runner/_work/rl/rl/test-infra' 2025-07-02T08:01:38.0914940Z [command]/usr/bin/git version 2025-07-02T08:01:38.0921891Z git version 2.47.1 2025-07-02T08:01:38.0948296Z ##[endgroup] 2025-07-02T08:01:38.0961978Z Temporarily overriding HOME='/home/ec2-user/actions-runner/_work/_temp/4e4bb53c-9b67-457f-bbd1-a4f6233de605' before making global git config changes 2025-07-02T08:01:38.0962886Z Adding repository directory to the temporary git global config as a safe directory 2025-07-02T08:01:38.0975803Z [command]/usr/bin/git config --global --add safe.directory /home/ec2-user/actions-runner/_work/rl/rl/test-infra 2025-07-02T08:01:38.1034285Z ##[group]Initializing the repository 2025-07-02T08:01:38.1034910Z [command]/usr/bin/git init /home/ec2-user/actions-runner/_work/rl/rl/test-infra 2025-07-02T08:01:38.1066257Z hint: Using 'master' as the name for the initial branch. This default branch name 2025-07-02T08:01:38.1066866Z hint: is subject to change. To configure the initial branch name to use in all 2025-07-02T08:01:38.1067411Z hint: of your new repositories, which will suppress this warning, call: 2025-07-02T08:01:38.1067805Z hint: 2025-07-02T08:01:38.1068113Z hint: git config --global init.defaultBranch 2025-07-02T08:01:38.1068455Z hint: 2025-07-02T08:01:38.1068791Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2025-07-02T08:01:38.1069342Z hint: 'development'. The just-created branch can be renamed via this command: 2025-07-02T08:01:38.1069771Z hint: 2025-07-02T08:01:38.1070002Z hint: git branch -m 2025-07-02T08:01:38.1070501Z Initialized empty Git repository in /home/ec2-user/actions-runner/_work/rl/rl/test-infra/.git/ 2025-07-02T08:01:38.1079291Z [command]/usr/bin/git remote add origin https://github.com/pytorch/test-infra 2025-07-02T08:01:38.1116610Z ##[endgroup] 2025-07-02T08:01:38.1117063Z ##[group]Disabling automatic garbage collection 2025-07-02T08:01:38.1120860Z [command]/usr/bin/git config --local gc.auto 0 2025-07-02T08:01:38.1156129Z ##[endgroup] 2025-07-02T08:01:38.1156531Z ##[group]Setting up auth 2025-07-02T08:01:38.1161993Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2025-07-02T08:01:38.1405111Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2025-07-02T08:01:38.1837396Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2025-07-02T08:01:38.1873906Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" 2025-07-02T08:01:38.2287094Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** 2025-07-02T08:01:38.2341668Z ##[endgroup] 2025-07-02T08:01:38.2342183Z ##[group]Determining the default branch 2025-07-02T08:01:38.2344736Z Retrieving the default branch name 2025-07-02T08:01:38.4395441Z Default branch 'main' 2025-07-02T08:01:38.4396088Z ##[endgroup] 2025-07-02T08:01:38.4396498Z ##[group]Fetching the repository 2025-07-02T08:01:38.4401590Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +refs/heads/main:refs/remotes/origin/main 2025-07-02T08:01:38.9023508Z From https://github.com/pytorch/test-infra 2025-07-02T08:01:38.9051923Z * [new branch] main -> origin/main 2025-07-02T08:01:38.9052946Z ##[endgroup] 2025-07-02T08:01:38.9053340Z ##[group]Determining the checkout info 2025-07-02T08:01:38.9054580Z ##[endgroup] 2025-07-02T08:01:38.9060314Z [command]/usr/bin/git sparse-checkout disable 2025-07-02T08:01:38.9110904Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig 2025-07-02T08:01:38.9145877Z ##[group]Checking out the ref 2025-07-02T08:01:38.9150098Z [command]/usr/bin/git checkout --progress --force -B main refs/remotes/origin/main 2025-07-02T08:01:39.0676617Z Switched to a new branch 'main' 2025-07-02T08:01:39.0678835Z branch 'main' set up to track 'origin/main'. 2025-07-02T08:01:39.0692147Z ##[endgroup] 2025-07-02T08:01:39.0692574Z ##[group]Setting up auth for fetching submodules 2025-07-02T08:01:39.0697653Z [command]/usr/bin/git config --global http.https://github.com/.extraheader AUTHORIZATION: basic *** 2025-07-02T08:01:39.0749022Z [command]/usr/bin/git config --global --unset-all url.https://github.com/.insteadOf 2025-07-02T08:01:39.0787812Z [command]/usr/bin/git config --global --add url.https://github.com/.insteadOf git@github.com: 2025-07-02T08:01:39.0822782Z [command]/usr/bin/git config --global --add url.https://github.com/.insteadOf org-21003710@github.com: 2025-07-02T08:01:39.0854257Z ##[endgroup] 2025-07-02T08:01:39.0854639Z ##[group]Fetching submodules 2025-07-02T08:01:39.0857802Z [command]/usr/bin/git submodule sync --recursive 2025-07-02T08:01:39.1244864Z [command]/usr/bin/git -c protocol.version=2 submodule update --init --force --depth=1 --recursive 2025-07-02T08:01:39.1628502Z [command]/usr/bin/git submodule foreach --recursive git config --local gc.auto 0 2025-07-02T08:01:39.2013996Z ##[endgroup] 2025-07-02T08:01:39.2014429Z ##[group]Persisting credentials for submodules 2025-07-02T08:01:39.2018906Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'url\.https\:\/\/github\.com\/\.insteadOf' && git config --local --unset-all 'url.https://github.com/.insteadOf' || :" 2025-07-02T08:01:39.2412373Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local 'http.https://github.com/.extraheader' 'AUTHORIZATION: basic ***' && git config --local --show-origin --name-only --get-regexp remote.origin.url" 2025-07-02T08:01:39.2826188Z [command]/usr/bin/git submodule foreach --recursive git config --local --add 'url.https://github.com/.insteadOf' 'git@github.com:' 2025-07-02T08:01:39.3193511Z [command]/usr/bin/git submodule foreach --recursive git config --local --add 'url.https://github.com/.insteadOf' 'org-21003710@github.com:' 2025-07-02T08:01:39.3559435Z ##[endgroup] 2025-07-02T08:01:39.3605073Z [command]/usr/bin/git log -1 --format=%H 2025-07-02T08:01:39.3631606Z 4e43bd8700fb3fac32b6155020e13e6033eb4bcb 2025-07-02T08:01:39.3872465Z Prepare all required actions 2025-07-02T08:01:39.3872930Z Getting action download info 2025-07-02T08:01:39.4793616Z Download action repository 'pytorch/test-infra@main' (SHA:4e43bd8700fb3fac32b6155020e13e6033eb4bcb) 2025-07-02T08:01:41.4089913Z Getting action download info 2025-07-02T08:01:41.5140960Z Download action repository 'nick-fields/retry@3e91a01664abd3c5cd539100d10d33b9c5b68482' (SHA:3e91a01664abd3c5cd539100d10d33b9c5b68482) 2025-07-02T08:01:41.6826082Z ##[group]Run ./test-infra/.github/actions/setup-linux 2025-07-02T08:01:41.6826406Z env: 2025-07-02T08:01:41.6826641Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:41.6826950Z REPOSITORY: pytorch/rl 2025-07-02T08:01:41.6827190Z PR_NUMBER: 3030 2025-07-02T08:01:41.6837180Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:41.6847801Z ##[endgroup] 2025-07-02T08:01:41.6931794Z ##[group]Run set -euo pipefail 2025-07-02T08:01:41.6932106Z set -euo pipefail 2025-07-02T08:01:41.6932371Z function get_ec2_metadata() { 2025-07-02T08:01:41.6932904Z  # Pulled from instance metadata endpoint for EC2 2025-07-02T08:01:41.6933493Z  # see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html 2025-07-02T08:01:41.6934008Z  category=$1 2025-07-02T08:01:41.6934797Z  curl -H "X-aws-ec2-metadata-token: $(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30")" -fsSL "http://169.254.169.254/latest/meta-data/${category}" 2025-07-02T08:01:41.6935603Z } 2025-07-02T08:01:41.6935840Z echo "ami-id: $(get_ec2_metadata ami-id)" 2025-07-02T08:01:41.6936229Z echo "instance-id: $(get_ec2_metadata instance-id)" 2025-07-02T08:01:41.6936658Z echo "instance-type: $(get_ec2_metadata instance-type)" 2025-07-02T08:01:41.6937033Z echo "system info $(uname -a)" 2025-07-02T08:01:41.6946795Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:01:41.6947146Z env: 2025-07-02T08:01:41.6947381Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:41.6947698Z REPOSITORY: pytorch/rl 2025-07-02T08:01:41.6947932Z PR_NUMBER: 3030 2025-07-02T08:01:41.6957662Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:41.6967661Z ##[endgroup] 2025-07-02T08:01:41.7146164Z ami-id: ami-05ffe3c48a9991133 2025-07-02T08:01:41.7264389Z instance-id: i-093453aafa03b6806 2025-07-02T08:01:41.7384544Z instance-type: g5.4xlarge 2025-07-02T08:01:41.7401679Z system info Linux ip-10-0-79-34.ec2.internal 6.1.141-155.222.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jun 17 10:29:47 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux 2025-07-02T08:01:41.7473215Z ##[group]Run echo "IN_CONTAINER_RUNNER=$(if [ -f /.inarc ] || [ -f /.incontainer ]; then echo true ; else echo false; fi)" >> "$GITHUB_OUTPUT" 2025-07-02T08:01:41.7474058Z echo "IN_CONTAINER_RUNNER=$(if [ -f /.inarc ] || [ -f /.incontainer ]; then echo true ; else echo false; fi)" >> "$GITHUB_OUTPUT" 2025-07-02T08:01:41.7483331Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:01:41.7483679Z env: 2025-07-02T08:01:41.7483915Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:41.7484226Z REPOSITORY: pytorch/rl 2025-07-02T08:01:41.7484477Z PR_NUMBER: 3030 2025-07-02T08:01:41.7494346Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:41.7504254Z ##[endgroup] 2025-07-02T08:01:41.7596076Z ##[group]Run if systemctl is-active --quiet docker; then 2025-07-02T08:01:41.7596487Z if systemctl is-active --quiet docker; then 2025-07-02T08:01:41.7596839Z  echo "Docker daemon is running..."; 2025-07-02T08:01:41.7597129Z else 2025-07-02T08:01:41.7597456Z  echo "Starting docker deamon..." && sudo systemctl start docker; 2025-07-02T08:01:41.7597850Z fi 2025-07-02T08:01:41.7606373Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:01:41.7606710Z env: 2025-07-02T08:01:41.7606944Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:41.7607258Z REPOSITORY: pytorch/rl 2025-07-02T08:01:41.7607502Z PR_NUMBER: 3030 2025-07-02T08:01:41.7617253Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:41.7627443Z ##[endgroup] 2025-07-02T08:01:41.7727617Z Docker daemon is running... 2025-07-02T08:01:41.7762689Z ##[group]Run AWS_ACCOUNT_ID=$(aws sts get-caller-identity|grep Account|cut -f4 -d\") 2025-07-02T08:01:41.7763297Z AWS_ACCOUNT_ID=$(aws sts get-caller-identity|grep Account|cut -f4 -d\") 2025-07-02T08:01:41.7763771Z retry () { "$@" || (sleep 1 && "$@") || (sleep 2 && "$@") } 2025-07-02T08:01:41.7764331Z retry aws ecr get-login-password --region "$AWS_DEFAULT_REGION" | docker login --username AWS \ 2025-07-02T08:01:41.7764998Z  --password-stdin "$AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com" 2025-07-02T08:01:41.7774900Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:01:41.7775242Z env: 2025-07-02T08:01:41.7775470Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:41.7775789Z REPOSITORY: pytorch/rl 2025-07-02T08:01:41.7776024Z PR_NUMBER: 3030 2025-07-02T08:01:41.7785541Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:41.7795595Z AWS_RETRY_MODE: standard 2025-07-02T08:01:41.7795847Z AWS_MAX_ATTEMPTS: 5 2025-07-02T08:01:41.7796089Z AWS_DEFAULT_REGION: us-east-1 2025-07-02T08:01:41.7796346Z ##[endgroup] 2025-07-02T08:01:42.8272680Z WARNING! Your password will be stored unencrypted in /home/ec2-user/.docker/config.json. 2025-07-02T08:01:42.8273247Z Configure a credential helper to remove this warning. See 2025-07-02T08:01:42.8273784Z https://docs.docker.com/engine/reference/commandline/login/#credentials-store 2025-07-02T08:01:42.8274179Z 2025-07-02T08:01:42.8274275Z Login Succeeded 2025-07-02T08:01:42.8334159Z ##[group]Run env | grep '^GITHUB' >> "${RUNNER_TEMP}/github_env_${GITHUB_RUN_ID}" 2025-07-02T08:01:42.8334695Z env | grep '^GITHUB' >> "${RUNNER_TEMP}/github_env_${GITHUB_RUN_ID}" 2025-07-02T08:01:42.8335157Z env | grep '^CI' >> "${RUNNER_TEMP}/github_env_${GITHUB_RUN_ID}" 2025-07-02T08:01:42.8345191Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:01:42.8345530Z env: 2025-07-02T08:01:42.8346111Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:42.8346424Z REPOSITORY: pytorch/rl 2025-07-02T08:01:42.8346668Z PR_NUMBER: 3030 2025-07-02T08:01:42.8356523Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:42.8366475Z ##[endgroup] 2025-07-02T08:01:42.8473239Z ##[group]Run RUNNER_ARTIFACT_DIR="${RUNNER_TEMP}/artifacts" 2025-07-02T08:01:42.8473690Z RUNNER_ARTIFACT_DIR="${RUNNER_TEMP}/artifacts" 2025-07-02T08:01:42.8474056Z sudo rm -rf "${RUNNER_ARTIFACT_DIR}" 2025-07-02T08:01:42.8474381Z mkdir -p "${RUNNER_ARTIFACT_DIR}" 2025-07-02T08:01:42.8474801Z echo "RUNNER_ARTIFACT_DIR=${RUNNER_ARTIFACT_DIR}" >> "${GITHUB_ENV}" 2025-07-02T08:01:42.8475183Z  2025-07-02T08:01:42.8475465Z RUNNER_TEST_RESULTS_DIR="${RUNNER_TEMP}/test-results" 2025-07-02T08:01:42.8475861Z sudo rm -rf "${RUNNER_TEST_RESULTS_DIR}" 2025-07-02T08:01:42.8476212Z mkdir -p "${RUNNER_TEST_RESULTS_DIR}" 2025-07-02T08:01:42.8476668Z echo "RUNNER_TEST_RESULTS_DIR=${RUNNER_TEST_RESULTS_DIR}" >> "${GITHUB_ENV}" 2025-07-02T08:01:42.8477079Z  2025-07-02T08:01:42.8477306Z RUNNER_DOCS_DIR="${RUNNER_TEMP}/docs" 2025-07-02T08:01:42.8477635Z sudo rm -rf "${RUNNER_DOCS_DIR}" 2025-07-02T08:01:42.8477931Z mkdir -p "${RUNNER_DOCS_DIR}" 2025-07-02T08:01:42.8478293Z echo "RUNNER_DOCS_DIR=${RUNNER_DOCS_DIR}" >> "${GITHUB_ENV}" 2025-07-02T08:01:42.8487702Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:01:42.8488044Z env: 2025-07-02T08:01:42.8488289Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:42.8488607Z REPOSITORY: pytorch/rl 2025-07-02T08:01:42.8488852Z PR_NUMBER: 3030 2025-07-02T08:01:42.8498759Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:42.8508831Z ##[endgroup] 2025-07-02T08:01:43.3399653Z ##[group]Run needs=0 2025-07-02T08:01:43.3399908Z needs=0 2025-07-02T08:01:43.3400253Z if lspci -v | grep -e 'controller.*NVIDIA' >/dev/null 2>/dev/null; then 2025-07-02T08:01:43.3400644Z  needs=1 2025-07-02T08:01:43.3400866Z fi 2025-07-02T08:01:43.3401095Z echo "does=${needs}" >> $GITHUB_OUTPUT 2025-07-02T08:01:43.3412008Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:01:43.3412359Z env: 2025-07-02T08:01:43.3412589Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:43.3412900Z REPOSITORY: pytorch/rl 2025-07-02T08:01:43.3413144Z PR_NUMBER: 3030 2025-07-02T08:01:43.3422941Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:43.3432985Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:01:43.3433522Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:01:43.3434029Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:01:43.3434381Z ##[endgroup] 2025-07-02T08:01:43.3787507Z ##[group]Run pytorch/test-infra/.github/actions/setup-nvidia@main 2025-07-02T08:01:43.3787881Z with: 2025-07-02T08:01:43.3788085Z driver-version: 570.133.07 2025-07-02T08:01:43.3788316Z env: 2025-07-02T08:01:43.3788554Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:43.3788861Z REPOSITORY: pytorch/rl 2025-07-02T08:01:43.3789095Z PR_NUMBER: 3030 2025-07-02T08:01:43.3798937Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:43.3808978Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:01:43.3809511Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:01:43.3810016Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:01:43.3810368Z ##[endgroup] 2025-07-02T08:01:43.3854390Z ##[group]Run nick-fields/retry@3e91a01664abd3c5cd539100d10d33b9c5b68482 2025-07-02T08:01:43.3854766Z with: 2025-07-02T08:01:43.3854955Z timeout_minutes: 10 2025-07-02T08:01:43.3855179Z max_attempts: 3 2025-07-02T08:01:43.3879600Z command: # Is it disgusting to have a full shell script here in this github action? Sure # But is it the best way to make it so that this action relies on nothing else? Absolutely set -eou pipefail DISTRIBUTION=$(. /etc/os-release;echo $ID$VERSION_ID) DRIVER_FN="NVIDIA-Linux-x86_64-${DRIVER_VERSION}.run" install_nvidia_docker2_amzn2() { ( set -x # Needed for yum-config-manager sudo yum install -y yum-utils if [[ "${DISTRIBUTION}" == "amzn2023" ]] ; then YUM_REPO_URL="https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo" else # Amazon Linux 2 YUM_REPO_URL="https://nvidia.github.io/nvidia-docker/${DISTRIBUTION}/nvidia-docker.repo" fi sudo yum-config-manager --add-repo "${YUM_REPO_URL}" sudo yum install -y \ nvidia-docker2 \ nvidia-container-toolkit-1.16.2 \ libnvidia-container-tools-1.16.2 \ libnvidia-container1-1.16.2 \ nvidia-container-toolkit-base-1.16.2 sudo systemctl restart docker ) } install_nvidia_docker2_ubuntu20() { ( set -x # Install nvidia-driver package if not installed status="$(dpkg-query -W --showformat='${db:Status-Status}' nvidia-docker2 2>&1)" if [ ! $? = 0 ] || [ ! "$status" = installed ]; then sudo apt-get install -y nvidia-docker2 nvidia-container-toolkit-1.16.2 sudo systemctl restart docker fi ) } pre_install_nvidia_driver_amzn2() { ( # Purge any nvidia driver installed from RHEL repo sudo yum remove -y nvidia-driver-latest-dkms ) } install_nvidia_driver_common() { ( # Try to gather more information about the runner and its existing NVIDIA driver if any echo "Before installing NVIDIA driver" lspci lsmod modinfo nvidia || true HAS_NVIDIA_DRIVER=0 # Check if NVIDIA driver has already been installed if [ -x "$(command -v nvidia-smi)" ]; then set +e # The driver exists, check its version next. Also check only the first GPU if there are more than one of them # so that the same driver version is not print over multiple lines INSTALLED_DRIVER_VERSION=$(nvidia-smi --query-gpu=driver_version --format=csv,noheader --id=0) NVIDIA_SMI_STATUS=$? if [ "$NVIDIA_SMI_STATUS" -ne 0 ] && [ "$NVIDIA_SMI_STATUS" -ne 14 ]; then echo "Failed to get NVIDIA driver version ($INSTALLED_DRIVER_VERSION). Continuing" elif [ "$INSTALLED_DRIVER_VERSION" != "$DRIVER_VERSION" ]; then echo "NVIDIA driver ($INSTALLED_DRIVER_VERSION) has been installed, but we expect to have $DRIVER_VERSION instead. Continuing" # Turn off persistent mode so that the installation script can unload the kernel module sudo killall nvidia-persistenced || true else HAS_NVIDIA_DRIVER=1 echo "NVIDIA driver ($INSTALLED_DRIVER_VERSION) has already been installed. Skipping NVIDIA driver installation" fi set -e fi if [ "$HAS_NVIDIA_DRIVER" -eq 0 ]; then # CAUTION: this may need to be updated in future if [ "${DISTRIBUTION}" != ubuntu20.04 ]; then sudo yum groupinstall -y "Development Tools" # ensure our kernel install is the same as our underlying kernel, # groupinstall "Development Tools" has a habit of mismatching kernel headers sudo yum install -y "kernel-devel-uname-r == $(uname -r)" sudo modprobe backlight fi sudo curl -fsL -o /tmp/nvidia_driver "https://s3.amazonaws.com/ossci-linux/nvidia_driver/$DRIVER_FN" set +e sudo /bin/bash /tmp/nvidia_driver -s --no-drm NVIDIA_INSTALLATION_STATUS=$? RESET_GPU=0 if [ "$NVIDIA_INSTALLATION_STATUS" -ne 0 ]; then sudo cat /var/log/nvidia-installer.log # Fail to install NVIDIA driver, try to reset the GPU RESET_GPU=1 elif [ -x "$(command -v nvidia-smi)" ]; then # Check again if nvidia-smi works even if the driver installation completes successfully INSTALLED_DRIVER_VERSION=$(nvidia-smi --query-gpu=driver_version --format=csv,noheader --id=0) NVIDIA_SMI_STATUS=$? if [ "$NVIDIA_SMI_STATUS" -ne 0 ] && [ "$NVIDIA_SMI_STATUS" -ne 14 ]; then RESET_GPU=1 fi fi if [ "$RESET_GPU" -eq 1 ]; then NVIDIA_DEVICES=$(lspci -D | grep -i NVIDIA | cut -d' ' -f1) # The GPU can get stuck in a failure state if somehow the test crashs the GPU microcode. When this # happens, we'll try to reset all NVIDIA devices https://github.com/pytorch/pytorch/issues/88388 for PCI_ID in $NVIDIA_DEVICES; do DEVICE_ENABLED=$(cat /sys/bus/pci/devices/$PCI_ID/enable) echo "Reseting $PCI_ID (enabled state: $DEVICE_ENABLED)" # This requires sudo permission of course echo "1" | sudo tee /sys/bus/pci/devices/$PCI_ID/reset sleep 1 done fi sudo rm -fv /tmp/nvidia_driver set -e fi ) } post_install_nvidia_driver_common() { ( sudo modprobe nvidia || true echo "After installing NVIDIA driver" lspci lsmod modinfo nvidia || true ( set +e nvidia-smi # NB: Annoyingly, nvidia-smi command returns successfully with return code 0 even in # the case where the driver has already crashed as it still can get the driver version # and some basic information like the bus ID. However, the rest of the information # would be missing (ERR!), for example: # # +-----------------------------------------------------------------------------+ # | NVIDIA-SMI 525.89.02 Driver Version: 525.89.02 CUDA Version: 12.0 | # |-------------------------------+----------------------+----------------------+ # | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | # | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | # | | | MIG M. | # |===============================+======================+======================| # | 0 ERR! Off | 00000000:00:1E.0 Off | ERR! | # |ERR! ERR! ERR! ERR! / ERR! | 4184MiB / 23028MiB | ERR! Default | # | | | ERR! | # +-------------------------------+----------------------+----------------------+ # # +-----------------------------------------------------------------------------+ # | Processes: | # | GPU GI CI PID Type Process name GPU Memory | # | ID ID Usage | # |=============================================================================| # +-----------------------------------------------------------------------------+ # # This should be reported as a failure instead as it will guarantee to fail when # Docker tries to run with --gpus all # # So, the correct check here is to query one of the missing piece of info like # GPU name, so that the command can fail accordingly nvidia-smi --query-gpu=gpu_name --format=csv,noheader --id=0 NVIDIA_SMI_STATUS=$? # Allowable exit statuses for nvidia-smi, see: https://github.com/NVIDIA/gpu-operator/issues/285 if [ "$NVIDIA_SMI_STATUS" -eq 0 ] || [ "$NVIDIA_SMI_STATUS" -eq 14 ]; then echo "INFO: Ignoring allowed status ${NVIDIA_SMI_STATUS}" else echo "ERROR: nvidia-smi exited with unresolved status ${NVIDIA_SMI_STATUS}" exit ${NVIDIA_SMI_STATUS} fi set -e ) ) } install_nvidia_driver_amzn2() { ( set -x pre_install_nvidia_driver_amzn2 install_nvidia_driver_common post_install_nvidia_driver_common ) } install_nvidia_driver_ubuntu20() { ( set -x install_nvidia_driver_common post_install_nvidia_driver_common ) } echo "== Installing nvidia driver ${DRIVER_FN} ==" case "${DISTRIBUTION}" in amzn*) install_nvidia_driver_amzn2 ;; ubuntu20.04) install_nvidia_driver_ubuntu20 ;; *) echo "ERROR: Unknown distribution ${DISTRIBUTION}" exit 1 ;; esac # Install container toolkit based on distribution echo "== Installing nvidia container toolkit for ${DISTRIBUTION} ==" case "${DISTRIBUTION}" in amzn*) install_nvidia_docker2_amzn2 ;; ubuntu20.04) install_nvidia_docker2_ubuntu20 ;; *) echo "ERROR: Unknown distribution ${DISTRIBUTION}" exit 1 ;; esac echo "GPU_FLAG=--gpus all -e NVIDIA_DRIVER_CAPABILITIES=all" >> "${GITHUB_ENV}" # Fix https://github.com/NVIDIA/nvidia-docker/issues/1648 on runners with # more than one GPUs. This just needs to be run once. The command fails # on subsequent runs and complains that the mode is already on, but that's # ok sudo nvidia-persistenced || true # This should show persistence mode ON nvidia-smi # check if the container-toolkit is correctly installed and CUDA is available inside a container docker run --rm -t --gpus=all public.ecr.aws/docker/library/python:3.13 nvidia-smi 2025-07-02T08:01:43.3904555Z retry_wait_seconds: 10 2025-07-02T08:01:43.3904798Z polling_interval_seconds: 1 2025-07-02T08:01:43.3905053Z warning_on_retry: true 2025-07-02T08:01:43.3905284Z continue_on_error: false 2025-07-02T08:01:43.3905513Z env: 2025-07-02T08:01:43.3905738Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:01:43.3906049Z REPOSITORY: pytorch/rl 2025-07-02T08:01:43.3906279Z PR_NUMBER: 3030 2025-07-02T08:01:43.3915961Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:01:43.3925925Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:01:43.3926461Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:01:43.3926959Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:01:43.3927313Z DRIVER_VERSION: 570.133.07 2025-07-02T08:01:43.3927553Z ##[endgroup] 2025-07-02T08:01:43.4773978Z == Installing nvidia driver NVIDIA-Linux-x86_64-570.133.07.run == 2025-07-02T08:01:43.4775098Z + pre_install_nvidia_driver_amzn2 2025-07-02T08:01:43.4778944Z + sudo yum remove -y nvidia-driver-latest-dkms 2025-07-02T08:01:43.8383822Z No match for argument: nvidia-driver-latest-dkms 2025-07-02T08:01:43.8384369Z No packages marked for removal. 2025-07-02T08:01:43.8462418Z Dependencies resolved. 2025-07-02T08:01:43.8473642Z Nothing to do. 2025-07-02T08:01:43.8474652Z Complete! 2025-07-02T08:01:43.8820271Z + install_nvidia_driver_common 2025-07-02T08:01:43.8824756Z + echo 'Before installing NVIDIA driver' 2025-07-02T08:01:43.8825067Z + lspci 2025-07-02T08:01:43.8826782Z Before installing NVIDIA driver 2025-07-02T08:01:43.8952863Z 00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] 2025-07-02T08:01:43.8953556Z 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 2025-07-02T08:01:43.8954093Z 00:01.3 Non-VGA unclassified device: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08) 2025-07-02T08:01:43.8954604Z 00:03.0 VGA compatible controller: Amazon.com, Inc. Device 1111 2025-07-02T08:01:43.8955071Z 00:04.0 Non-Volatile memory controller: Amazon.com, Inc. NVMe EBS Controller 2025-07-02T08:01:43.8955588Z 00:05.0 Ethernet controller: Amazon.com, Inc. Elastic Network Adapter (ENA) 2025-07-02T08:01:43.8956151Z 00:1e.0 3D controller: NVIDIA Corporation GA102GL [A10G] (rev a1) 2025-07-02T08:01:43.8956898Z 00:1f.0 Non-Volatile memory controller: Amazon.com, Inc. NVMe SSD Controller 2025-07-02T08:01:43.8957294Z + lsmod 2025-07-02T08:01:43.9007367Z Module Size Used by 2025-07-02T08:01:43.9007808Z xt_conntrack 16384 1 2025-07-02T08:01:43.9008169Z nft_chain_nat 16384 3 2025-07-02T08:01:43.9008528Z xt_MASQUERADE 20480 1 2025-07-02T08:01:43.9008841Z nf_nat 57344 2 nft_chain_nat,xt_MASQUERADE 2025-07-02T08:01:43.9009172Z nf_conntrack_netlink 57344 0 2025-07-02T08:01:43.9009566Z nf_conntrack 184320 4 xt_conntrack,nf_nat,nf_conntrack_netlink,xt_MASQUERADE 2025-07-02T08:01:43.9009996Z nf_defrag_ipv6 24576 1 nf_conntrack 2025-07-02T08:01:43.9010312Z nf_defrag_ipv4 16384 1 nf_conntrack 2025-07-02T08:01:43.9010670Z xfrm_user 57344 1 2025-07-02T08:01:43.9010934Z xfrm_algo 16384 1 xfrm_user 2025-07-02T08:01:43.9011212Z xt_addrtype 16384 2 2025-07-02T08:01:43.9011478Z nft_compat 20480 4 2025-07-02T08:01:43.9011781Z nf_tables 311296 57 nft_compat,nft_chain_nat 2025-07-02T08:01:43.9012184Z nfnetlink 20480 4 nft_compat,nf_conntrack_netlink,nf_tables 2025-07-02T08:01:43.9012573Z br_netfilter 36864 0 2025-07-02T08:01:43.9012838Z bridge 323584 1 br_netfilter 2025-07-02T08:01:43.9013130Z stp 16384 1 bridge 2025-07-02T08:01:43.9013403Z llc 16384 2 bridge,stp 2025-07-02T08:01:43.9013679Z overlay 167936 0 2025-07-02T08:01:43.9013923Z tls 139264 0 2025-07-02T08:01:43.9014162Z nls_ascii 16384 1 2025-07-02T08:01:43.9014408Z nls_cp437 20480 1 2025-07-02T08:01:43.9014644Z vfat 24576 1 2025-07-02T08:01:43.9014895Z fat 86016 1 vfat 2025-07-02T08:01:43.9015151Z sunrpc 700416 1 2025-07-02T08:01:43.9015396Z i8042 45056 0 2025-07-02T08:01:43.9015650Z serio 28672 3 i8042 2025-07-02T08:01:43.9015915Z ena 180224 0 2025-07-02T08:01:43.9016153Z button 24576 0 2025-07-02T08:01:43.9016587Z ghash_clmulni_intel 16384 0 2025-07-02T08:01:43.9016847Z sch_fq_codel 20480 17 2025-07-02T08:01:43.9017097Z fuse 184320 1 2025-07-02T08:01:43.9017339Z dm_mod 188416 0 2025-07-02T08:01:43.9017577Z loop 36864 0 2025-07-02T08:01:43.9017824Z configfs 57344 1 2025-07-02T08:01:43.9018065Z dmi_sysfs 20480 0 2025-07-02T08:01:43.9018313Z crc32_pclmul 16384 0 2025-07-02T08:01:43.9018558Z crc32c_intel 24576 0 2025-07-02T08:01:43.9018812Z efivarfs 24576 1 2025-07-02T08:01:43.9019056Z + modinfo nvidia 2025-07-02T08:01:43.9028515Z filename: /lib/modules/6.1.141-155.222.amzn2023.x86_64/kernel/drivers/video/nvidia.ko 2025-07-02T08:01:43.9029123Z import_ns: DMA_BUF 2025-07-02T08:01:43.9029408Z alias: char-major-195-* 2025-07-02T08:01:43.9029676Z version: 570.133.07 2025-07-02T08:01:43.9029914Z supported: external 2025-07-02T08:01:43.9030158Z license: Dual MIT/GPL 2025-07-02T08:01:43.9030464Z firmware: nvidia/570.133.07/gsp_tu10x.bin 2025-07-02T08:01:43.9030792Z firmware: nvidia/570.133.07/gsp_ga10x.bin 2025-07-02T08:01:43.9031148Z srcversion: 49515739FD8F721A3F2F714 2025-07-02T08:01:43.9031541Z alias: pci:v000010DEd*sv*sd*bc06sc80i00* 2025-07-02T08:01:43.9031971Z alias: pci:v000010DEd*sv*sd*bc03sc02i00* 2025-07-02T08:01:43.9032303Z alias: pci:v000010DEd*sv*sd*bc03sc00i00* 2025-07-02T08:01:43.9032601Z depends: i2c-core,drm 2025-07-02T08:01:43.9032847Z retpoline: Y 2025-07-02T08:01:43.9033052Z name: nvidia 2025-07-02T08:01:43.9033402Z vermagic: 6.1.141-155.222.amzn2023.x86_64 SMP preempt mod_unload modversions 2025-07-02T08:01:43.9033858Z parm: NvSwitchRegDwords:NvSwitch regkey (charp) 2025-07-02T08:01:43.9034420Z parm: NvSwitchBlacklist:NvSwitchBlacklist=uuid[,uuid...] (charp) 2025-07-02T08:01:43.9034835Z parm: NVreg_ResmanDebugLevel:int 2025-07-02T08:01:43.9035152Z parm: NVreg_RmLogonRC:int 2025-07-02T08:01:43.9035447Z parm: NVreg_ModifyDeviceFiles:int 2025-07-02T08:01:43.9035752Z parm: NVreg_DeviceFileUID:int 2025-07-02T08:01:43.9036047Z parm: NVreg_DeviceFileGID:int 2025-07-02T08:01:43.9036341Z parm: NVreg_DeviceFileMode:int 2025-07-02T08:01:43.9036695Z parm: NVreg_InitializeSystemMemoryAllocations:int 2025-07-02T08:01:43.9037075Z parm: NVreg_UsePageAttributeTable:int 2025-07-02T08:01:43.9037402Z parm: NVreg_EnablePCIeGen3:int 2025-07-02T08:01:43.9037690Z parm: NVreg_EnableMSI:int 2025-07-02T08:01:43.9037993Z parm: NVreg_EnableStreamMemOPs:int 2025-07-02T08:01:43.9038347Z parm: NVreg_RestrictProfilingToAdminUsers:int 2025-07-02T08:01:43.9038744Z parm: NVreg_PreserveVideoMemoryAllocations:int 2025-07-02T08:01:43.9039125Z parm: NVreg_EnableS0ixPowerManagement:int 2025-07-02T08:01:43.9039528Z parm: NVreg_S0ixPowerManagementVideoMemoryThreshold:int 2025-07-02T08:01:43.9039936Z parm: NVreg_DynamicPowerManagement:int 2025-07-02T08:01:43.9040344Z parm: NVreg_DynamicPowerManagementVideoMemoryThreshold:int 2025-07-02T08:01:43.9040749Z parm: NVreg_EnableGpuFirmware:int 2025-07-02T08:01:43.9041070Z parm: NVreg_EnableGpuFirmwareLogs:int 2025-07-02T08:01:43.9041436Z parm: NVreg_OpenRmEnableUnsupportedGpus:int 2025-07-02T08:01:43.9041808Z parm: NVreg_EnableUserNUMAManagement:int 2025-07-02T08:01:43.9042139Z parm: NVreg_MemoryPoolSize:int 2025-07-02T08:01:43.9042458Z parm: NVreg_KMallocHeapMaxSize:int 2025-07-02T08:01:43.9042776Z parm: NVreg_VMallocHeapMaxSize:int 2025-07-02T08:01:43.9043094Z parm: NVreg_IgnoreMMIOCheck:int 2025-07-02T08:01:43.9043397Z parm: NVreg_NvLinkDisable:int 2025-07-02T08:01:43.9043742Z parm: NVreg_EnablePCIERelaxedOrderingMode:int 2025-07-02T08:01:43.9044089Z parm: NVreg_RegisterPCIDriver:int 2025-07-02T08:01:43.9044498Z parm: NVreg_EnableResizableBar:int 2025-07-02T08:01:43.9044824Z parm: NVreg_EnableDbgBreakpoint:int 2025-07-02T08:01:43.9045155Z parm: NVreg_EnableNonblockingOpen:int 2025-07-02T08:01:43.9045483Z parm: NVreg_RegistryDwords:charp 2025-07-02T08:01:43.9045985Z parm: NVreg_RegistryDwordsPerDevice:charp 2025-07-02T08:01:43.9046315Z parm: NVreg_RmMsg:charp 2025-07-02T08:01:43.9046591Z parm: NVreg_GpuBlacklist:charp 2025-07-02T08:01:43.9046917Z parm: NVreg_TemporaryFilePath:charp 2025-07-02T08:01:43.9057256Z parm: NVreg_ExcludedGpus:charp 2025-07-02T08:01:43.9057696Z parm: NVreg_DmaRemapPeerMmio:int 2025-07-02T08:01:43.9058166Z parm: NVreg_RmNvlinkBandwidth:charp 2025-07-02T08:01:43.9058629Z parm: NVreg_RmNvlinkBandwidthLinkCount:int 2025-07-02T08:01:43.9058972Z parm: NVreg_ImexChannelCount:int 2025-07-02T08:01:43.9059281Z parm: NVreg_CreateImexChannel0:int 2025-07-02T08:01:43.9059624Z parm: NVreg_GrdmaPciTopoCheckOverride:int 2025-07-02T08:01:43.9059955Z parm: rm_firmware_active:charp 2025-07-02T08:01:43.9060234Z + HAS_NVIDIA_DRIVER=0 2025-07-02T08:01:43.9060470Z ++ command -v nvidia-smi 2025-07-02T08:01:43.9060716Z + '[' -x /usr/bin/nvidia-smi ']' 2025-07-02T08:01:43.9060960Z + set +e 2025-07-02T08:01:43.9061255Z ++ nvidia-smi --query-gpu=driver_version --format=csv,noheader --id=0 2025-07-02T08:01:45.7351780Z + INSTALLED_DRIVER_VERSION=570.133.07 2025-07-02T08:01:45.7352129Z + NVIDIA_SMI_STATUS=0 2025-07-02T08:01:45.7352373Z + '[' 0 -ne 0 ']' 2025-07-02T08:01:45.7352586Z + '[' 570.133.07 '!=' 570.133.07 ']' 2025-07-02T08:01:45.7352855Z + HAS_NVIDIA_DRIVER=1 2025-07-02T08:01:45.7353577Z + echo 'NVIDIA driver (570.133.07) has already been installed. Skipping NVIDIA driver installation' 2025-07-02T08:01:45.7354051Z + set -e 2025-07-02T08:01:45.7354239Z + '[' 1 -eq 0 ']' 2025-07-02T08:01:45.7354629Z NVIDIA driver (570.133.07) has already been installed. Skipping NVIDIA driver installation 2025-07-02T08:01:45.7355103Z + post_install_nvidia_driver_common 2025-07-02T08:01:45.7358470Z + sudo modprobe nvidia 2025-07-02T08:01:45.8448616Z + echo 'After installing NVIDIA driver' 2025-07-02T08:01:45.8449079Z + lspci 2025-07-02T08:01:45.8449411Z After installing NVIDIA driver 2025-07-02T08:01:45.8575998Z 00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] 2025-07-02T08:01:45.8576558Z 00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] 2025-07-02T08:01:45.8577186Z 00:01.3 Non-VGA unclassified device: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08) 2025-07-02T08:01:45.8577771Z 00:03.0 VGA compatible controller: Amazon.com, Inc. Device 1111 2025-07-02T08:01:45.8578344Z 00:04.0 Non-Volatile memory controller: Amazon.com, Inc. NVMe EBS Controller 2025-07-02T08:01:45.8578936Z 00:05.0 Ethernet controller: Amazon.com, Inc. Elastic Network Adapter (ENA) 2025-07-02T08:01:45.8579487Z 00:1e.0 3D controller: NVIDIA Corporation GA102GL [A10G] (rev a1) 2025-07-02T08:01:45.8580040Z 00:1f.0 Non-Volatile memory controller: Amazon.com, Inc. NVMe SSD Controller 2025-07-02T08:01:45.8580489Z + lsmod 2025-07-02T08:01:45.8618517Z Module Size Used by 2025-07-02T08:01:45.8619135Z nvidia_uvm 1884160 0 2025-07-02T08:01:45.8619520Z nvidia 11583488 1 nvidia_uvm 2025-07-02T08:01:45.8619836Z drm 602112 1 nvidia 2025-07-02T08:01:45.8620144Z drm_panel_orientation_quirks 32768 1 drm 2025-07-02T08:01:45.8620449Z backlight 24576 1 drm 2025-07-02T08:01:45.8620736Z i2c_core 110592 2 nvidia,drm 2025-07-02T08:01:45.8621021Z xt_conntrack 16384 1 2025-07-02T08:01:45.8621280Z nft_chain_nat 16384 3 2025-07-02T08:01:45.8621532Z xt_MASQUERADE 20480 1 2025-07-02T08:01:45.8621841Z nf_nat 57344 2 nft_chain_nat,xt_MASQUERADE 2025-07-02T08:01:45.8622166Z nf_conntrack_netlink 57344 0 2025-07-02T08:01:45.8622567Z nf_conntrack 184320 4 xt_conntrack,nf_nat,nf_conntrack_netlink,xt_MASQUERADE 2025-07-02T08:01:45.8623271Z nf_defrag_ipv6 24576 1 nf_conntrack 2025-07-02T08:01:45.8623575Z nf_defrag_ipv4 16384 1 nf_conntrack 2025-07-02T08:01:45.8623865Z xfrm_user 57344 1 2025-07-02T08:01:45.8624125Z xfrm_algo 16384 1 xfrm_user 2025-07-02T08:01:45.8624408Z xt_addrtype 16384 2 2025-07-02T08:01:45.8624658Z nft_compat 20480 4 2025-07-02T08:01:45.8624965Z nf_tables 311296 57 nft_compat,nft_chain_nat 2025-07-02T08:01:45.8625365Z nfnetlink 20480 4 nft_compat,nf_conntrack_netlink,nf_tables 2025-07-02T08:01:45.8625738Z br_netfilter 36864 0 2025-07-02T08:01:45.8626012Z bridge 323584 1 br_netfilter 2025-07-02T08:01:45.8626299Z stp 16384 1 bridge 2025-07-02T08:01:45.8626580Z llc 16384 2 bridge,stp 2025-07-02T08:01:45.8626852Z overlay 167936 0 2025-07-02T08:01:45.8627110Z tls 139264 0 2025-07-02T08:01:45.8627350Z nls_ascii 16384 1 2025-07-02T08:01:45.8627595Z nls_cp437 20480 1 2025-07-02T08:01:45.8627833Z vfat 24576 1 2025-07-02T08:01:45.8628078Z fat 86016 1 vfat 2025-07-02T08:01:45.8628340Z sunrpc 700416 1 2025-07-02T08:01:45.8628581Z i8042 45056 0 2025-07-02T08:01:45.8628830Z serio 28672 3 i8042 2025-07-02T08:01:45.8629088Z ena 180224 0 2025-07-02T08:01:45.8629344Z button 24576 0 2025-07-02T08:01:45.8629587Z ghash_clmulni_intel 16384 0 2025-07-02T08:01:45.8629845Z sch_fq_codel 20480 17 2025-07-02T08:01:45.8630099Z fuse 184320 1 2025-07-02T08:01:45.8630498Z dm_mod 188416 0 2025-07-02T08:01:45.8630738Z loop 36864 0 2025-07-02T08:01:45.8630985Z configfs 57344 1 2025-07-02T08:01:45.8631224Z dmi_sysfs 20480 0 2025-07-02T08:01:45.8631482Z crc32_pclmul 16384 0 2025-07-02T08:01:45.8631734Z crc32c_intel 24576 0 2025-07-02T08:01:45.8631975Z efivarfs 24576 1 2025-07-02T08:01:45.8632229Z + modinfo nvidia 2025-07-02T08:01:45.8641241Z filename: /lib/modules/6.1.141-155.222.amzn2023.x86_64/kernel/drivers/video/nvidia.ko 2025-07-02T08:01:45.8641847Z import_ns: DMA_BUF 2025-07-02T08:01:45.8642140Z alias: char-major-195-* 2025-07-02T08:01:45.8642398Z version: 570.133.07 2025-07-02T08:01:45.8642641Z supported: external 2025-07-02T08:01:45.8642882Z license: Dual MIT/GPL 2025-07-02T08:01:45.8643163Z firmware: nvidia/570.133.07/gsp_tu10x.bin 2025-07-02T08:01:45.8643489Z firmware: nvidia/570.133.07/gsp_ga10x.bin 2025-07-02T08:01:45.8643862Z srcversion: 49515739FD8F721A3F2F714 2025-07-02T08:01:45.8644166Z alias: pci:v000010DEd*sv*sd*bc06sc80i00* 2025-07-02T08:01:45.8644496Z alias: pci:v000010DEd*sv*sd*bc03sc02i00* 2025-07-02T08:01:45.8644819Z alias: pci:v000010DEd*sv*sd*bc03sc00i00* 2025-07-02T08:01:45.8645123Z depends: i2c-core,drm 2025-07-02T08:01:45.8645366Z retpoline: Y 2025-07-02T08:01:45.8645796Z name: nvidia 2025-07-02T08:01:45.8646324Z vermagic: 6.1.141-155.222.amzn2023.x86_64 SMP preempt mod_unload modversions 2025-07-02T08:01:45.8646833Z parm: NvSwitchRegDwords:NvSwitch regkey (charp) 2025-07-02T08:01:45.8647269Z parm: NvSwitchBlacklist:NvSwitchBlacklist=uuid[,uuid...] (charp) 2025-07-02T08:01:45.8647729Z parm: NVreg_ResmanDebugLevel:int 2025-07-02T08:01:45.8648144Z parm: NVreg_RmLogonRC:int 2025-07-02T08:01:45.8648535Z parm: NVreg_ModifyDeviceFiles:int 2025-07-02T08:01:45.8648904Z parm: NVreg_DeviceFileUID:int 2025-07-02T08:01:45.8649205Z parm: NVreg_DeviceFileGID:int 2025-07-02T08:01:45.8649495Z parm: NVreg_DeviceFileMode:int 2025-07-02T08:01:45.8649857Z parm: NVreg_InitializeSystemMemoryAllocations:int 2025-07-02T08:01:45.8650389Z parm: NVreg_UsePageAttributeTable:int 2025-07-02T08:01:45.8650783Z parm: NVreg_EnablePCIeGen3:int 2025-07-02T08:01:45.8651069Z parm: NVreg_EnableMSI:int 2025-07-02T08:01:45.8651369Z parm: NVreg_EnableStreamMemOPs:int 2025-07-02T08:01:45.8651714Z parm: NVreg_RestrictProfilingToAdminUsers:int 2025-07-02T08:01:45.8652110Z parm: NVreg_PreserveVideoMemoryAllocations:int 2025-07-02T08:01:45.8652483Z parm: NVreg_EnableS0ixPowerManagement:int 2025-07-02T08:01:45.8652884Z parm: NVreg_S0ixPowerManagementVideoMemoryThreshold:int 2025-07-02T08:01:45.8653286Z parm: NVreg_DynamicPowerManagement:int 2025-07-02T08:01:45.8653693Z parm: NVreg_DynamicPowerManagementVideoMemoryThreshold:int 2025-07-02T08:01:45.8654149Z parm: NVreg_EnableGpuFirmware:int 2025-07-02T08:01:45.8654472Z parm: NVreg_EnableGpuFirmwareLogs:int 2025-07-02T08:01:45.8654835Z parm: NVreg_OpenRmEnableUnsupportedGpus:int 2025-07-02T08:01:45.8655214Z parm: NVreg_EnableUserNUMAManagement:int 2025-07-02T08:01:45.8655543Z parm: NVreg_MemoryPoolSize:int 2025-07-02T08:01:45.8655861Z parm: NVreg_KMallocHeapMaxSize:int 2025-07-02T08:01:45.8656178Z parm: NVreg_VMallocHeapMaxSize:int 2025-07-02T08:01:45.8656497Z parm: NVreg_IgnoreMMIOCheck:int 2025-07-02T08:01:45.8656797Z parm: NVreg_NvLinkDisable:int 2025-07-02T08:01:45.8657136Z parm: NVreg_EnablePCIERelaxedOrderingMode:int 2025-07-02T08:01:45.8657484Z parm: NVreg_RegisterPCIDriver:int 2025-07-02T08:01:45.8657807Z parm: NVreg_EnableResizableBar:int 2025-07-02T08:01:45.8658137Z parm: NVreg_EnableDbgBreakpoint:int 2025-07-02T08:01:45.8658631Z parm: NVreg_EnableNonblockingOpen:int 2025-07-02T08:01:45.8658963Z parm: NVreg_RegistryDwords:charp 2025-07-02T08:01:45.8659291Z parm: NVreg_RegistryDwordsPerDevice:charp 2025-07-02T08:01:45.8659620Z parm: NVreg_RmMsg:charp 2025-07-02T08:01:45.8659893Z parm: NVreg_GpuBlacklist:charp 2025-07-02T08:01:45.8660211Z parm: NVreg_TemporaryFilePath:charp 2025-07-02T08:01:45.8660522Z parm: NVreg_ExcludedGpus:charp 2025-07-02T08:01:45.8660834Z parm: NVreg_DmaRemapPeerMmio:int 2025-07-02T08:01:45.8661153Z parm: NVreg_RmNvlinkBandwidth:charp 2025-07-02T08:01:45.8661507Z parm: NVreg_RmNvlinkBandwidthLinkCount:int 2025-07-02T08:01:45.8661848Z parm: NVreg_ImexChannelCount:int 2025-07-02T08:01:45.8662191Z parm: NVreg_CreateImexChannel0:int 2025-07-02T08:01:45.8662525Z parm: NVreg_GrdmaPciTopoCheckOverride:int 2025-07-02T08:01:45.8662856Z parm: rm_firmware_active:charp 2025-07-02T08:01:45.8663124Z + set +e 2025-07-02T08:01:45.8663313Z + nvidia-smi 2025-07-02T08:01:47.2724003Z Wed Jul 2 08:01:47 2025 2025-07-02T08:01:47.2724502Z +-----------------------------------------------------------------------------------------+ 2025-07-02T08:01:47.2725178Z | NVIDIA-SMI 570.133.07 Driver Version: 570.133.07 CUDA Version: 12.8 | 2025-07-02T08:01:47.2725662Z |-----------------------------------------+------------------------+----------------------+ 2025-07-02T08:01:47.2726157Z | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | 2025-07-02T08:01:47.2726685Z | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | 2025-07-02T08:01:47.2727104Z | | | MIG M. | 2025-07-02T08:01:47.2727434Z |=========================================+========================+======================| 2025-07-02T08:01:47.2788216Z | 0 NVIDIA A10G Off | 00000000:00:1E.0 Off | 0 | 2025-07-02T08:01:47.2788831Z | 0% 31C P0 63W / 300W | 0MiB / 23028MiB | 4% Default | 2025-07-02T08:01:47.2789605Z | | | N/A | 2025-07-02T08:01:47.2790143Z +-----------------------------------------+------------------------+----------------------+ 2025-07-02T08:01:47.2790681Z 2025-07-02T08:01:47.2791213Z +-----------------------------------------------------------------------------------------+ 2025-07-02T08:01:47.2791803Z | Processes: | 2025-07-02T08:01:47.2792244Z | GPU GI CI PID Type Process name GPU Memory | 2025-07-02T08:01:47.2792646Z | ID ID Usage | 2025-07-02T08:01:47.2793121Z |=========================================================================================| 2025-07-02T08:01:47.2793687Z | No running processes found | 2025-07-02T08:01:47.2794341Z +-----------------------------------------------------------------------------------------+ 2025-07-02T08:01:47.6887517Z + nvidia-smi --query-gpu=gpu_name --format=csv,noheader --id=0 2025-07-02T08:01:49.0980893Z NVIDIA A10G 2025-07-02T08:01:49.3668439Z + NVIDIA_SMI_STATUS=0 2025-07-02T08:01:49.3668790Z + '[' 0 -eq 0 ']' 2025-07-02T08:01:49.3669111Z + echo 'INFO: Ignoring allowed status 0' 2025-07-02T08:01:49.3669492Z + set -e 2025-07-02T08:01:49.3669772Z INFO: Ignoring allowed status 0 2025-07-02T08:01:49.3678089Z == Installing nvidia container toolkit for amzn2023 == 2025-07-02T08:01:49.3683918Z + sudo yum install -y yum-utils 2025-07-02T08:01:49.7743600Z Last metadata expiration check: 0:00:53 ago on Wed Jul 2 08:00:56 2025. 2025-07-02T08:01:49.7990695Z Package dnf-utils-4.3.0-13.amzn2023.0.5.noarch is already installed. 2025-07-02T08:01:49.8467482Z Dependencies resolved. 2025-07-02T08:01:49.8698203Z Nothing to do. 2025-07-02T08:01:49.8698493Z Complete! 2025-07-02T08:01:49.9115813Z + [[ amzn2023 == \a\m\z\n\2\0\2\3 ]] 2025-07-02T08:01:49.9116422Z + YUM_REPO_URL=https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo 2025-07-02T08:01:49.9117277Z + sudo yum-config-manager --add-repo https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo 2025-07-02T08:01:50.2513845Z Adding repo from: https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo 2025-07-02T08:01:50.2959812Z + sudo yum install -y nvidia-docker2 nvidia-container-toolkit-1.16.2 libnvidia-container-tools-1.16.2 libnvidia-container1-1.16.2 nvidia-container-toolkit-base-1.16.2 2025-07-02T08:01:50.8290109Z nvidia-container-toolkit 19 kB/s | 833 B 00:00 2025-07-02T08:01:50.8538633Z Package nvidia-docker2-2.14.0-1.noarch is already installed. 2025-07-02T08:01:50.9032463Z Dependencies resolved. 2025-07-02T08:01:50.9256109Z ================================================================================ 2025-07-02T08:01:50.9256622Z Package Arch Version Repository Size 2025-07-02T08:01:50.9257485Z ================================================================================ 2025-07-02T08:01:50.9257859Z Downgrading: 2025-07-02T08:01:50.9258233Z libnvidia-container-tools x86_64 1.16.2-1 nvidia-container-toolkit 39 k 2025-07-02T08:01:50.9258787Z libnvidia-container1 x86_64 1.16.2-1 nvidia-container-toolkit 1.0 M 2025-07-02T08:01:50.9259332Z nvidia-container-toolkit x86_64 1.16.2-1 nvidia-container-toolkit 1.2 M 2025-07-02T08:01:50.9259912Z nvidia-container-toolkit-base x86_64 1.16.2-1 nvidia-container-toolkit 5.6 M 2025-07-02T08:01:50.9260257Z 2025-07-02T08:01:50.9260350Z Transaction Summary 2025-07-02T08:01:50.9260623Z ================================================================================ 2025-07-02T08:01:50.9260927Z Downgrade 4 Packages 2025-07-02T08:01:50.9261082Z 2025-07-02T08:01:50.9261512Z Total download size: 7.8 M 2025-07-02T08:01:50.9261825Z Downloading Packages: 2025-07-02T08:01:50.9466858Z (1/4): libnvidia-container-tools-1.16.2-1.x86_6 2.0 MB/s | 39 kB 00:00 2025-07-02T08:01:50.9576019Z (2/4): libnvidia-container1-1.16.2-1.x86_64.rpm 33 MB/s | 1.0 MB 00:00 2025-07-02T08:01:50.9742742Z (3/4): nvidia-container-toolkit-1.16.2-1.x86_64 27 MB/s | 1.2 MB 00:00 2025-07-02T08:01:51.0072608Z (4/4): nvidia-container-toolkit-base-1.16.2-1.x 93 MB/s | 5.6 MB 00:00 2025-07-02T08:01:51.0082859Z -------------------------------------------------------------------------------- 2025-07-02T08:01:51.0085502Z Total 96 MB/s | 7.8 MB 00:00 2025-07-02T08:01:51.0087945Z Running transaction check 2025-07-02T08:01:51.0202367Z Transaction check succeeded. 2025-07-02T08:01:51.0202663Z Running transaction test 2025-07-02T08:01:51.0612843Z Transaction test succeeded. 2025-07-02T08:01:51.0615427Z Running transaction 2025-07-02T08:01:51.6292166Z Preparing : 1/1 2025-07-02T08:01:51.7192272Z Downgrading : nvidia-container-toolkit-base-1.16.2-1.x86_64 1/8 2025-07-02T08:01:51.7235033Z Downgrading : libnvidia-container1-1.16.2-1.x86_64 2/8 2025-07-02T08:01:51.7525989Z Running scriptlet: libnvidia-container1-1.16.2-1.x86_64 2/8 2025-07-02T08:01:51.8598704Z Downgrading : libnvidia-container-tools-1.16.2-1.x86_64 3/8 2025-07-02T08:01:51.8640432Z Downgrading : nvidia-container-toolkit-1.16.2-1.x86_64 4/8 2025-07-02T08:01:51.8836451Z Running scriptlet: nvidia-container-toolkit-1.16.2-1.x86_64 4/8 2025-07-02T08:01:51.8837415Z Cleanup : nvidia-container-toolkit-1.17.8-1.x86_64 5/8 2025-07-02T08:01:51.8959067Z Running scriptlet: nvidia-container-toolkit-1.17.8-1.x86_64 5/8 2025-07-02T08:01:51.8997389Z Cleanup : libnvidia-container-tools-1.17.8-1.x86_64 6/8 2025-07-02T08:01:51.8998445Z Cleanup : libnvidia-container1-1.17.8-1.x86_64 7/8 2025-07-02T08:01:51.9258552Z Running scriptlet: libnvidia-container1-1.17.8-1.x86_64 7/8 2025-07-02T08:01:51.9294812Z Cleanup : nvidia-container-toolkit-base-1.17.8-1.x86_64 8/8 2025-07-02T08:01:51.9913135Z Running scriptlet: nvidia-container-toolkit-1.16.2-1.x86_64 8/8 2025-07-02T08:01:52.1719941Z Running scriptlet: nvidia-container-toolkit-base-1.17.8-1.x86_64 8/8 2025-07-02T08:01:52.1720558Z Verifying : libnvidia-container-tools-1.16.2-1.x86_64 1/8 2025-07-02T08:01:52.1721094Z Verifying : libnvidia-container-tools-1.17.8-1.x86_64 2/8 2025-07-02T08:01:52.1721661Z Verifying : libnvidia-container1-1.16.2-1.x86_64 3/8 2025-07-02T08:01:52.1722183Z Verifying : libnvidia-container1-1.17.8-1.x86_64 4/8 2025-07-02T08:01:52.1722765Z Verifying : nvidia-container-toolkit-1.16.2-1.x86_64 5/8 2025-07-02T08:01:52.1723282Z Verifying : nvidia-container-toolkit-1.17.8-1.x86_64 6/8 2025-07-02T08:01:52.1723798Z Verifying : nvidia-container-toolkit-base-1.16.2-1.x86_64 7/8 2025-07-02T08:01:52.3612995Z Verifying : nvidia-container-toolkit-base-1.17.8-1.x86_64 8/8 2025-07-02T08:01:52.3613359Z 2025-07-02T08:01:52.3613455Z Downgraded: 2025-07-02T08:01:52.3613809Z libnvidia-container-tools-1.16.2-1.x86_64 2025-07-02T08:01:52.3614360Z libnvidia-container1-1.16.2-1.x86_64 2025-07-02T08:01:52.3614906Z nvidia-container-toolkit-1.16.2-1.x86_64 2025-07-02T08:01:52.3615473Z nvidia-container-toolkit-base-1.16.2-1.x86_64 2025-07-02T08:01:52.3615806Z 2025-07-02T08:01:52.3616151Z Complete! 2025-07-02T08:01:52.4112232Z + sudo systemctl restart docker 2025-07-02T08:01:56.7785738Z Wed Jul 2 08:01:56 2025 2025-07-02T08:01:56.7786286Z +-----------------------------------------------------------------------------------------+ 2025-07-02T08:01:56.7786994Z | NVIDIA-SMI 570.133.07 Driver Version: 570.133.07 CUDA Version: 12.8 | 2025-07-02T08:01:56.7787676Z |-----------------------------------------+------------------------+----------------------+ 2025-07-02T08:01:56.7788374Z | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | 2025-07-02T08:01:56.7789099Z | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | 2025-07-02T08:01:56.7789729Z | | | MIG M. | 2025-07-02T08:01:56.7790188Z |=========================================+========================+======================| 2025-07-02T08:01:56.7873307Z | 0 NVIDIA A10G On | 00000000:00:1E.0 Off | 0 | 2025-07-02T08:01:56.7873920Z | 0% 31C P0 63W / 300W | 0MiB / 23028MiB | 4% Default | 2025-07-02T08:01:56.7874456Z | | | N/A | 2025-07-02T08:01:56.7874995Z +-----------------------------------------+------------------------+----------------------+ 2025-07-02T08:01:56.7875530Z 2025-07-02T08:01:56.7876066Z +-----------------------------------------------------------------------------------------+ 2025-07-02T08:01:56.7876663Z | Processes: | 2025-07-02T08:01:56.7877633Z | GPU GI CI PID Type Process name GPU Memory | 2025-07-02T08:01:56.7878222Z | ID ID Usage | 2025-07-02T08:01:56.7878704Z |=========================================================================================| 2025-07-02T08:01:56.7879291Z | No running processes found | 2025-07-02T08:01:56.7879949Z +-----------------------------------------------------------------------------------------+ 2025-07-02T08:01:56.9528522Z Unable to find image 'public.ecr.aws/docker/library/python:3.13' locally 2025-07-02T08:01:57.2108554Z 3.13: Pulling from docker/library/python 2025-07-02T08:01:57.3086708Z c19952135643: Pulling fs layer 2025-07-02T08:01:57.3087029Z 7bbf972c6c2f: Pulling fs layer 2025-07-02T08:01:57.3087305Z 900e2c02f17f: Pulling fs layer 2025-07-02T08:01:57.3087564Z abe9c1abe6f3: Pulling fs layer 2025-07-02T08:01:57.3087838Z 562e9f67c041: Pulling fs layer 2025-07-02T08:01:57.3088091Z 8ae8ebad5c0e: Pulling fs layer 2025-07-02T08:01:57.3088356Z 5b1a73f6734a: Pulling fs layer 2025-07-02T08:01:57.3088605Z abe9c1abe6f3: Waiting 2025-07-02T08:01:57.3088845Z 5b1a73f6734a: Waiting 2025-07-02T08:01:57.3089059Z 562e9f67c041: Waiting 2025-07-02T08:01:57.3089277Z 8ae8ebad5c0e: Waiting 2025-07-02T08:01:57.4371939Z 7bbf972c6c2f: Verifying Checksum 2025-07-02T08:01:57.4372391Z 7bbf972c6c2f: Download complete 2025-07-02T08:01:57.4743256Z c19952135643: Verifying Checksum 2025-07-02T08:01:57.4743581Z c19952135643: Download complete 2025-07-02T08:01:57.5504886Z 562e9f67c041: Verifying Checksum 2025-07-02T08:01:57.5505341Z 562e9f67c041: Download complete 2025-07-02T08:01:57.5613113Z 900e2c02f17f: Verifying Checksum 2025-07-02T08:01:57.5613490Z 900e2c02f17f: Download complete 2025-07-02T08:01:57.5978241Z 5b1a73f6734a: Verifying Checksum 2025-07-02T08:01:57.5978565Z 5b1a73f6734a: Download complete 2025-07-02T08:01:57.6865387Z 8ae8ebad5c0e: Verifying Checksum 2025-07-02T08:01:57.6865835Z 8ae8ebad5c0e: Download complete 2025-07-02T08:01:58.0895354Z abe9c1abe6f3: Verifying Checksum 2025-07-02T08:01:58.0895677Z abe9c1abe6f3: Download complete 2025-07-02T08:01:59.4505784Z c19952135643: Pull complete 2025-07-02T08:02:00.0403287Z 7bbf972c6c2f: Pull complete 2025-07-02T08:02:02.3095943Z 900e2c02f17f: Pull complete 2025-07-02T08:02:07.8291220Z abe9c1abe6f3: Pull complete 2025-07-02T08:02:08.1084887Z 562e9f67c041: Pull complete 2025-07-02T08:02:08.8290045Z 8ae8ebad5c0e: Pull complete 2025-07-02T08:02:08.8517006Z 5b1a73f6734a: Pull complete 2025-07-02T08:02:08.8654027Z Digest: sha256:0aafd87e2438b9db15ffc16e86eed18224c5bc10ab71671f379cae240f3c044e 2025-07-02T08:02:08.8695564Z Status: Downloaded newer image for public.ecr.aws/docker/library/python:3.13 2025-07-02T08:02:15.3732118Z Wed Jul 2 08:02:15 2025 2025-07-02T08:02:15.3732647Z +-----------------------------------------------------------------------------------------+ 2025-07-02T08:02:15.3733275Z | NVIDIA-SMI 570.133.07 Driver Version: 570.133.07 CUDA Version: 12.8 | 2025-07-02T08:02:15.3733757Z |-----------------------------------------+------------------------+----------------------+ 2025-07-02T08:02:15.3734264Z | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | 2025-07-02T08:02:15.3734783Z | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | 2025-07-02T08:02:15.3735215Z | | | MIG M. | 2025-07-02T08:02:15.3735539Z |=========================================+========================+======================| 2025-07-02T08:02:15.3876423Z | 0 NVIDIA A10G On | 00000000:00:1E.0 Off | 0 | 2025-07-02T08:02:15.3877616Z | 0% 29C P8 10W / 300W | 0MiB / 23028MiB | 0% Default | 2025-07-02T08:02:15.3878922Z | | | N/A | 2025-07-02T08:02:15.3879765Z +-----------------------------------------+------------------------+----------------------+ 2025-07-02T08:02:15.3880765Z 2025-07-02T08:02:15.3881863Z +-----------------------------------------------------------------------------------------+ 2025-07-02T08:02:15.3883012Z | Processes: | 2025-07-02T08:02:15.3883875Z | GPU GI CI PID Type Process name GPU Memory | 2025-07-02T08:02:15.3884467Z | ID ID Usage | 2025-07-02T08:02:15.3884827Z |=========================================================================================| 2025-07-02T08:02:15.3886065Z | No running processes found | 2025-07-02T08:02:15.3886714Z +-----------------------------------------------------------------------------------------+ 2025-07-02T08:02:16.4690199Z Command completed after 1 attempt(s). 2025-07-02T08:02:16.4783630Z ##[group]Run # ignore expansion of "docker ps -q" since it could be empty 2025-07-02T08:02:16.4784143Z # ignore expansion of "docker ps -q" since it could be empty 2025-07-02T08:02:16.4784533Z # shellcheck disable=SC2046 2025-07-02T08:02:16.4784837Z docker stop $(docker ps -q) || true 2025-07-02T08:02:16.4785145Z # Prune all of the docker images 2025-07-02T08:02:16.4785440Z docker system prune -af 2025-07-02T08:02:16.4800466Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:02:16.4800814Z env: 2025-07-02T08:02:16.4801051Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:02:16.4801359Z REPOSITORY: pytorch/rl 2025-07-02T08:02:16.4801602Z PR_NUMBER: 3030 2025-07-02T08:02:16.4811341Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:02:16.4821408Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:02:16.4821948Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:02:16.4822457Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:02:16.4822887Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:02:16.4823211Z ##[endgroup] 2025-07-02T08:02:16.5144737Z "docker stop" requires at least 1 argument. 2025-07-02T08:02:16.5145219Z See 'docker stop --help'. 2025-07-02T08:02:16.5145441Z 2025-07-02T08:02:16.5145897Z Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...] 2025-07-02T08:02:16.5146234Z 2025-07-02T08:02:16.5146381Z Stop one or more running containers 2025-07-02T08:02:17.6503215Z Deleted Images: 2025-07-02T08:02:17.6503563Z untagged: public.ecr.aws/docker/library/python:3.13 2025-07-02T08:02:17.6504496Z untagged: public.ecr.aws/docker/library/python@sha256:0aafd87e2438b9db15ffc16e86eed18224c5bc10ab71671f379cae240f3c044e 2025-07-02T08:02:17.6505410Z deleted: sha256:1c1dd43eba265a3a394d7e086c38e8d5178da79845a2b359c28e874b84203cd5 2025-07-02T08:02:17.6506103Z deleted: sha256:7acb659b4e64cd7eb70ed67a49d0c8c665bca20224761effc5306eee484ae33e 2025-07-02T08:02:17.6507051Z deleted: sha256:bc71b0c47d114ae84eed955d2923d9a41a50ca3720c9e10af268db04b14a2600 2025-07-02T08:02:17.6507722Z deleted: sha256:c9f66cd00ed8198b27716ec7ac287a14a5808ba07dabc6c20c6a37ea59437fd0 2025-07-02T08:02:17.6508386Z deleted: sha256:c8ff078627a28137ceeacafc6534e3c8465615a03b754f372fa72f9717056686 2025-07-02T08:02:17.6508982Z deleted: sha256:2b272f78bdc21f8fc3d51044a4e203d83a14eefa2c02e9d2da7e3e80bfacc3dc 2025-07-02T08:02:17.6509651Z deleted: sha256:6172bbf7631fd63986c3c7b3299d7f2e10ba8ed469da2cefb52df901607ddda1 2025-07-02T08:02:17.6510301Z deleted: sha256:385eb556134e17ef23cfd59b33526dddab1776f743b3713ff9a08a484ece4aaa 2025-07-02T08:02:17.6510649Z 2025-07-02T08:02:17.6824469Z Total reclaimed space: 1.018GB 2025-07-02T08:02:17.6907228Z ##[group]Run ./test-infra/.github/actions/setup-ssh 2025-07-02T08:02:17.6907569Z with: 2025-07-02T08:02:17.6908243Z github-secret: *** 2025-07-02T08:02:17.6908883Z instructions: All testing is done inside the container, to start an interactive session run: docker exec -it $(docker container ps --format '{{.ID}}') bash 2025-07-02T08:02:17.6909581Z activate-with-label: false 2025-07-02T08:02:17.6909838Z label: with-ssh 2025-07-02T08:02:17.6910072Z remove-existing-keys: true 2025-07-02T08:02:17.6910323Z fail-silently: true 2025-07-02T08:02:17.6910543Z env: 2025-07-02T08:02:17.6910777Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:02:17.6911093Z REPOSITORY: pytorch/rl 2025-07-02T08:02:17.6911331Z PR_NUMBER: 3030 2025-07-02T08:02:17.6920828Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:02:17.6930943Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:02:17.6931486Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:02:17.6932116Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:02:17.6932541Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:02:17.6932890Z ##[endgroup] 2025-07-02T08:02:17.8058915Z Please see https://github.com/pytorch/pytorch/wiki/Debugging-using-with-ssh-for-Github-Actions for more info. 2025-07-02T08:02:18.2112729Z Grabbing public ssh keys from https://github.com/vmoens.keys 2025-07-02T08:02:18.2786845Z ~/.ssh/authorized_keys file found on node, removing ~/.ssh and starting fresh 2025-07-02T08:02:18.2802101Z Public keys pulled and installed to /home/ec2-user/.ssh/authorized_keys 2025-07-02T08:02:18.2847552Z Login using: ssh ec2-user@ec2-44-210-239-207.compute-1.amazonaws.com 2025-07-02T08:02:18.2848539Z All testing is done inside the container, to start an interactive session run: 2025-07-02T08:02:18.2849077Z docker exec -it $(docker container ps --format '{{.ID}}') bash 2025-07-02T08:02:18.2992588Z ##[group]Run actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 2025-07-02T08:02:18.2992979Z with: 2025-07-02T08:02:18.2993185Z repository: pytorch/rl 2025-07-02T08:02:18.2993423Z ref: refs/pull/3030/merge 2025-07-02T08:02:18.2993663Z path: pytorch/rl 2025-07-02T08:02:18.2993870Z fetch-depth: 1 2025-07-02T08:02:18.2994195Z token: *** 2025-07-02T08:02:18.2994397Z ssh-strict: true 2025-07-02T08:02:18.2994613Z ssh-user: git 2025-07-02T08:02:18.2994835Z persist-credentials: true 2025-07-02T08:02:18.2995083Z clean: true 2025-07-02T08:02:18.2995314Z sparse-checkout-cone-mode: true 2025-07-02T08:02:18.2995581Z fetch-tags: false 2025-07-02T08:02:18.2995804Z show-progress: true 2025-07-02T08:02:18.2996020Z lfs: false 2025-07-02T08:02:18.2996233Z set-safe-directory: true 2025-07-02T08:02:18.2996463Z env: 2025-07-02T08:02:18.2996686Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:02:18.2996991Z REPOSITORY: pytorch/rl 2025-07-02T08:02:18.2997248Z PR_NUMBER: 3030 2025-07-02T08:02:18.3006911Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:02:18.3017153Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:02:18.3017696Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:02:18.3018204Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:02:18.3018629Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:02:18.3018956Z ##[endgroup] 2025-07-02T08:02:18.4019207Z Syncing repository: pytorch/rl 2025-07-02T08:02:18.4028160Z ##[group]Getting Git version info 2025-07-02T08:02:18.4028584Z Working directory is '/home/ec2-user/actions-runner/_work/rl/rl/pytorch/rl' 2025-07-02T08:02:18.4055107Z [command]/usr/bin/git version 2025-07-02T08:02:18.4102180Z git version 2.47.1 2025-07-02T08:02:18.4129260Z ##[endgroup] 2025-07-02T08:02:18.4154127Z Temporarily overriding HOME='/home/ec2-user/actions-runner/_work/_temp/285384c4-8538-4650-94b5-000d931275da' before making global git config changes 2025-07-02T08:02:18.4155517Z Adding repository directory to the temporary git global config as a safe directory 2025-07-02T08:02:18.4160311Z [command]/usr/bin/git config --global --add safe.directory /home/ec2-user/actions-runner/_work/rl/rl/pytorch/rl 2025-07-02T08:02:18.4200549Z ##[group]Initializing the repository 2025-07-02T08:02:18.4205909Z [command]/usr/bin/git init /home/ec2-user/actions-runner/_work/rl/rl/pytorch/rl 2025-07-02T08:02:18.4253039Z hint: Using 'master' as the name for the initial branch. This default branch name 2025-07-02T08:02:18.4253608Z hint: is subject to change. To configure the initial branch name to use in all 2025-07-02T08:02:18.4254131Z hint: of your new repositories, which will suppress this warning, call: 2025-07-02T08:02:18.4254506Z hint: 2025-07-02T08:02:18.4254780Z hint: git config --global init.defaultBranch 2025-07-02T08:02:18.4255101Z hint: 2025-07-02T08:02:18.4255415Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and 2025-07-02T08:02:18.4255936Z hint: 'development'. The just-created branch can be renamed via this command: 2025-07-02T08:02:18.4256337Z hint: 2025-07-02T08:02:18.4256535Z hint: git branch -m 2025-07-02T08:02:18.4256998Z Initialized empty Git repository in /home/ec2-user/actions-runner/_work/rl/rl/pytorch/rl/.git/ 2025-07-02T08:02:18.4265754Z [command]/usr/bin/git remote add origin https://github.com/pytorch/rl 2025-07-02T08:02:18.4313430Z ##[endgroup] 2025-07-02T08:02:18.4313828Z ##[group]Disabling automatic garbage collection 2025-07-02T08:02:18.4317783Z [command]/usr/bin/git config --local gc.auto 0 2025-07-02T08:02:18.4352310Z ##[endgroup] 2025-07-02T08:02:18.4352678Z ##[group]Setting up auth 2025-07-02T08:02:18.4357949Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2025-07-02T08:02:18.4391916Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2025-07-02T08:02:18.4783895Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2025-07-02T08:02:18.4817916Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" 2025-07-02T08:02:18.5207009Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** 2025-07-02T08:02:18.5258501Z ##[endgroup] 2025-07-02T08:02:18.5258889Z ##[group]Fetching the repository 2025-07-02T08:02:18.5265872Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +refs/pull/3030/merge:refs/remotes/pull/3030/merge 2025-07-02T08:02:19.3817443Z From https://github.com/pytorch/rl 2025-07-02T08:02:19.3817856Z * [new ref] refs/pull/3030/merge -> pull/3030/merge 2025-07-02T08:02:19.3845014Z ##[endgroup] 2025-07-02T08:02:19.3845958Z ##[group]Determining the checkout info 2025-07-02T08:02:19.3847975Z ##[endgroup] 2025-07-02T08:02:19.3852515Z [command]/usr/bin/git sparse-checkout disable 2025-07-02T08:02:19.3895268Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig 2025-07-02T08:02:19.3929230Z ##[group]Checking out the ref 2025-07-02T08:02:19.3932776Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/3030/merge 2025-07-02T08:02:19.5095763Z Note: switching to 'refs/remotes/pull/3030/merge'. 2025-07-02T08:02:19.5096061Z 2025-07-02T08:02:19.5096268Z You are in 'detached HEAD' state. You can look around, make experimental 2025-07-02T08:02:19.5096769Z changes and commit them, and you can discard any commits you make in this 2025-07-02T08:02:19.5097264Z state without impacting any branches by switching back to a branch. 2025-07-02T08:02:19.5097561Z 2025-07-02T08:02:19.5097756Z If you want to create a new branch to retain commits you create, you may 2025-07-02T08:02:19.5098229Z do so (now or later) by using -c with the switch command. Example: 2025-07-02T08:02:19.5098504Z 2025-07-02T08:02:19.5098617Z git switch -c 2025-07-02T08:02:19.5098802Z 2025-07-02T08:02:19.5098912Z Or undo this operation with: 2025-07-02T08:02:19.5099080Z 2025-07-02T08:02:19.5099166Z git switch - 2025-07-02T08:02:19.5099299Z 2025-07-02T08:02:19.5099530Z Turn off this advice by setting config variable advice.detachedHead to false 2025-07-02T08:02:19.5099856Z 2025-07-02T08:02:19.5100225Z HEAD is now at 2e8d943 Merge 995ff0d9fa6d4cdbe0120a55642106276bf80342 into 773c366c7b29f5ea26de0215119fb15055714525 2025-07-02T08:02:19.5111799Z ##[endgroup] 2025-07-02T08:02:19.5158473Z [command]/usr/bin/git log -1 --format=%H 2025-07-02T08:02:19.5189462Z 2e8d943922590c2356bc44a7af6da18a8d68787e 2025-07-02T08:02:19.5416132Z Prepare all required actions 2025-07-02T08:02:19.5416564Z Getting action download info 2025-07-02T08:02:19.6673631Z Download action repository 'nick-fields/retry@v3.0.0' (SHA:7152eba30c6575329ac0576536151aca5a72780e) 2025-07-02T08:02:19.8302532Z ##[group]Run ./test-infra/.github/actions/calculate-docker-image 2025-07-02T08:02:19.8302900Z with: 2025-07-02T08:02:19.8303116Z use-custom-docker-registry: true 2025-07-02T08:02:19.8303449Z docker-image-name: pytorch/almalinux-builder:cpu 2025-07-02T08:02:19.8303787Z docker-build-dir: .ci/docker 2025-07-02T08:02:19.8304260Z working-directory: pytorch/rl 2025-07-02T08:02:19.8304533Z docker-build-script: ./build.sh 2025-07-02T08:02:19.8304893Z docker-registry: 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-07-02T08:02:19.8305256Z force-push: false 2025-07-02T08:02:19.8305474Z env: 2025-07-02T08:02:19.8305708Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:02:19.8306022Z REPOSITORY: pytorch/rl 2025-07-02T08:02:19.8306294Z PR_NUMBER: 3030 2025-07-02T08:02:19.8315981Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:02:19.8325855Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:02:19.8326393Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:02:19.8326893Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:02:19.8327314Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:02:19.8327642Z ##[endgroup] 2025-07-02T08:02:19.8371300Z ##[group]Run set -ex 2025-07-02T08:02:19.8371586Z set -ex 2025-07-02T08:02:19.8371971Z  2025-07-02T08:02:19.8372329Z # If the docker build directory or the build script doesn't exist, the action will 2025-07-02T08:02:19.8372929Z # gracefully return the docker image name as it is. Pulling docker image in Linux 2025-07-02T08:02:19.8373444Z # job could then download the pre-built image as usual 2025-07-02T08:02:19.8374071Z if [[ -d "${DOCKER_BUILD_DIR}" ]] && [[ -f "${DOCKER_BUILD_DIR}/${DOCKER_BUILD_SCRIPT}" ]] && [[ "${USE_CUSTOM_DOCKER_REGISTRY}" == "true" ]]; then 2025-07-02T08:02:19.8374646Z  echo "skip=false" >> "${GITHUB_OUTPUT}" 2025-07-02T08:02:19.8374947Z else 2025-07-02T08:02:19.8375185Z  echo "skip=true" >> "${GITHUB_OUTPUT}" 2025-07-02T08:02:19.8375586Z  echo "docker-image=${DOCKER_IMAGE_NAME}" >> "${GITHUB_OUTPUT}" 2025-07-02T08:02:19.8376004Z  2025-07-02T08:02:19.8376500Z  echo "Not using custom ECR registry. Either it was not requested or there is no Docker build script in the ${REPO_NAME} repo..." 2025-07-02T08:02:19.8377075Z  exit 0 2025-07-02T08:02:19.8377272Z fi 2025-07-02T08:02:19.8377464Z  2025-07-02T08:02:19.8377775Z if [[ "${DOCKER_IMAGE_NAME}" == *"${DOCKER_REGISTRY}/${REPO_NAME}"* ]]; then 2025-07-02T08:02:19.8378324Z  # The docker image name already includes the ECR prefix and tag, so we can just 2025-07-02T08:02:19.8378807Z  # use it as it is, but first let's extract the tag 2025-07-02T08:02:19.8379237Z  DOCKER_TAG=$(echo "${DOCKER_IMAGE_NAME}" | awk -F '[:,]' '{print $2}') 2025-07-02T08:02:19.8379713Z  echo "docker-tag=${DOCKER_TAG}" >> "${GITHUB_OUTPUT}" 2025-07-02T08:02:19.8380159Z  echo "docker-image=${DOCKER_IMAGE_NAME}" >> "${GITHUB_OUTPUT}" 2025-07-02T08:02:19.8380519Z else 2025-07-02T08:02:19.8380768Z  if [[ "${DOCKER_IMAGE_NAME}" == *:* ]]; then 2025-07-02T08:02:19.8381113Z  CUSTOM_TAG_PREFIX=${DOCKER_IMAGE_NAME#*:} 2025-07-02T08:02:19.8381477Z  DOCKER_IMAGE_NAME=${DOCKER_IMAGE_NAME%%:*} 2025-07-02T08:02:19.8381775Z  fi 2025-07-02T08:02:19.8382190Z  DOCKER_TAG=${CUSTOM_TAG_PREFIX:+${CUSTOM_TAG_PREFIX}-}$(git rev-parse HEAD:"${DOCKER_BUILD_DIR}") 2025-07-02T08:02:19.8382744Z  echo "docker-tag=${DOCKER_TAG}" >> "${GITHUB_OUTPUT}" 2025-07-02T08:02:19.8383316Z  echo "docker-image=${DOCKER_REGISTRY}/${REPO_NAME}/${DOCKER_IMAGE_NAME}:${DOCKER_TAG}" >> "${GITHUB_OUTPUT}" 2025-07-02T08:02:19.8383960Z  echo "custom-tag-prefix=${CUSTOM_TAG_PREFIX}" >> "${GITHUB_OUTPUT}" 2025-07-02T08:02:19.8384340Z fi 2025-07-02T08:02:19.8393358Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:02:19.8393694Z env: 2025-07-02T08:02:19.8393924Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:02:19.8394230Z REPOSITORY: pytorch/rl 2025-07-02T08:02:19.8394469Z PR_NUMBER: 3030 2025-07-02T08:02:19.8404236Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:02:19.8414414Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:02:19.8414953Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:02:19.8415476Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:02:19.8415904Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:02:19.8416234Z REPO_NAME: rl 2025-07-02T08:02:19.8416502Z DOCKER_IMAGE_NAME: pytorch/almalinux-builder:cpu 2025-07-02T08:02:19.8416826Z DOCKER_BUILD_DIR: .ci/docker 2025-07-02T08:02:19.8417097Z DOCKER_BUILD_SCRIPT: ./build.sh 2025-07-02T08:02:19.8417446Z DOCKER_REGISTRY: 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-07-02T08:02:19.8417815Z USE_CUSTOM_DOCKER_REGISTRY: true 2025-07-02T08:02:19.8418080Z CUSTOM_TAG_PREFIX: 2025-07-02T08:02:19.8418318Z ##[endgroup] 2025-07-02T08:02:19.8452554Z + [[ -d .ci/docker ]] 2025-07-02T08:02:19.8452800Z + echo skip=true 2025-07-02T08:02:19.8453058Z + echo docker-image=pytorch/almalinux-builder:cpu 2025-07-02T08:02:19.8453665Z + echo 'Not using custom ECR registry. Either it was not requested or there is no Docker build script in the rl repo...' 2025-07-02T08:02:19.8454194Z + exit 0 2025-07-02T08:02:19.8454616Z Not using custom ECR registry. Either it was not requested or there is no Docker build script in the rl repo... 2025-07-02T08:02:19.8498393Z ##[group]Run set -eux 2025-07-02T08:02:19.8498810Z set -eux 2025-07-02T08:02:19.8499591Z aws secretsmanager get-secret-value --secret-id docker_hub_readonly_token | jq --raw-output '.SecretString' | jq -r .docker_hub_readonly_token | docker login --username pytorchbot --password-stdin 2025-07-02T08:02:19.8509158Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:02:19.8509502Z env: 2025-07-02T08:02:19.8509729Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:02:19.8510054Z REPOSITORY: pytorch/rl 2025-07-02T08:02:19.8510285Z PR_NUMBER: 3030 2025-07-02T08:02:19.8519965Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:02:19.8529776Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:02:19.8530324Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:02:19.8530891Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:02:19.8531314Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:02:19.8531734Z ##[endgroup] 2025-07-02T08:02:19.8565055Z + aws secretsmanager get-secret-value --secret-id docker_hub_readonly_token 2025-07-02T08:02:19.8565724Z + jq --raw-output .SecretString 2025-07-02T08:02:19.8567446Z + jq -r .docker_hub_readonly_token 2025-07-02T08:02:19.8568535Z + docker login --username pytorchbot --password-stdin 2025-07-02T08:02:20.4423134Z WARNING! Your password will be stored unencrypted in /home/ec2-user/.docker/config.json. 2025-07-02T08:02:20.4423700Z Configure a credential helper to remove this warning. See 2025-07-02T08:02:20.4424230Z https://docs.docker.com/engine/reference/commandline/login/#credentials-store 2025-07-02T08:02:20.4424939Z 2025-07-02T08:02:20.4425066Z Login Succeeded 2025-07-02T08:02:20.4512909Z Prepare all required actions 2025-07-02T08:02:20.4552328Z ##[group]Run ./test-infra/.github/actions/pull-docker-image 2025-07-02T08:02:20.4552677Z with: 2025-07-02T08:02:20.4552923Z docker-image: pytorch/almalinux-builder:cpu 2025-07-02T08:02:20.4553320Z docker-registry: 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-07-02T08:02:20.4553673Z env: 2025-07-02T08:02:20.4553899Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:02:20.4554216Z REPOSITORY: pytorch/rl 2025-07-02T08:02:20.4554457Z PR_NUMBER: 3030 2025-07-02T08:02:20.4563977Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:02:20.4573949Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:02:20.4574503Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:02:20.4590372Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:02:20.4591091Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:02:20.4591477Z ##[endgroup] 2025-07-02T08:02:20.4617925Z ##[group]Run set -x 2025-07-02T08:02:20.4618180Z set -x 2025-07-02T08:02:20.4618381Z set +e 2025-07-02T08:02:20.4618569Z  2025-07-02T08:02:20.4618760Z login() { 2025-07-02T08:02:20.4619182Z  aws ecr get-login-password --region us-east-1 | docker login -u AWS --password-stdin "$1" 2025-07-02T08:02:20.4619644Z } 2025-07-02T08:02:20.4619829Z  2025-07-02T08:02:20.4620007Z retry () { 2025-07-02T08:02:20.4620251Z  $* || (sleep 1 && $*) || (sleep 2 && $*) 2025-07-02T08:02:20.4620523Z } 2025-07-02T08:02:20.4620704Z  2025-07-02T08:02:20.4620907Z retry login "${DOCKER_REGISTRY}" 2025-07-02T08:02:20.4621177Z  2025-07-02T08:02:20.4621605Z IMAGE_SIZE=$(docker manifest inspect "${DOCKER_IMAGE}" | jq '[.layers[].size, .config.size] | add / 1024 / 1024') 2025-07-02T08:02:20.4622206Z echo "Compressed size of image in MB: ${IMAGE_SIZE}" 2025-07-02T08:02:20.4622550Z  2025-07-02T08:02:20.4622727Z set -e 2025-07-02T08:02:20.4623029Z # ignore output since only exit code is used for conditional 2025-07-02T08:02:20.4623460Z # only pull docker image if it's not available locally 2025-07-02T08:02:20.4623942Z if ! docker inspect --type=image "${DOCKER_IMAGE}" >/dev/null 2>/dev/null; then 2025-07-02T08:02:20.4624387Z  retry docker pull "${DOCKER_IMAGE}" 2025-07-02T08:02:20.4624661Z fi 2025-07-02T08:02:20.4633509Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:02:20.4633845Z env: 2025-07-02T08:02:20.4634073Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:02:20.4634382Z REPOSITORY: pytorch/rl 2025-07-02T08:02:20.4634626Z PR_NUMBER: 3030 2025-07-02T08:02:20.4644175Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:02:20.4654297Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:02:20.4654851Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:02:20.4655352Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:02:20.4655762Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:02:20.4656183Z DOCKER_REGISTRY: 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-07-02T08:02:20.4656525Z ##[endgroup] 2025-07-02T08:02:20.4691365Z + set +e 2025-07-02T08:02:20.4691716Z + retry login 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-07-02T08:02:20.4692198Z + login 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-07-02T08:02:20.4695914Z + aws ecr get-login-password --region us-east-1 2025-07-02T08:02:20.4696586Z + docker login -u AWS --password-stdin 308535385114.dkr.ecr.us-east-1.amazonaws.com 2025-07-02T08:02:20.9826585Z WARNING! Your password will be stored unencrypted in /home/ec2-user/.docker/config.json. 2025-07-02T08:02:20.9827152Z Configure a credential helper to remove this warning. See 2025-07-02T08:02:20.9827715Z https://docs.docker.com/engine/reference/commandline/login/#credentials-store 2025-07-02T08:02:20.9828083Z 2025-07-02T08:02:20.9828205Z Login Succeeded 2025-07-02T08:02:20.9859303Z ++ docker manifest inspect pytorch/almalinux-builder:cpu 2025-07-02T08:02:20.9859948Z ++ jq '[.layers[].size, .config.size] | add / 1024 / 1024' 2025-07-02T08:02:21.2178563Z + IMAGE_SIZE=1396.334942817688 2025-07-02T08:02:21.2179043Z + echo 'Compressed size of image in MB: 1396.334942817688' 2025-07-02T08:02:21.2179485Z + set -e 2025-07-02T08:02:21.2179807Z Compressed size of image in MB: 1396.334942817688 2025-07-02T08:02:21.2180226Z + docker inspect --type=image pytorch/almalinux-builder:cpu 2025-07-02T08:02:21.2327545Z + retry docker pull pytorch/almalinux-builder:cpu 2025-07-02T08:02:21.2328043Z + docker pull pytorch/almalinux-builder:cpu 2025-07-02T08:02:21.3976167Z cpu: Pulling from pytorch/almalinux-builder 2025-07-02T08:02:21.3976622Z 19877a9af8e3: Pulling fs layer 2025-07-02T08:02:21.3976994Z 886003f6ab94: Pulling fs layer 2025-07-02T08:02:21.3977339Z 160b6baf3053: Pulling fs layer 2025-07-02T08:02:21.3977603Z 5fa358c72929: Pulling fs layer 2025-07-02T08:02:21.3977858Z e840ad4f61c2: Pulling fs layer 2025-07-02T08:02:21.3978198Z 6ad9b9bd0605: Pulling fs layer 2025-07-02T08:02:21.3978448Z 032a0a0f4dac: Pulling fs layer 2025-07-02T08:02:21.3978775Z 4f4fb700ef54: Pulling fs layer 2025-07-02T08:02:21.3979074Z 1c84a8623287: Pulling fs layer 2025-07-02T08:02:21.3979339Z ae227d43e36f: Pulling fs layer 2025-07-02T08:02:21.3979687Z a878d18a5734: Pulling fs layer 2025-07-02T08:02:21.3979949Z 66cdfb06ed2c: Pulling fs layer 2025-07-02T08:02:21.3980205Z 52845009cb74: Pulling fs layer 2025-07-02T08:02:21.3980521Z 5cb0a24bb686: Pulling fs layer 2025-07-02T08:02:21.3980784Z 818a5af48b7d: Pulling fs layer 2025-07-02T08:02:21.3981033Z 2ce923b93dad: Pulling fs layer 2025-07-02T08:02:21.3981347Z 0d572ca5d99c: Pulling fs layer 2025-07-02T08:02:21.3981604Z 4f4fb700ef54: Waiting 2025-07-02T08:02:21.3982156Z 1c84a8623287: Waiting 2025-07-02T08:02:21.3982431Z ae227d43e36f: Waiting 2025-07-02T08:02:21.3982813Z a878d18a5734: Waiting 2025-07-02T08:02:21.3983076Z 66cdfb06ed2c: Waiting 2025-07-02T08:02:21.3983325Z 52845009cb74: Waiting 2025-07-02T08:02:21.3983541Z 5cb0a24bb686: Waiting 2025-07-02T08:02:21.3983748Z 5fa358c72929: Waiting 2025-07-02T08:02:21.3984024Z 818a5af48b7d: Waiting 2025-07-02T08:02:21.3984248Z 0d572ca5d99c: Waiting 2025-07-02T08:02:21.3984463Z e840ad4f61c2: Waiting 2025-07-02T08:02:21.3984674Z 2ce923b93dad: Waiting 2025-07-02T08:02:21.3984887Z 6ad9b9bd0605: Waiting 2025-07-02T08:02:21.3985099Z 032a0a0f4dac: Waiting 2025-07-02T08:02:21.5748374Z 160b6baf3053: Verifying Checksum 2025-07-02T08:02:21.5749255Z 160b6baf3053: Download complete 2025-07-02T08:02:22.0688184Z 5fa358c72929: Verifying Checksum 2025-07-02T08:02:22.0688535Z 5fa358c72929: Download complete 2025-07-02T08:02:22.2288123Z 19877a9af8e3: Verifying Checksum 2025-07-02T08:02:22.2288561Z 19877a9af8e3: Download complete 2025-07-02T08:02:22.2638900Z 6ad9b9bd0605: Download complete 2025-07-02T08:02:22.4764746Z 886003f6ab94: Verifying Checksum 2025-07-02T08:02:22.4765110Z 886003f6ab94: Download complete 2025-07-02T08:02:22.5250263Z 4f4fb700ef54: Download complete 2025-07-02T08:02:22.7129665Z 1c84a8623287: Verifying Checksum 2025-07-02T08:02:22.7130002Z 1c84a8623287: Download complete 2025-07-02T08:02:22.8342844Z ae227d43e36f: Verifying Checksum 2025-07-02T08:02:22.8343288Z ae227d43e36f: Download complete 2025-07-02T08:02:22.9099151Z 032a0a0f4dac: Verifying Checksum 2025-07-02T08:02:22.9099577Z 032a0a0f4dac: Download complete 2025-07-02T08:02:22.9366805Z 66cdfb06ed2c: Verifying Checksum 2025-07-02T08:02:22.9367250Z 66cdfb06ed2c: Download complete 2025-07-02T08:02:23.0345285Z 52845009cb74: Verifying Checksum 2025-07-02T08:02:23.0345733Z 52845009cb74: Download complete 2025-07-02T08:02:23.0822201Z 5cb0a24bb686: Verifying Checksum 2025-07-02T08:02:23.0822633Z 5cb0a24bb686: Download complete 2025-07-02T08:02:23.3763292Z 818a5af48b7d: Download complete 2025-07-02T08:02:23.4228294Z 2ce923b93dad: Download complete 2025-07-02T08:02:24.0437932Z e840ad4f61c2: Verifying Checksum 2025-07-02T08:02:24.0438271Z e840ad4f61c2: Download complete 2025-07-02T08:02:24.8515490Z 19877a9af8e3: Pull complete 2025-07-02T08:02:25.7158664Z 886003f6ab94: Pull complete 2025-07-02T08:02:25.8769529Z 160b6baf3053: Pull complete 2025-07-02T08:02:26.1566503Z 5fa358c72929: Pull complete 2025-07-02T08:02:28.7307282Z a878d18a5734: Verifying Checksum 2025-07-02T08:02:28.7307718Z a878d18a5734: Download complete 2025-07-02T08:02:30.9666818Z 0d572ca5d99c: Verifying Checksum 2025-07-02T08:02:30.9667245Z 0d572ca5d99c: Download complete 2025-07-02T08:02:32.0227350Z e840ad4f61c2: Pull complete 2025-07-02T08:02:32.0445803Z 6ad9b9bd0605: Pull complete 2025-07-02T08:02:33.4991980Z 032a0a0f4dac: Pull complete 2025-07-02T08:02:33.5215576Z 4f4fb700ef54: Pull complete 2025-07-02T08:02:33.6903293Z 1c84a8623287: Pull complete 2025-07-02T08:02:33.7266389Z ae227d43e36f: Pull complete 2025-07-02T08:02:47.8173192Z a878d18a5734: Pull complete 2025-07-02T08:02:47.8401364Z 66cdfb06ed2c: Pull complete 2025-07-02T08:02:47.8625528Z 52845009cb74: Pull complete 2025-07-02T08:02:47.8854309Z 5cb0a24bb686: Pull complete 2025-07-02T08:02:48.1057307Z 818a5af48b7d: Pull complete 2025-07-02T08:02:48.1525855Z 2ce923b93dad: Pull complete 2025-07-02T08:03:06.1114480Z 0d572ca5d99c: Pull complete 2025-07-02T08:03:06.2056534Z Digest: sha256:363e2387632a14190ba972bd9ea516e4c88e80e7089b14e7b658b63e9dbb3dc7 2025-07-02T08:03:06.2489605Z Status: Downloaded newer image for pytorch/almalinux-builder:cpu 2025-07-02T08:03:06.2758441Z docker.io/pytorch/almalinux-builder:cpu 2025-07-02T08:03:06.2919465Z ##[group]Run echo "IN_CONTAINER_RUNNER=$(if [ -f /.inarc ] || [ -f /.incontainer ]; then echo true ; else echo false; fi)" >> "$GITHUB_OUTPUT" 2025-07-02T08:03:06.2920321Z echo "IN_CONTAINER_RUNNER=$(if [ -f /.inarc ] || [ -f /.incontainer ]; then echo true ; else echo false; fi)" >> "$GITHUB_OUTPUT" 2025-07-02T08:03:06.2932125Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:03:06.2932465Z env: 2025-07-02T08:03:06.2932703Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:03:06.2933009Z REPOSITORY: pytorch/rl 2025-07-02T08:03:06.2933244Z PR_NUMBER: 3030 2025-07-02T08:03:06.2942733Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:03:06.2952883Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:03:06.2953415Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:03:06.2953917Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:03:06.2954508Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:03:06.2954834Z ##[endgroup] 2025-07-02T08:03:06.3159614Z ##[group]Run set -ex 2025-07-02T08:03:06.3159888Z set -ex 2025-07-02T08:03:06.3160091Z { 2025-07-02T08:03:06.3160301Z  echo "#!/usr/bin/env bash"; 2025-07-02T08:03:06.3160602Z  echo "set -eou pipefail"; 2025-07-02T08:03:06.3161066Z  # shellcheck disable=SC2016 2025-07-02T08:03:06.3161393Z  echo 'eval "$(conda shell.bash hook)"'; 2025-07-02T08:03:06.3161701Z  echo "set -x"; 2025-07-02T08:03:06.3161957Z  echo "${SCRIPT}"; 2025-07-02T08:03:06.3162223Z } > "${RUNNER_TEMP}/exec_script" 2025-07-02T08:03:06.3162544Z chmod +x "${RUNNER_TEMP}/exec_script" 2025-07-02T08:03:06.3163128Z python3 "/home/ec2-user/actions-runner/_work/rl/rl/test-infra/.github/scripts/run_with_env_secrets.py" "" 2025-07-02T08:03:06.3171983Z shell: /usr/bin/bash -e {0} 2025-07-02T08:03:06.3172234Z env: 2025-07-02T08:03:06.3172465Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:03:06.3172806Z REPOSITORY: pytorch/rl 2025-07-02T08:03:06.3173050Z PR_NUMBER: 3030 2025-07-02T08:03:06.3182812Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:03:06.3192779Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:03:06.3193325Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:03:06.3194913Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:03:06.3195345Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:03:06.3195906Z ALL_SECRETS: { "github_token": "***" } 2025-07-02T08:03:06.3196202Z ##[endgroup] 2025-07-02T08:03:06.3225865Z + echo '#!/usr/bin/env bash' 2025-07-02T08:03:06.3226260Z + echo 'set -eou pipefail' 2025-07-02T08:03:06.3226545Z + echo 'eval "$(conda shell.bash hook)"' 2025-07-02T08:03:06.3226819Z + echo 'set -x' 2025-07-02T08:03:06.3227259Z + echo 'set -e 2025-07-02T08:03:06.3227543Z set -v 2025-07-02T08:03:06.3227801Z yum makecache 2025-07-02T08:03:06.3228138Z # Install Mesa and OpenGL Libraries: 2025-07-02T08:03:06.3228887Z yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip 2025-07-02T08:03:06.3229609Z # Install DRI Drivers: 2025-07-02T08:03:06.3229945Z yum install -y mesa-dri-drivers 2025-07-02T08:03:06.3230347Z # Install Xvfb for Headless Environments: 2025-07-02T08:03:06.3230800Z yum install -y xorg-x11-server-Xvfb 2025-07-02T08:03:06.3231166Z # xhost +local:docker 2025-07-02T08:03:06.3231393Z # Xvfb :1 -screen 0 1024x768x24 & 2025-07-02T08:03:06.3231571Z 2025-07-02T08:03:06.3231653Z root_dir="$(pwd)" 2025-07-02T08:03:06.3231872Z conda_dir="${root_dir}/conda" 2025-07-02T08:03:06.3232113Z env_dir="${root_dir}/env" 2025-07-02T08:03:06.3232336Z os=Linux 2025-07-02T08:03:06.3232440Z 2025-07-02T08:03:06.3232530Z # 1. Install conda at ./conda 2025-07-02T08:03:06.3232786Z printf "* Installing conda\n" 2025-07-02T08:03:06.3233243Z wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" 2025-07-02T08:03:06.3233749Z bash ./miniconda.sh -b -f -p "${conda_dir}" 2025-07-02T08:03:06.3234072Z eval "$(${conda_dir}/bin/conda shell.bash hook)" 2025-07-02T08:03:06.3234395Z printf "* Creating a test environment\n" 2025-07-02T08:03:06.3234718Z conda create --prefix "${env_dir}" -y python=3.9 2025-07-02T08:03:06.3235024Z printf "* Activating\n" 2025-07-02T08:03:06.3235261Z conda activate "${env_dir}" 2025-07-02T08:03:06.3235417Z 2025-07-02T08:03:06.3235522Z # 2. upgrade pip, ninja and packaging 2025-07-02T08:03:06.3235842Z conda install anaconda::cmake -y 2025-07-02T08:03:06.3236113Z python3 -m pip install --upgrade pip 2025-07-02T08:03:06.3236507Z python3 -m pip install setuptools ninja packaging "pybind11[global]" -U 2025-07-02T08:03:06.3236811Z 2025-07-02T08:03:06.3236898Z # 3. check python version 2025-07-02T08:03:06.3237134Z python3 --version 2025-07-02T08:03:06.3237261Z 2025-07-02T08:03:06.3237349Z # 4. Check git version 2025-07-02T08:03:06.3237557Z git version 2025-07-02T08:03:06.3237666Z 2025-07-02T08:03:06.3237756Z # 5. Install PyTorch 2025-07-02T08:03:06.3238125Z if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then 2025-07-02T08:03:06.3238581Z python3 -m pip install torch torchvision 2025-07-02T08:03:06.3238881Z python3 -m pip install tensordict 2025-07-02T08:03:06.3239141Z else 2025-07-02T08:03:06.3239725Z python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore 2025-07-02T08:03:06.3240609Z python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore 2025-07-02T08:03:06.3241111Z fi 2025-07-02T08:03:06.3241207Z 2025-07-02T08:03:06.3241285Z # 7. Install TorchRL 2025-07-02T08:03:06.3241511Z python3 setup.py develop 2025-07-02T08:03:06.3241666Z 2025-07-02T08:03:06.3241761Z # 8. Install requirements 2025-07-02T08:03:06.3242142Z python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore 2025-07-02T08:03:06.3242485Z 2025-07-02T08:03:06.3242863Z # 9. Set sanitize version 2025-07-02T08:03:06.3243452Z if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then 2025-07-02T08:03:06.3244178Z echo '\''::group::Enable version string sanitization'\'' 2025-07-02T08:03:06.3245057Z # This environment variable just has to exist and must not be empty. The actual value is arbitrary. 2025-07-02T08:03:06.3246009Z # See docs/source/conf.py for details 2025-07-02T08:03:06.3246410Z export RL_SANITIZE_VERSION_STR_IN_DOCS=1 2025-07-02T08:03:06.3246710Z echo '\''::endgroup::'\'' 2025-07-02T08:03:06.3246938Z fi 2025-07-02T08:03:06.3247038Z 2025-07-02T08:03:06.3247135Z # 10. Test torchrl installation 2025-07-02T08:03:06.3247385Z mkdir _tmp 2025-07-02T08:03:06.3247566Z cd _tmp 2025-07-02T08:03:06.3247977Z PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv 2025-07-02T08:03:06.3248604Z print(DMControlEnv('\''cheetah'\'', '\''run'\'', from_pixels=True).reset())""" 2025-07-02T08:03:06.3248988Z cd .. 2025-07-02T08:03:06.3249090Z 2025-07-02T08:03:06.3249173Z # 11. Build doc 2025-07-02T08:03:06.3249511Z export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector 2025-07-02T08:03:06.3249934Z export BATCHED_PIPE_TIMEOUT=180 2025-07-02T08:03:06.3250191Z cd ./docs 2025-07-02T08:03:06.3250768Z # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi 2025-07-02T08:03:06.3251657Z # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi 2025-07-02T08:03:06.3252506Z PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 2025-07-02T08:03:06.3253012Z cd .. 2025-07-02T08:03:06.3253116Z 2025-07-02T08:03:06.3253244Z cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" 2025-07-02T08:03:06.3253575Z echo $(ls "${RUNNER_ARTIFACT_DIR}") 2025-07-02T08:03:06.3253839Z if [[ true ]]; then 2025-07-02T08:03:06.3254086Z cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" 2025-07-02T08:03:06.3254365Z fi 2025-07-02T08:03:06.3254535Z ' 2025-07-02T08:03:06.3254805Z + chmod +x /home/ec2-user/actions-runner/_work/_temp/exec_script 2025-07-02T08:03:06.3255425Z + python3 /home/ec2-user/actions-runner/_work/rl/rl/test-infra/.github/scripts/run_with_env_secrets.py '' 2025-07-02T08:03:29.7518254Z Running command: 2025-07-02T08:03:29.7523622Z docker run -e PR_NUMBER -e RUNNER_ARTIFACT_DIR=/artifacts -e RUNNER_DOCS_DIR=/docs -e RUNNER_TEST_RESULTS_DIR=/test-results --env-file="/home/ec2-user/actions-runner/_work/_temp/github_env_16019399423" `# It is unknown why the container sees a different value for this.` -e GITHUB_STEP_SUMMARY -e SECRET_GITHUB_TOKEN --cap-add=SYS_PTRACE --detach --ipc=host --security-opt seccomp=unconfined --shm-size=2g --tty --ulimit stack=10485760:83886080 --ulimit core=0 --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all -v "/home/ec2-user/actions-runner/_work/rl/rl/pytorch/rl:/pytorch/rl" -v "/home/ec2-user/actions-runner/_work/rl/rl/test-infra:/test-infra" -v "/home/ec2-user/actions-runner/_work/_temp/artifacts:/artifacts" -v "/home/ec2-user/actions-runner/_work/_temp/docs:/docs" -v "/home/ec2-user/actions-runner/_work/_temp/test-results:/test-results" -v "/home/ec2-user/actions-runner/_work/_temp/exec_script:/exec" -v "/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/step_summary_9edb74d8-efab-418a-abfe-2c9478893bab":"/home/ec2-user/actions-runner/_work/_temp/_runner_file_commands/step_summary_9edb74d8-efab-418a-abfe-2c9478893bab" -w /pytorch/rl "pytorch/almalinux-builder:cpu" 2025-07-02T08:03:29.7528496Z 2025-07-02T08:03:29.7528816Z 2eae8f124d1c48eb60f31b902ab11a46402e0d75b24dc490e8f77f46e5b657d6 2025-07-02T08:03:29.7529446Z Running command: docker exec -t 2eae8f124d1c48eb60f31b902ab11a46402e0d75b24dc490e8f77f46e5b657d6 /exec 2025-07-02T08:03:29.7530003Z + set -e 2025-07-02T08:03:29.7530421Z + set -v 2025-07-02T08:03:29.7530605Z yum makecache 2025-07-02T08:03:29.7530808Z + yum makecache 2025-07-02T08:03:29.7531120Z AlmaLinux 8 - BaseOS [=== ] --- B/s | 0 B --:-- ETA 2025-07-02T08:03:29.7531566Z AlmaLinux 8 - BaseOS 45 kB/s | 3.8 kB 00:00 2025-07-02T08:03:29.7532007Z AlmaLinux 8 - AppStr [=== ] --- B/s | 0 B --:-- ETA 2025-07-02T08:03:29.7532455Z AlmaLinux 8 - AppStream 67 kB/s | 4.3 kB 00:00 2025-07-02T08:03:29.7532908Z AlmaLinux 8 - Extras [ === ] --- B/s | 0 B --:-- ETA 2025-07-02T08:03:29.7533350Z AlmaLinux 8 - Extras 51 kB/s | 3.3 kB 00:00 2025-07-02T08:03:29.7533792Z Extra Packages for E [ === ] --- B/s | 0 B --:-- ETA 2025-07-02T08:03:29.7534280Z Extra Packages for Enterprise Linux 8 - x86_64 214 kB/s | 34 kB 00:00 2025-07-02T08:03:29.7534692Z Metadata cache created. 2025-07-02T08:03:29.7534949Z # Install Mesa and OpenGL Libraries: 2025-07-02T08:03:29.7535461Z yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip 2025-07-02T08:03:29.7536199Z + yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip 2025-07-02T08:03:29.7536829Z Last metadata expiration check: 0:00:01 ago on Wed 02 Jul 2025 08:03:27 AM UTC. 2025-07-02T08:03:29.7537241Z Dependencies resolved. 2025-07-02T08:03:29.7537514Z ============================================================================================== 2025-07-02T08:03:29.7537929Z Package Arch Version Repo Size 2025-07-02T08:03:29.7538335Z ============================================================================================== 2025-07-02T08:03:29.7538633Z Installing: 2025-07-02T08:03:29.7539273Z egl-utils (B x86_64 8.4.0-5.20181118git1830dcb.el8 appstream 21 k 2025-07-02T08:03:29.7539904Z freeglut (B x86_64 3.0.0-9.el8 appstream 190 k 2025-07-02T08:03:29.7540488Z glfw (B x86_64 1:3.3-3.el8 epel 95 k 2025-07-02T08:03:29.7541087Z mesa-libEGL (B x86_64 23.1.4-4.el8_10.alma.1 appstream 148 k 2025-07-02T08:03:29.7541713Z mesa-libGL (B x86_64 23.1.4-4.el8_10.alma.1 appstream 187 k 2025-07-02T08:03:29.7542365Z mesa-libGL-devel (B x86_64 23.1.4-4.el8_10.alma.1 appstream 52 k 2025-07-02T08:03:29.7543015Z mesa-libGLU (B x86_64 9.0.0-15.el8 appstream 185 k 2025-07-02T08:03:29.7543666Z python39-pip (B noarch 20.2.4-9.module_el8.10.0+3765+2f9a457d appstream 1.9 M 2025-07-02T08:03:29.7544122Z Installing dependencies: 2025-07-02T08:03:29.7544658Z annobin (B x86_64 11.13-2.el8 appstream 971 k 2025-07-02T08:03:29.7545303Z cpp (B x86_64 8.5.0-26.el8_10.alma.1 baseos 10 M 2025-07-02T08:03:29.7546129Z gcc (B x86_64 8.5.0-26.el8_10.alma.1 baseos 23 M 2025-07-02T08:03:29.7546761Z gcc-plugin-annobin (B x86_64 8.5.0-26.el8_10.alma.1 baseos 35 k 2025-07-02T08:03:29.7547576Z gdb-headless (B x86_64 8.2-20.el8 appstream 3.7 M 2025-07-02T08:03:29.7548193Z hwdata (B noarch 0.314-8.22.el8 baseos 1.8 M 2025-07-02T08:03:29.7548776Z isl (B x86_64 0.16.1-6.el8 appstream 841 k 2025-07-02T08:03:29.7549452Z libICE (B x86_64 1.0.9-15.el8 appstream 73 k 2025-07-02T08:03:29.7550035Z libX11 (B x86_64 1.6.8-9.el8_10 appstream 611 k 2025-07-02T08:03:29.7550661Z libX11-common (B noarch 1.6.8-9.el8_10 appstream 157 k 2025-07-02T08:03:29.7551296Z libX11-devel (B x86_64 1.6.8-9.el8_10 appstream 976 k 2025-07-02T08:03:29.7552007Z libX11-xcb (B x86_64 1.6.8-9.el8_10 appstream 14 k 2025-07-02T08:03:29.7552684Z libXau (B x86_64 1.0.9-3.el8 appstream 37 k 2025-07-02T08:03:29.7553290Z libXau-devel (B x86_64 1.0.9-3.el8 appstream 20 k 2025-07-02T08:03:29.7553893Z libXext (B x86_64 1.3.4-1.el8 appstream 45 k 2025-07-02T08:03:29.7554488Z libXfixes (B x86_64 5.0.3-7.el8 appstream 25 k 2025-07-02T08:03:29.7555079Z libXi (B x86_64 1.7.10-1.el8 appstream 48 k 2025-07-02T08:03:29.7555677Z libXxf86vm (B x86_64 1.1.4-9.el8 appstream 19 k 2025-07-02T08:03:29.7556275Z libdrm (B x86_64 2.4.115-2.el8 appstream 163 k 2025-07-02T08:03:29.7556892Z libdrm-devel (B x86_64 2.4.115-2.el8 appstream 183 k 2025-07-02T08:03:29.7557503Z libglvnd (B x86_64 1:1.3.4-2.el8 appstream 126 k 2025-07-02T08:03:29.7558146Z libglvnd-core-devel (B x86_64 1:1.3.4-2.el8 appstream 24 k 2025-07-02T08:03:29.7558814Z libglvnd-devel (B x86_64 1:1.3.4-2.el8 appstream 184 k 2025-07-02T08:03:29.7559441Z libglvnd-egl (B x86_64 1:1.3.4-2.el8 appstream 48 k 2025-07-02T08:03:29.7560124Z libglvnd-gles (B x86_64 1:1.3.4-2.el8 appstream 39 k 2025-07-02T08:03:29.7560749Z libglvnd-glx (B x86_64 1:1.3.4-2.el8 appstream 136 k 2025-07-02T08:03:29.7561395Z libglvnd-opengl (B x86_64 1:1.3.4-2.el8 appstream 46 k 2025-07-02T08:03:29.7562043Z libpciaccess (B x86_64 0.14-1.el8 baseos 32 k 2025-07-02T08:03:29.7562690Z libpciaccess-devel (B x86_64 0.14-1.el8 appstream 19 k 2025-07-02T08:03:29.7563367Z libwayland-client (B x86_64 1.21.0-1.el8 appstream 40 k 2025-07-02T08:03:29.7564030Z libwayland-server (B x86_64 1.21.0-1.el8 appstream 47 k 2025-07-02T08:03:29.7564657Z libxcb (B x86_64 1.13.1-1.el8 appstream 231 k 2025-07-02T08:03:29.7565264Z libxcb-devel (B x86_64 1.13.1-1.el8 appstream 1.1 M 2025-07-02T08:03:29.7565888Z libxshmfence (B x86_64 1.3-2.el8 appstream 13 k 2025-07-02T08:03:29.7566637Z mesa-libgbm (B x86_64 23.1.4-4.el8_10.alma.1 appstream 60 k 2025-07-02T08:03:29.7567284Z mesa-libglapi (B x86_64 23.1.4-4.el8_10.alma.1 appstream 67 k 2025-07-02T08:03:29.7567929Z mpdecimal (B x86_64 2.5.1-3.el8 appstream 92 k 2025-07-02T08:03:29.7568626Z python3.11 (B x86_64 3.11.11-1.el8_10 appstream 30 k 2025-07-02T08:03:35.0444801Z ##[error]The operation was canceled. 2025-07-02T08:03:35.0497162Z ##[group]Run pmeier/pytest-results-action@a2c1430e2bddadbad9f49a6f9b879f062c6b19b1 2025-07-02T08:03:35.0497616Z with: 2025-07-02T08:03:35.0497904Z path: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:03:35.0498258Z fail-on-empty: false 2025-07-02T08:03:35.0498480Z env: 2025-07-02T08:03:35.0498704Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:03:35.0499018Z REPOSITORY: pytorch/rl 2025-07-02T08:03:35.0499255Z PR_NUMBER: 3030 2025-07-02T08:03:35.0508775Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:03:35.0518582Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:03:35.0519133Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:03:35.0519794Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:03:35.0520215Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:03:35.0520550Z ##[endgroup] 2025-07-02T08:03:35.1126031Z ##[group]Run # Only do these steps if we actually want to upload an artifact 2025-07-02T08:03:35.1126584Z # Only do these steps if we actually want to upload an artifact 2025-07-02T08:03:35.1127004Z if [[ -n "${UPLOAD_ARTIFACT_NAME}" ]]; then 2025-07-02T08:03:35.1127492Z  # If the default execution path is followed then we should get a wheel in the dist/ folder 2025-07-02T08:03:35.1128057Z  # attempt to just grab whatever is in there and scoop it all up 2025-07-02T08:03:35.1128511Z  if find "dist/" -name "*.whl" >/dev/null 2>/dev/null; then 2025-07-02T08:03:35.1128908Z  mv -v dist/*.whl "${RUNNER_ARTIFACT_DIR}/" 2025-07-02T08:03:35.1129223Z  fi 2025-07-02T08:03:35.1129490Z  if [[ -d "artifacts-to-be-uploaded" ]]; then 2025-07-02T08:03:35.1129937Z  mv -v artifacts-to-be-uploaded/* "${RUNNER_ARTIFACT_DIR}/" 2025-07-02T08:03:35.1130310Z  fi 2025-07-02T08:03:35.1130640Z fi 2025-07-02T08:03:35.1130832Z  2025-07-02T08:03:35.1131034Z upload_docs=0 2025-07-02T08:03:35.1131400Z # Check if there are files in the documentation folder to upload, note that 2025-07-02T08:03:35.1131830Z # empty folders do not count 2025-07-02T08:03:35.1132253Z if find "${RUNNER_DOCS_DIR}" -mindepth 1 -maxdepth 1 -type f | read -r; then 2025-07-02T08:03:35.1132862Z  # TODO: Add a check here to test if on ec2 because if we're not on ec2 then this 2025-07-02T08:03:35.1133312Z  # upload will probably not work correctly 2025-07-02T08:03:35.1133635Z  upload_docs=1 2025-07-02T08:03:35.1133863Z fi 2025-07-02T08:03:35.1134152Z echo "upload-docs=${upload_docs}" >> "${GITHUB_OUTPUT}" 2025-07-02T08:03:35.1148620Z shell: /usr/bin/bash -e {0} 2025-07-02T08:03:35.1148874Z env: 2025-07-02T08:03:35.1149102Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:03:35.1149434Z REPOSITORY: pytorch/rl 2025-07-02T08:03:35.1149663Z PR_NUMBER: 3030 2025-07-02T08:03:35.1159373Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:03:35.1169388Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:03:35.1169924Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:03:35.1170509Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:03:35.1170937Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:03:35.1171286Z UPLOAD_ARTIFACT_NAME: docs 2025-07-02T08:03:35.1171527Z ##[endgroup] 2025-07-02T08:03:35.1303635Z ##[group]Run actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 2025-07-02T08:03:35.1304070Z with: 2025-07-02T08:03:35.1304260Z name: docs 2025-07-02T08:03:35.1304550Z path: /home/ec2-user/actions-runner/_work/_temp/artifacts/ 2025-07-02T08:03:35.1304928Z if-no-files-found: warn 2025-07-02T08:03:35.1305176Z compression-level: 6 2025-07-02T08:03:35.1305411Z overwrite: false 2025-07-02T08:03:35.1305634Z include-hidden-files: false 2025-07-02T08:03:35.1305894Z env: 2025-07-02T08:03:35.1306116Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:03:35.1306433Z REPOSITORY: pytorch/rl 2025-07-02T08:03:35.1306671Z PR_NUMBER: 3030 2025-07-02T08:03:35.1316233Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:03:35.1326198Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:03:35.1326727Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:03:35.1327230Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:03:35.1327756Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:03:35.1328077Z ##[endgroup] 2025-07-02T08:03:35.3884392Z ##[warning]No files were found with the provided path: /home/ec2-user/actions-runner/_work/_temp/artifacts/. No artifacts will be uploaded. 2025-07-02T08:03:35.4002667Z Prepare all required actions 2025-07-02T08:03:35.4041511Z ##[group]Run ./test-infra/.github/actions/teardown-linux 2025-07-02T08:03:35.4041844Z with: 2025-07-02T08:03:35.4042022Z env: 2025-07-02T08:03:35.4042256Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:03:35.4042564Z REPOSITORY: pytorch/rl 2025-07-02T08:03:35.4042808Z PR_NUMBER: 3030 2025-07-02T08:03:35.4052885Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:03:35.4062972Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:03:35.4063514Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:03:35.4064030Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:03:35.4064449Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:03:35.4064785Z ##[endgroup] 2025-07-02T08:03:35.4104285Z ##[group]Run set -eou pipefail 2025-07-02T08:03:35.4104603Z set -eou pipefail 2025-07-02T08:03:35.4104861Z  2025-07-02T08:03:35.4105360Z echo "Holding runner for 2 hours until all ssh sessions have logged out" 2025-07-02T08:03:35.4105790Z for _ in $(seq 1440); do 2025-07-02T08:03:35.4106094Z  # Break if no ssh session exists anymore 2025-07-02T08:03:35.4106422Z  if [ "$(who)" = "" ]; then 2025-07-02T08:03:35.4106698Z  break 2025-07-02T08:03:35.4106909Z  fi 2025-07-02T08:03:35.4107122Z  echo "." 2025-07-02T08:03:35.4107342Z  sleep 5 2025-07-02T08:03:35.4107560Z done 2025-07-02T08:03:35.4117267Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:03:35.4117609Z env: 2025-07-02T08:03:35.4117838Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:03:35.4118155Z REPOSITORY: pytorch/rl 2025-07-02T08:03:35.4118391Z PR_NUMBER: 3030 2025-07-02T08:03:35.4127916Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:03:35.4138016Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:03:35.4138690Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:03:35.4139202Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:03:35.4139638Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:03:35.4139966Z ##[endgroup] 2025-07-02T08:03:35.4171972Z Holding runner for 2 hours until all ssh sessions have logged out 2025-07-02T08:03:35.4268036Z ##[group]Run # ignore expansion of "docker ps -q" since it could be empty 2025-07-02T08:03:35.4268565Z # ignore expansion of "docker ps -q" since it could be empty 2025-07-02T08:03:35.4268961Z # shellcheck disable=SC2046 2025-07-02T08:03:35.4269269Z docker stop $(docker ps -q) || true 2025-07-02T08:03:35.4269595Z # Prune all of the docker images 2025-07-02T08:03:35.4269898Z docker system prune -af 2025-07-02T08:03:35.4278745Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:03:35.4279102Z env: 2025-07-02T08:03:35.4279344Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:03:35.4279654Z REPOSITORY: pytorch/rl 2025-07-02T08:03:35.4279904Z PR_NUMBER: 3030 2025-07-02T08:03:35.4289622Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:03:35.4299791Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:03:35.4300337Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:03:35.4300846Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:03:35.4301277Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:03:35.4301602Z ##[endgroup] 2025-07-02T08:03:36.0507933Z 2eae8f124d1c 2025-07-02T08:03:36.0823864Z Deleted Containers: 2025-07-02T08:03:36.0824263Z 2eae8f124d1c48eb60f31b902ab11a46402e0d75b24dc490e8f77f46e5b657d6 2025-07-02T08:03:36.0824567Z 2025-07-02T08:03:40.0304012Z Deleted Images: 2025-07-02T08:03:40.0304436Z untagged: pytorch/almalinux-builder:cpu 2025-07-02T08:03:40.0305174Z untagged: pytorch/almalinux-builder@sha256:363e2387632a14190ba972bd9ea516e4c88e80e7089b14e7b658b63e9dbb3dc7 2025-07-02T08:03:40.0305901Z deleted: sha256:97b379664dfba87c41d4589f8e1a474f4aea9e0a3793ab6d2890766609301d0e 2025-07-02T08:03:40.0306495Z deleted: sha256:78a7a7e68b93e4061e2d22da4af4864d928f8698dbc371ae3140bea37bf4e4d7 2025-07-02T08:03:40.0307074Z deleted: sha256:30edf0b26b2184091469b77e5895ba8071172b961ea9dd8dafc577f4af87b58a 2025-07-02T08:03:40.0307671Z deleted: sha256:fe7afda925c14feab3f8f310159f0da912a3ea1ec99dd4c762ae4a874fadf632 2025-07-02T08:03:40.0308267Z deleted: sha256:de854a3c4061152d50e22f1338cd83a08002fb751cc44efc69597acd55656aac 2025-07-02T08:03:40.0308866Z deleted: sha256:d4ae7d6cfde4a27a240cb1a7d9f4e30067df1e4211a085e6e33a369a75543162 2025-07-02T08:03:40.0309451Z deleted: sha256:2425b112894da1ae7f86e7f3c57877db77565c48f5a25ec52954ec8103acb463 2025-07-02T08:03:40.0310046Z deleted: sha256:d3340d80ef459aaabfd7103b752e8b49e90e711fab1bc69ee5be0deb3ba8e42f 2025-07-02T08:03:40.0310650Z deleted: sha256:7e5a8f1b263e9fb111513e7b415b4437dbfcf8016fcce7b98816a74e8f56b4c0 2025-07-02T08:03:40.0311478Z deleted: sha256:b5618d07c4da58aa321f67da182b8c586c2ad15d6260aa714e9cedc7fd2e1772 2025-07-02T08:03:40.0312068Z deleted: sha256:d72244e1706cfa5dbf1a5473498f45084d4332dd66a6cdba17e48ec6e99af3d7 2025-07-02T08:03:40.0312660Z deleted: sha256:fa5cf7f55ccf71ae79762a1fefe9cb0ecc345e599aaca5ad397bd2b9546d51a5 2025-07-02T08:03:40.0313270Z deleted: sha256:7b9eb34adde5db18288bef12ca115e612f763c755530b66a84efe271d6dfd487 2025-07-02T08:03:40.0313870Z deleted: sha256:e676ba391e3e139fa8a99c4917b5e114b5bddd4ffd45cd0fffbb769ba95b43bb 2025-07-02T08:03:40.0314454Z deleted: sha256:8c5b34b147354297e9811a9812020a19bcef6fb2debf36b2b3963733e295b97e 2025-07-02T08:03:40.0315030Z deleted: sha256:1720f2243f3fb33b868d18d671ed35802f3ce2886b17631a2c8729de543cf4b2 2025-07-02T08:03:40.0315598Z deleted: sha256:105a11eb61909f5616c6e4994226196cafb47c5d2d02af45ae0280aae1e7676b 2025-07-02T08:03:40.0316190Z deleted: sha256:fcbe369d45f967f98316bfad76fdd3e73dcfd7f9fe00f7096c9d4bccefecf956 2025-07-02T08:03:40.0316788Z deleted: sha256:ff4f19608a1944c0c2807cd533515673285a9632dc74bf020e83e18630d1ae35 2025-07-02T08:03:40.0317128Z 2025-07-02T08:03:40.0329270Z Total reclaimed space: 3.646GB 2025-07-02T08:03:40.0396996Z ##[group]Run set +e 2025-07-02T08:03:40.0397262Z set +e 2025-07-02T08:03:40.0397492Z if [[ "${NO_SUDO}" == "false" ]]; then 2025-07-02T08:03:40.0397872Z  sudo rm -rf "${GITHUB_WORKSPACE:?}/${REPOSITORY:?}" 2025-07-02T08:03:40.0398196Z else 2025-07-02T08:03:40.0398454Z  rm -rf "${GITHUB_WORKSPACE:?}/${REPOSITORY:?}" 2025-07-02T08:03:40.0398756Z fi 2025-07-02T08:03:40.0398953Z set -e 2025-07-02T08:03:40.0409648Z shell: /usr/bin/bash -e {0} 2025-07-02T08:03:40.0409889Z env: 2025-07-02T08:03:40.0410109Z DOCKER_IMAGE: pytorch/almalinux-builder:cpu 2025-07-02T08:03:40.0410555Z REPOSITORY: pytorch/rl 2025-07-02T08:03:40.0410831Z PR_NUMBER: 3030 2025-07-02T08:03:40.0420594Z SCRIPT: set -e set -v yum makecache # Install Mesa and OpenGL Libraries: yum install -y glfw mesa-libGL mesa-libGL-devel egl-utils freeglut mesa-libGLU mesa-libEGL python39-pip # Install DRI Drivers: yum install -y mesa-dri-drivers # Install Xvfb for Headless Environments: yum install -y xorg-x11-server-Xvfb # xhost +local:docker # Xvfb :1 -screen 0 1024x768x24 & root_dir="$(pwd)" conda_dir="${root_dir}/conda" env_dir="${root_dir}/env" os=Linux # 1. Install conda at ./conda printf "* Installing conda\n" wget -O miniconda.sh "http://repo.continuum.io/miniconda/Miniconda3-latest-${os}-x86_64.sh" bash ./miniconda.sh -b -f -p "${conda_dir}" eval "$(${conda_dir}/bin/conda shell.bash hook)" printf "* Creating a test environment\n" conda create --prefix "${env_dir}" -y python=3.9 printf "* Activating\n" conda activate "${env_dir}" # 2. upgrade pip, ninja and packaging conda install anaconda::cmake -y python3 -m pip install --upgrade pip python3 -m pip install setuptools ninja packaging "pybind11[global]" -U # 3. check python version python3 --version # 4. Check git version git version # 5. Install PyTorch if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then python3 -m pip install torch torchvision python3 -m pip install tensordict else python3 -m pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cpu -U --quiet --root-user-action=ignore python3 -m pip install git+https://github.com/pytorch/tensordict.git --quiet --root-user-action=ignore fi # 7. Install TorchRL python3 setup.py develop # 8. Install requirements python3 -m pip install -r docs/requirements.txt --quiet --root-user-action=ignore # 9. Set sanitize version if [[ pull_request == push && (branch == tag || (branch == branch && 3030/merge == release/*)) ]]; then echo '::group::Enable version string sanitization' # This environment variable just has to exist and must not be empty. The actual value is arbitrary. # See docs/source/conf.py for details export RL_SANITIZE_VERSION_STR_IN_DOCS=1 echo '::endgroup::' fi # 10. Test torchrl installation mkdir _tmp cd _tmp PYOPENGL_PLATFORM=egl MUJOCO_GL=egl python3 -c """from torchrl.envs.libs.dm_control import DMControlEnv print(DMControlEnv('cheetah', 'run', from_pixels=True).reset())""" cd .. # 11. Build doc export MAX_IDLE_COUNT=180 # Max 180 secs before killing an unresponsive collector export BATCHED_PIPE_TIMEOUT=180 cd ./docs # timeout 7m bash -ic "MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi # bash -ic "PYOPENGL_PLATFORM=egl MUJOCO_GL=egl sphinx-build ./source _local_build" || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi PYOPENGL_PLATFORM=egl MUJOCO_GL=egl TORCHRL_CONSOLE_STREAM=stdout sphinx-build ./source _local_build -v -j 4 cd .. cp -r docs/_local_build/* "${RUNNER_ARTIFACT_DIR}" echo $(ls "${RUNNER_ARTIFACT_DIR}") if [[ true ]]; then cp -r docs/_local_build/* "${RUNNER_DOCS_DIR}" fi 2025-07-02T08:03:40.0430691Z RUNNER_ARTIFACT_DIR: /home/ec2-user/actions-runner/_work/_temp/artifacts 2025-07-02T08:03:40.0431224Z RUNNER_TEST_RESULTS_DIR: /home/ec2-user/actions-runner/_work/_temp/test-results 2025-07-02T08:03:40.0431846Z RUNNER_DOCS_DIR: /home/ec2-user/actions-runner/_work/_temp/docs 2025-07-02T08:03:40.0432265Z GPU_FLAG: --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all 2025-07-02T08:03:40.0432591Z NO_SUDO: false 2025-07-02T08:03:40.0432807Z ##[endgroup] 2025-07-02T08:03:40.2262128Z Post job cleanup. 2025-07-02T08:03:40.3376497Z Post job cleanup. 2025-07-02T08:03:40.4361749Z [command]/usr/bin/git version 2025-07-02T08:03:40.4411281Z git version 2.47.1 2025-07-02T08:03:40.4457232Z Temporarily overriding HOME='/home/ec2-user/actions-runner/_work/_temp/3d593c4d-d885-4cbd-92a1-eae803373c94' before making global git config changes 2025-07-02T08:03:40.4458106Z Adding repository directory to the temporary git global config as a safe directory 2025-07-02T08:03:40.4463040Z [command]/usr/bin/git config --global --add safe.directory /home/ec2-user/actions-runner/_work/rl/rl/test-infra 2025-07-02T08:03:40.4506668Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand 2025-07-02T08:03:40.4544943Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" 2025-07-02T08:03:40.4943259Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader 2025-07-02T08:03:40.4972384Z http.https://github.com/.extraheader 2025-07-02T08:03:40.4985144Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader 2025-07-02T08:03:40.5023372Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" 2025-07-02T08:03:40.5509779Z A job completed hook has been configured by the self-hosted runner administrator 2025-07-02T08:03:40.5543227Z ##[group]Run '/home/ec2-user/runner-scripts/after_job.sh' 2025-07-02T08:03:40.5551884Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} 2025-07-02T08:03:40.5552236Z ##[endgroup] 2025-07-02T08:03:40.5664772Z [!ALERT!] Swap in detected! [!ALERT!] 2025-07-02T08:03:51.5804740Z [!ALERT!] Swap out detected [!ALERT!] 2025-07-02T08:04:09.3544364Z Cleaning up orphan processes