diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4b0fed2..d377406 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.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.21.0 + 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.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.21.0 + 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.6.0_torchvision-0.21.0 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.6.0_torchvision-0.21.0 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/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 diff --git a/docker/python-base/environment_3.13.yml b/docker/python-base/environment_3.13.yml new file mode 100644 index 0000000..4851c74 --- /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>=1.17.0 + - future + - mkl=2023.2.0 + - mkl-include=2023.2.0 + - ninja + - numpy>=2.1.0 + - python=3.13 + - pyyaml>=6.0.2 + - requests + - six + - typing_extensions + - pip + - pip: + - opencv-contrib-python-headless==4.9.0.80