comfyanonymous
2 years ago
2 changed files with 148 additions and 0 deletions
@ -0,0 +1,71 @@
|
||||
name: "Windows Release cu118 dependencies" |
||||
|
||||
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 |
||||
|
||||
|
@ -0,0 +1,77 @@
|
||||
name: "Windows Release cu118 packaging" |
||||
|
||||
on: |
||||
workflow_dispatch: |
||||
# push: |
||||
# branches: |
||||
# - master |
||||
|
||||
jobs: |
||||
package_comfyui: |
||||
needs: build_dependencies |
||||
permissions: |
||||
contents: "write" |
||||
packages: "write" |
||||
pull-requests: "read" |
||||
runs-on: windows-latest |
||||
steps: |
||||
- uses: actions/cache/restore@v3 |
||||
id: cache |
||||
with: |
||||
path: cu118_python_deps.tar |
||||
key: ${{ runner.os }}-build-cu118 |
||||
- 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 |
||||
|
Loading…
Reference in new issue