comfyanonymous
2 years ago
8 changed files with 154 additions and 0 deletions
@ -0,0 +1,25 @@ |
|||||||
|
Invoke-WebRequest -URI https://www.python.org/ftp/python/3.10.9/python-3.10.9-embed-amd64.zip -O python_embeded.zip |
||||||
|
Expand-Archive python_embeded.zip |
||||||
|
cd python_embeded |
||||||
|
Add-Content -Path .\python310._pth -Value 'import site' |
||||||
|
Invoke-WebRequest -Uri https://bootstrap.pypa.io/get-pip.py -OutFile get-pip.py |
||||||
|
.\python.exe get-pip.py |
||||||
|
.\python.exe -s -m pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 xformers -r ../ComfyUI/requirements.txt pygit2 |
||||||
|
"../ComfyUI`n" + (Get-Content .\python310._pth -Raw) | Set-Content .\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 ComfyUI/.ci/update_windows/* ./update/ |
||||||
|
cp 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_or_cpu.7z |
@ -0,0 +1,65 @@ |
|||||||
|
import pygit2 |
||||||
|
from datetime import datetime |
||||||
|
import sys |
||||||
|
|
||||||
|
def pull(repo, remote_name='origin', branch='master'): |
||||||
|
for remote in repo.remotes: |
||||||
|
if remote.name == remote_name: |
||||||
|
remote.fetch() |
||||||
|
remote_master_id = repo.lookup_reference('refs/remotes/origin/%s' % (branch)).target |
||||||
|
merge_result, _ = repo.merge_analysis(remote_master_id) |
||||||
|
# Up to date, do nothing |
||||||
|
if merge_result & pygit2.GIT_MERGE_ANALYSIS_UP_TO_DATE: |
||||||
|
return |
||||||
|
# We can just fastforward |
||||||
|
elif merge_result & pygit2.GIT_MERGE_ANALYSIS_FASTFORWARD: |
||||||
|
repo.checkout_tree(repo.get(remote_master_id)) |
||||||
|
try: |
||||||
|
master_ref = repo.lookup_reference('refs/heads/%s' % (branch)) |
||||||
|
master_ref.set_target(remote_master_id) |
||||||
|
except KeyError: |
||||||
|
repo.create_branch(branch, repo.get(remote_master_id)) |
||||||
|
repo.head.set_target(remote_master_id) |
||||||
|
elif merge_result & pygit2.GIT_MERGE_ANALYSIS_NORMAL: |
||||||
|
repo.merge(remote_master_id) |
||||||
|
|
||||||
|
if repo.index.conflicts is not None: |
||||||
|
for conflict in repo.index.conflicts: |
||||||
|
print('Conflicts found in:', conflict[0].path) |
||||||
|
raise AssertionError('Conflicts, ahhhhh!!') |
||||||
|
|
||||||
|
user = repo.default_signature |
||||||
|
tree = repo.index.write_tree() |
||||||
|
commit = repo.create_commit('HEAD', |
||||||
|
user, |
||||||
|
user, |
||||||
|
'Merge!', |
||||||
|
tree, |
||||||
|
[repo.head.target, remote_master_id]) |
||||||
|
# We need to do this or git CLI will think we are still merging. |
||||||
|
repo.state_cleanup() |
||||||
|
else: |
||||||
|
raise AssertionError('Unknown merge analysis result') |
||||||
|
|
||||||
|
|
||||||
|
repo = pygit2.Repository(str(sys.argv[1])) |
||||||
|
ident = pygit2.Signature('comfyui', 'comfy@ui') |
||||||
|
try: |
||||||
|
print("stashing current changes") |
||||||
|
repo.stash(ident) |
||||||
|
except KeyError: |
||||||
|
print("nothing to stash") |
||||||
|
backup_branch_name = 'backup_branch_{}'.format(datetime.today().strftime('%Y-%m-%d_%H_%M_%S')) |
||||||
|
print("creating backup branch: {}".format(backup_branch_name)) |
||||||
|
repo.branches.local.create(backup_branch_name, repo.head.peel()) |
||||||
|
|
||||||
|
print("checking out master branch") |
||||||
|
branch = repo.lookup_branch('master') |
||||||
|
ref = repo.lookup_reference(branch.name) |
||||||
|
repo.checkout(ref) |
||||||
|
|
||||||
|
print("pulling latest changes") |
||||||
|
pull(repo) |
||||||
|
|
||||||
|
print("Done!") |
||||||
|
|
@ -0,0 +1,3 @@ |
|||||||
|
..\python_embeded\python.exe .\update.py ..\ComfyUI\ |
||||||
|
..\python_embeded\python.exe -s -m pip install --upgrade torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117 xformers -r ../ComfyUI/requirements.txt pygit2 |
||||||
|
pause |
@ -0,0 +1,2 @@ |
|||||||
|
..\python_embeded\python.exe .\update.py ..\ComfyUI\ |
||||||
|
pause |
@ -0,0 +1,22 @@ |
|||||||
|
HOW TO RUN: |
||||||
|
|
||||||
|
if you have a NVIDIA gpu: |
||||||
|
|
||||||
|
run_nvidia_gpu.bat |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To run it in slow CPU mode: |
||||||
|
|
||||||
|
run_cpu.bat |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
IF YOU GET A RED ERROR IN THE UI MAKE SURE YOU HAVE A MODEL/CHECKPOINT IN: ComfyUI\models\checkpoints |
||||||
|
|
||||||
|
You can download the stable diffusion 1.5 one from: https://huggingface.co/runwayml/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.ckpt |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
To update only the ComfyUI code: update\update_comfyui_only.bat |
||||||
|
To update ComfyUI with the python dependencies: update\update_all.bat |
@ -0,0 +1,2 @@ |
|||||||
|
.\python_embeded\python.exe -s ComfyUI\main.py --cpu --windows-standalone-build |
||||||
|
pause |
@ -0,0 +1,2 @@ |
|||||||
|
.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build |
||||||
|
pause |
@ -0,0 +1,33 @@ |
|||||||
|
name: "Windows Release" |
||||||
|
|
||||||
|
on: |
||||||
|
push: |
||||||
|
branches: |
||||||
|
- master |
||||||
|
|
||||||
|
jobs: |
||||||
|
build: |
||||||
|
permissions: |
||||||
|
contents: "write" |
||||||
|
packages: "write" |
||||||
|
pull-requests: "read" |
||||||
|
runs-on: windows-latest |
||||||
|
steps: |
||||||
|
- uses: actions/checkout@v3 |
||||||
|
with: |
||||||
|
fetch-depth: 0 |
||||||
|
|
||||||
|
- run: | |
||||||
|
cd .. |
||||||
|
cp ComfyUI/.ci/setup_windows_zip.ps1 ./ |
||||||
|
cp -r ComfyUI ComfyUI_copy |
||||||
|
.\setup_windows_zip.ps1 |
||||||
|
ls |
||||||
|
|
||||||
|
- uses: "marvinpinto/action-automatic-releases@latest" |
||||||
|
with: |
||||||
|
repo_token: "${{ secrets.GITHUB_TOKEN }}" |
||||||
|
automatic_release_tag: "latest" |
||||||
|
prerelease: true |
||||||
|
title: "ComfyUI Standalone Portable Windows Build (For NVIDIA or CPU only)" |
||||||
|
files: ComfyUI_windows_portable_nvidia_or_cpu.7z |
Loading…
Reference in new issue