From 8cefd85f0c93ff47abcd112da92a6907f7f3959d Mon Sep 17 00:00:00 2001 From: Timur Daukaev Date: Tue, 10 Jun 2025 12:23:08 +0200 Subject: [PATCH 1/6] Add jobs for python 3.13 --- .github/workflows/build.yml | 123 ++++++++++++++++++++++++ docker/python-base/environment_3.13.yml | 26 +++++ 2 files changed, 149 insertions(+) create mode 100644 docker/python-base/environment_3.13.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4b0fed2..8c291bd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,6 +33,14 @@ jobs: baseimage: mambaorg/micromamba:1 additionaltag: 3.11 additional_buildargs: env_file=environment_3.11.yml + - uses: ./.github/create-docker + with: + imagename: moonvision/${{ env.IMAGE_PRE }}python-base + path: docker/python-base + dockerfile: docker/python-base/Dockerfile + baseimage: mambaorg/micromamba:1 + additionaltag: 3.13 + additional_buildargs: env_file=environment_3.13.yml docker-python-base-uv: runs-on: ubuntu-latest steps: @@ -52,6 +60,14 @@ jobs: additionaltag: uv-3.11 additional_buildargs: |- python_version=3.11 + - uses: ./.github/create-docker + with: + imagename: moonvision/${{ env.IMAGE_PRE }}python-base + path: docker/python-base + dockerfile: docker/python-base/DockerfileUV + additionaltag: uv-3.13 + additional_buildargs: |- + python_version=3.13 build-ffmpeg: runs-on: ubuntu-latest steps: @@ -142,6 +158,24 @@ jobs: pytorch_tag=v2.0.1 torchvision_tag=v0.15.2 prebuilt=true + build-pytorch-313: + needs: + - docker-python-base + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/create-docker + with: + imagename: moonvision/${{ env.IMAGE_PRE }}custom-builds + additionaltag: pytorch-3.13 + tagversion: 2.0.1_torchvision-0.15.2 + baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:3.13-latest + path: docker/builders/pytorch + dockerfile: docker/builders/pytorch/Dockerfile + additional_buildargs: |- + pytorch_tag=v2.0.1 + torchvision_tag=v0.15.2 + prebuilt=true build-pytorch-cuda: needs: - docker-python-base @@ -180,6 +214,25 @@ jobs: torchvision_tag=v0.15.2 prebuilt=true with_cuda=true + build-pytorch-cuda-313: + needs: + - docker-python-base + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/create-docker + with: + imagename: moonvision/${{ env.IMAGE_PRE }}custom-builds + additionaltag: pytorch-cuda-3.13 + tagversion: 2.0.1_torchvision-0.15.2 + baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:3.13-latest + path: docker/builders/pytorch + dockerfile: docker/builders/pytorch/Dockerfile + additional_buildargs: |- + pytorch_tag=v2.0.1 + torchvision_tag=v0.15.2 + prebuilt=true + with_cuda=true docker-moonbox-mini: needs: - docker-python-base @@ -216,6 +269,24 @@ jobs: additional_buildargs: |- ffmpeg_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:ffmpeg-4.2.1 pytorch_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:pytorch-3.11-2.0.1_torchvision-0.15.2 + docker-moonbox-mini-313: + needs: + - docker-python-base + - build-ffmpeg + - build-pytorch-313 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/create-docker + with: + imagename: moonvision/${{ env.IMAGE_PRE }}moonbox + additionaltag: mini-3.13 + path: docker/moonbox + dockerfile: docker/moonbox/Dockerfile + baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:3.13-latest + additional_buildargs: |- + ffmpeg_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:ffmpeg-4.2.1 + pytorch_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:pytorch-3.13-2.0.1_torchvision-0.15.2 docker-moonbox-cuda: needs: - docker-python-base @@ -254,6 +325,25 @@ jobs: with_cuda=true ffmpeg_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:ffmpeg-cuda-4.2.1 pytorch_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:pytorch-cuda-3.11-2.0.1_torchvision-0.15.2 + docker-moonbox-cuda-313: + needs: + - docker-python-base + - build-ffmpeg-cuda + - build-pytorch-cuda-313 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/create-docker + with: + imagename: moonvision/${{ env.IMAGE_PRE }}moonbox + additionaltag: cuda-3.13 + path: docker/moonbox + dockerfile: docker/moonbox/Dockerfile + baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:3.13-latest + additional_buildargs: |- + with_cuda=true + ffmpeg_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:ffmpeg-cuda-4.2.1 + pytorch_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:pytorch-cuda-3.13-2.0.1_torchvision-0.15.2 docker-moonbox-mini-uv: needs: - docker-python-base-uv @@ -286,6 +376,22 @@ jobs: baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:uv-3.11-latest additional_buildargs: |- ffmpeg_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:ffmpeg-4.2.1 + docker-moonbox-mini-uv-313: + needs: + - docker-python-base-uv + - build-ffmpeg + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/create-docker + with: + imagename: moonvision/${{ env.IMAGE_PRE }}moonbox + additionaltag: mini-uv-3.13 + path: docker/moonbox + dockerfile: docker/moonbox/DockerfileUV + baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:uv-3.13-latest + additional_buildargs: |- + ffmpeg_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:ffmpeg-4.2.1 docker-moonbox-cuda-uv: needs: - docker-python-base-uv @@ -320,3 +426,20 @@ jobs: additional_buildargs: |- with_cuda=true ffmpeg_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:ffmpeg-cuda-4.2.1 + docker-moonbox-cuda-uv-313: + needs: + - docker-python-base-uv + - build-ffmpeg-cuda + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/create-docker + with: + imagename: moonvision/${{ env.IMAGE_PRE }}moonbox + additionaltag: cuda-uv-3.13 + path: docker/moonbox + dockerfile: docker/moonbox/DockerfileUV + baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:uv-3.13-latest + additional_buildargs: |- + with_cuda=true + ffmpeg_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:ffmpeg-cuda-4.2.1 diff --git a/docker/python-base/environment_3.13.yml b/docker/python-base/environment_3.13.yml new file mode 100644 index 0000000..d613cb5 --- /dev/null +++ b/docker/python-base/environment_3.13.yml @@ -0,0 +1,26 @@ +name: base +# moonvision/python-base +# +# Dependencies include a small set of build-time +# dependencies to ease compiling libraries. +channels: + - conda-forge +dependencies: + # switch all blas requirements to use mkl + # implementation, see: https://conda-forge.org/docs/maintainer/knowledge_base.html#blas + # it doesn't constrain the libblas version (1st *), but the build string to end in 'mkl' (2nd *) + - libblas=*=*mkl + - cffi + - future + - mkl=2023.2.0 + - mkl-include=2023.2.0 + - ninja + - numpy=1.24.3 + - python=3.13 + - pyyaml=5.4.1 + - requests + - six + - typing_extensions + - pip + - pip: + - opencv-contrib-python-headless==4.9.0.80 From 35e220c876af717f07b4f2a789a72f48ec63b0c2 Mon Sep 17 00:00:00 2001 From: Timur Daukaev Date: Wed, 11 Jun 2025 09:41:16 +0200 Subject: [PATCH 2/6] Upgrade numpy and cffi --- docker/python-base/environment_3.13.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/python-base/environment_3.13.yml b/docker/python-base/environment_3.13.yml index d613cb5..ad919cd 100644 --- a/docker/python-base/environment_3.13.yml +++ b/docker/python-base/environment_3.13.yml @@ -10,12 +10,12 @@ dependencies: # implementation, see: https://conda-forge.org/docs/maintainer/knowledge_base.html#blas # it doesn't constrain the libblas version (1st *), but the build string to end in 'mkl' (2nd *) - libblas=*=*mkl - - cffi + - cffi>=1.17.0 - future - mkl=2023.2.0 - mkl-include=2023.2.0 - ninja - - numpy=1.24.3 + - numpy>=2.1.0 - python=3.13 - pyyaml=5.4.1 - requests From 485f4967cbd62e1e5d2d057faba70f3bfef09734 Mon Sep 17 00:00:00 2001 From: Timur Daukaev Date: Wed, 11 Jun 2025 09:53:19 +0200 Subject: [PATCH 3/6] Upgrade pyyaml --- docker/python-base/environment_3.13.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/python-base/environment_3.13.yml b/docker/python-base/environment_3.13.yml index ad919cd..4851c74 100644 --- a/docker/python-base/environment_3.13.yml +++ b/docker/python-base/environment_3.13.yml @@ -17,7 +17,7 @@ dependencies: - ninja - numpy>=2.1.0 - python=3.13 - - pyyaml=5.4.1 + - pyyaml>=6.0.2 - requests - six - typing_extensions From 6a257dd9401b20f9deb8f7d2910d3abb3c957fd4 Mon Sep 17 00:00:00 2001 From: Timur Daukaev Date: Wed, 11 Jun 2025 10:24:59 +0200 Subject: [PATCH 4/6] Upgrade pytorch --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8c291bd..6a277c6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -168,12 +168,12 @@ jobs: with: imagename: moonvision/${{ env.IMAGE_PRE }}custom-builds additionaltag: pytorch-3.13 - tagversion: 2.0.1_torchvision-0.15.2 + tagversion: 2.6.0_torchvision-0.15.2 baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:3.13-latest path: docker/builders/pytorch dockerfile: docker/builders/pytorch/Dockerfile additional_buildargs: |- - pytorch_tag=v2.0.1 + pytorch_tag=v2.6.0 torchvision_tag=v0.15.2 prebuilt=true build-pytorch-cuda: @@ -224,12 +224,12 @@ jobs: with: imagename: moonvision/${{ env.IMAGE_PRE }}custom-builds additionaltag: pytorch-cuda-3.13 - tagversion: 2.0.1_torchvision-0.15.2 + tagversion: 2.6.0_torchvision-0.15.2 baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:3.13-latest path: docker/builders/pytorch dockerfile: docker/builders/pytorch/Dockerfile additional_buildargs: |- - pytorch_tag=v2.0.1 + pytorch_tag=v2.6.0 torchvision_tag=v0.15.2 prebuilt=true with_cuda=true From 43c3ffc7fadc889c03f122f7498f553ae2d58960 Mon Sep 17 00:00:00 2001 From: Timur Daukaev Date: Wed, 11 Jun 2025 12:26:11 +0200 Subject: [PATCH 5/6] Upgrade torchvision --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6a277c6..d377406 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -168,13 +168,13 @@ jobs: with: imagename: moonvision/${{ env.IMAGE_PRE }}custom-builds additionaltag: pytorch-3.13 - tagversion: 2.6.0_torchvision-0.15.2 + tagversion: 2.6.0_torchvision-0.21.0 baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:3.13-latest path: docker/builders/pytorch dockerfile: docker/builders/pytorch/Dockerfile additional_buildargs: |- pytorch_tag=v2.6.0 - torchvision_tag=v0.15.2 + torchvision_tag=v0.21.0 prebuilt=true build-pytorch-cuda: needs: @@ -224,13 +224,13 @@ jobs: with: imagename: moonvision/${{ env.IMAGE_PRE }}custom-builds additionaltag: pytorch-cuda-3.13 - tagversion: 2.6.0_torchvision-0.15.2 + tagversion: 2.6.0_torchvision-0.21.0 baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:3.13-latest path: docker/builders/pytorch dockerfile: docker/builders/pytorch/Dockerfile additional_buildargs: |- pytorch_tag=v2.6.0 - torchvision_tag=v0.15.2 + torchvision_tag=v0.21.0 prebuilt=true with_cuda=true docker-moonbox-mini: @@ -286,7 +286,7 @@ jobs: baseimage: moonvision/${{ env.IMAGE_PRE }}python-base:3.13-latest additional_buildargs: |- ffmpeg_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:ffmpeg-4.2.1 - pytorch_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:pytorch-3.13-2.0.1_torchvision-0.15.2 + pytorch_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:pytorch-3.13-2.6.0_torchvision-0.21.0 docker-moonbox-cuda: needs: - docker-python-base @@ -343,7 +343,7 @@ jobs: additional_buildargs: |- with_cuda=true ffmpeg_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:ffmpeg-cuda-4.2.1 - pytorch_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:pytorch-cuda-3.13-2.0.1_torchvision-0.15.2 + pytorch_from_docker=moonvision/${{ env.IMAGE_PRE }}custom-builds:pytorch-cuda-3.13-2.6.0_torchvision-0.21.0 docker-moonbox-mini-uv: needs: - docker-python-base-uv From 77bf1b849d3400c88d589335ac5edfa3619b72b8 Mon Sep 17 00:00:00 2001 From: Timur Daukaev Date: Wed, 22 Oct 2025 08:42:41 +0200 Subject: [PATCH 6/6] Remove pillow constraint --- docker/moonbox/constraints.txt | 2 -- docker/moonbox/install_deps.sh | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) delete mode 100644 docker/moonbox/constraints.txt diff --git a/docker/moonbox/constraints.txt b/docker/moonbox/constraints.txt deleted file mode 100644 index b7158e7..0000000 --- a/docker/moonbox/constraints.txt +++ /dev/null @@ -1,2 +0,0 @@ -# pin pillow since 10.0.0 removed PIL.Image.ANTIALIAS -pillow==9.5 diff --git a/docker/moonbox/install_deps.sh b/docker/moonbox/install_deps.sh index b881ca7..226c9ae 100755 --- a/docker/moonbox/install_deps.sh +++ b/docker/moonbox/install_deps.sh @@ -26,7 +26,7 @@ apt-get install --yes --no-install-recommends \ dpkg -i /ffmpeg-packages/*.deb rm -rf /ffmpeg-packages -pip install --no-cache-dir /pytorch-packages/*.whl -c /bd_build/constraints.txt +pip install --no-cache-dir /pytorch-packages/*.whl rm -rf /pytorch-packages if test "$with_cuda" = "true"; then