You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
4.9 KiB
142 lines
4.9 KiB
name: "Windows Release cu118" |
|
|
|
on: |
|
workflow_dispatch: |
|
# push: |
|
# branches: |
|
# - master |
|
|
|
jobs: |
|
build_dependencies: |
|
env: |
|
# you need at least cuda 5.0 for some of the stuff compiled here. |
|
TORCH_CUDA_ARCH_LIST: "5.0+PTX 6.0 6.1 7.0 7.5 8.0 8.6 8.9" |
|
FORCE_CUDA: 1 |
|
MAX_JOBS: 1 # will crash otherwise |
|
DISTUTILS_USE_SDK: 1 # otherwise distutils will complain on windows about multiple versions of msvc |
|
XFORMERS_BUILD_TYPE: "Release" |
|
runs-on: windows-latest |
|
steps: |
|
- name: Cache Built Dependencies |
|
uses: actions/cache@v3 |
|
id: cache-cu118_python_stuff |
|
with: |
|
path: cu118_python_deps.tar |
|
key: ${{ runner.os }}-build-cu118 |
|
|
|
- if: steps.cache-cu118_python_stuff.outputs.cache-hit != 'true' |
|
uses: actions/checkout@v3 |
|
|
|
- if: steps.cache-cu118_python_stuff.outputs.cache-hit != 'true' |
|
uses: actions/setup-python@v4 |
|
with: |
|
python-version: '3.10.9' |
|
|
|
- if: steps.cache-cu118_python_stuff.outputs.cache-hit != 'true' |
|
uses: comfyanonymous/cuda-toolkit@test |
|
id: cuda-toolkit |
|
with: |
|
cuda: '11.8.0' |
|
# copied from xformers github |
|
- name: Setup MSVC |
|
uses: ilammy/msvc-dev-cmd@v1 |
|
- name: Configure Pagefile |
|
# windows runners will OOM with many CUDA architectures |
|
# we cheat here with a page file |
|
uses: al-cheb/configure-pagefile-action@v1.3 |
|
with: |
|
minimum-size: 2GB |
|
# really unfortunate: https://github.com/ilammy/msvc-dev-cmd#name-conflicts-with-shell-bash |
|
- name: Remove link.exe |
|
shell: bash |
|
run: rm /usr/bin/link |
|
|
|
- if: steps.cache-cu118_python_stuff.outputs.cache-hit != 'true' |
|
shell: bash |
|
run: | |
|
python -m pip wheel --no-cache-dir torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118 -r requirements.txt pygit2 -w ./temp_wheel_dir |
|
python -m pip install --no-cache-dir ./temp_wheel_dir/* |
|
echo installed basic |
|
git clone --recurse-submodules https://github.com/facebookresearch/xformers.git |
|
cd xformers |
|
python -m pip install --no-cache-dir wheel setuptools twine |
|
echo building xformers |
|
python setup.py bdist_wheel -d ../temp_wheel_dir/ |
|
cd .. |
|
rm -rf xformers |
|
ls -lah temp_wheel_dir |
|
mv temp_wheel_dir cu118_python_deps |
|
tar cf cu118_python_deps.tar cu118_python_deps |
|
- uses: actions/upload-artifact@v3 |
|
with: |
|
name: cu118_python_deps |
|
path: cu118_python_deps.tar |
|
retention-days: 1 |
|
|
|
|
|
package_comfyui: |
|
needs: build_dependencies |
|
permissions: |
|
contents: "write" |
|
packages: "write" |
|
pull-requests: "read" |
|
runs-on: windows-latest |
|
steps: |
|
- uses: actions/download-artifact@v3 |
|
with: |
|
name: cu118_python_deps |
|
- shell: bash |
|
run: | |
|
mv cu118_python_deps.tar ../ |
|
cd .. |
|
tar xf cu118_python_deps.tar |
|
pwd |
|
ls |
|
|
|
- uses: actions/checkout@v3 |
|
with: |
|
fetch-depth: 0 |
|
- shell: bash |
|
run: | |
|
cd .. |
|
cp -r ComfyUI ComfyUI_copy |
|
curl https://www.python.org/ftp/python/3.10.9/python-3.10.9-embed-amd64.zip -o python_embeded.zip |
|
unzip python_embeded.zip -d python_embeded |
|
cd python_embeded |
|
echo 'import site' >> ./python310._pth |
|
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py |
|
./python.exe get-pip.py |
|
./python.exe -s -m pip install ../cu118_python_deps/* |
|
sed -i '1i../ComfyUI' ./python310._pth |
|
cd .. |
|
|
|
|
|
mkdir ComfyUI_windows_portable |
|
mv python_embeded ComfyUI_windows_portable |
|
mv ComfyUI_copy ComfyUI_windows_portable/ComfyUI |
|
|
|
cd ComfyUI_windows_portable |
|
|
|
mkdir update |
|
cp -r ComfyUI/.ci/update_windows/* ./update/ |
|
cp -r ComfyUI/.ci/update_windows_cu118/* ./update/ |
|
cp -r ComfyUI/.ci/windows_base_files/* ./ |
|
|
|
cd .. |
|
|
|
"C:\Program Files\7-Zip\7z.exe" a -t7z -m0=lzma -mx=8 -mfb=64 -md=32m -ms=on ComfyUI_windows_portable.7z ComfyUI_windows_portable |
|
mv ComfyUI_windows_portable.7z ComfyUI/ComfyUI_windows_portable_nvidia_cu118_or_cpu.7z |
|
|
|
cd ComfyUI_windows_portable |
|
python_embeded/python.exe -s ComfyUI/main.py --quick-test-for-ci --cpu |
|
|
|
ls |
|
|
|
- name: Upload binaries to release |
|
uses: svenstaro/upload-release-action@v2 |
|
with: |
|
repo_token: ${{ secrets.GITHUB_TOKEN }} |
|
file: ComfyUI_windows_portable_nvidia_cu118_or_cpu.7z |
|
tag: "latest" |
|
overwrite: true |
|
|
|
|