Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
549a5ef
Add Launch & Update Bat
axiomgraph Oct 26, 2025
3fb8ed8
Create build-wangp-portable.yml
axiomgraph Oct 26, 2025
5ea17cd
Rename workflows/build-wangp-portable.yml to .github/workflows/build-…
axiomgraph Oct 26, 2025
fa2efc1
Update build-wangp-portable.yml
axiomgraph Oct 26, 2025
9178f58
Update build-wangp-portable.yml
axiomgraph Oct 26, 2025
c240cb0
Update build-wangp-portable.yml
axiomgraph Oct 26, 2025
a7b1ad3
Update build-wangp-portable.yml
axiomgraph Oct 26, 2025
1a49565
Update build-wangp-portable.yml
axiomgraph Oct 26, 2025
20c4c43
Update build-wangp-portable.yml
axiomgraph Oct 26, 2025
dc4f4b9
Merge branch 'deepbeepmeep:main' into main
axiomgraph Oct 27, 2025
427f341
Update build-wangp-portable.yml
axiomgraph Oct 27, 2025
95638fd
Update build-wangp-portable.yml
axiomgraph Oct 27, 2025
fbc2487
Update build-wangp-portable.yml
axiomgraph Oct 27, 2025
fa997d2
Update build-wangp-portable.yml
axiomgraph Oct 27, 2025
1fd443d
Update build-wangp-portable.yml
axiomgraph Oct 27, 2025
2126583
Update build-wangp-portable.yml
axiomgraph Oct 27, 2025
1dcbfc4
Update build-wangp-portable.yml
axiomgraph Oct 27, 2025
5582b44
Update build-wangp-portable.yml
axiomgraph Oct 27, 2025
a872d02
Update build-wangp-portable.yml
axiomgraph Oct 27, 2025
d4fb4d4
Merge branch 'deepbeepmeep:main' into main
axiomgraph Oct 27, 2025
6f61458
Merge branch 'deepbeepmeep:main' into main
axiomgraph Oct 28, 2025
82fcb42
Update build-wangp-portable.yml
axiomgraph Oct 28, 2025
924f3d2
Change Torch Version
axiomgraph Oct 29, 2025
3c0bbbf
Merge branch 'deepbeepmeep:main' into main
axiomgraph Oct 29, 2025
a8d7f98
Merge branch 'deepbeepmeep:main' into main
axiomgraph Nov 2, 2025
a512d10
Merge branch 'deepbeepmeep:main' into main
axiomgraph Nov 3, 2025
735701c
Merge branch 'deepbeepmeep:main' into main
axiomgraph Nov 10, 2025
60899f6
Merge branch 'deepbeepmeep:main' into main
axiomgraph Nov 12, 2025
bcc0e90
Merge branch 'deepbeepmeep:main' into main
axiomgraph Nov 21, 2025
1db2a1d
Merge branch 'deepbeepmeep:main' into main
axiomgraph Nov 26, 2025
b92628d
Merge branch 'deepbeepmeep:main' into main
axiomgraph Nov 30, 2025
291fdaf
Merge branch 'deepbeepmeep:main' into main
axiomgraph Dec 9, 2025
349346b
Merge branch 'deepbeepmeep:main' into main
axiomgraph Dec 20, 2025
d3669dc
Merge branch 'deepbeepmeep:main' into main
axiomgraph Dec 25, 2025
b67f36a
Merge branch 'deepbeepmeep:main' into main
axiomgraph Jan 3, 2026
5ac1e16
Merge branch 'deepbeepmeep:main' into main
axiomgraph Jan 11, 2026
1285707
Merge branch 'deepbeepmeep:main' into main
axiomgraph Jan 12, 2026
1f207eb
Merge branch 'deepbeepmeep:main' into main
axiomgraph Jan 19, 2026
0ef25d4
Merge branch 'deepbeepmeep:main' into main
axiomgraph Jan 23, 2026
dc6ec06
Merge branch 'deepbeepmeep:main' into main
axiomgraph Jan 24, 2026
f114c6d
Add Sage Build
axiomgraph Jan 24, 2026
8f09de0
Merge branch 'deepbeepmeep:main' into main
axiomgraph Jan 28, 2026
22309dd
Rename workflow to Build WanGP Portable Sage Attention
axiomgraph Jan 28, 2026
73848ed
Merge branch 'deepbeepmeep:main' into main
axiomgraph Jan 31, 2026
ada6df8
Merge branch 'deepbeepmeep:main' into main
axiomgraph Feb 3, 2026
c827b26
Add New Python
axiomgraph Feb 3, 2026
7812f4d
Rename workflow to include Python 3.11
axiomgraph Feb 3, 2026
7de218b
Merge branch 'deepbeepmeep:main' into main
axiomgraph Feb 4, 2026
132638b
Rename output archive to WanGP-Portable_python310_sage.7z
axiomgraph Feb 4, 2026
3171dc6
Merge branch 'deepbeepmeep:main' into main
axiomgraph Feb 6, 2026
00da3c3
Fix release file pattern in workflow YAML
axiomgraph Feb 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 130 additions & 0 deletions .github/workflows/build-wangp-portable.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
name: Build WanGP Portable

on:
workflow_dispatch:

jobs:
build-portable:
runs-on: windows-latest
env:
PYTHON_VERSION: 3.10.9
TORCH_INDEX: https://download.pytorch.org/whl/cu128

steps:
# Checkout repo
- uses: actions/checkout@v4
with:
ref: main

# Clone Wan2GP source publicly to include inside portable
- name: Clone Wan2GP source
shell: pwsh
run: |
mkdir WanGP-Portable
if (Test-Path Wan2GP) { Remove-Item -Recurse -Force Wan2GP }
git clone https://github.com/deepbeepmeep/Wan2GP.git WanGP-Portable\Wan2GP
Write-Host "✅ Cloned Wan2GP repository into portable workspace."

# Extract version from wgp.py (Windows compatible)
- name: Read version from wgp.py
id: get_version
shell: pwsh
run: |
$content = Get-Content WanGP-Portable\Wan2GP\wgp.py -Raw
if ($content -match 'WanGP_version\s*=\s*"([^"]+)"') {
$version = $matches[1]
Write-Host "Found version: $version"
echo "version=$version" >> $env:GITHUB_OUTPUT
} else {
Write-Host "⚠️ WanGP_version not found in wgp.py"
echo "version=unknown" >> $env:GITHUB_OUTPUT
}

# Download Python Embedded
- name: Download Python Embedded
run: |
curl -L -o python-embed.zip https://www.python.org/ftp/python/${{ env.PYTHON_VERSION }}/python-${{ env.PYTHON_VERSION }}-embed-amd64.zip
mkdir python_embedded
tar -xf python-embed.zip -C python_embedded

# Uncomment import site and add site-packages path
(Get-Content python_embedded\python310._pth) -replace '# import site','import site' | Set-Content python_embedded\python310._pth
Add-Content python_embedded\python310._pth "Lib\site-packages"

# Create folders for packages
mkdir python_embedded\Lib\site-packages

# Install pip directly into Lib\site-packages
- name: Install pip
run: |
curl -L -o get-pip.py https://bootstrap.pypa.io/get-pip.py
python_embedded\python.exe get-pip.py
python_embedded\python.exe -m pip --version

# Install core dependencies (Torch, SageAttention)
- name: Install Torch
run: |
python_embedded\python.exe -m pip install --upgrade pip
python_embedded\python.exe -m pip install torch==2.7.1 torchvision torchaudio --index-url ${{ env.TORCH_INDEX }}

# Install FilterPy
- name: Install FilterPy
run: |
python_embedded\python.exe -m pip install https://www.piwheels.org/simple/filterpy/filterpy-1.4.5-py3-none-any.whl

# Install remaining requirements
- name: Install requirements
run: |
python_embedded\python.exe -m pip install --upgrade -r WanGP-Portable\Wan2GP\requirements.txt

# Prepare portable folder and 7z package
- name: Prepare portable folder and package
shell: pwsh
run: |
# Prefer Wan2GP's .bat files, fallback to mine root-level ones
$batFiles = @("Launch_WanGP.bat", "Update.bat")
foreach ($file in $batFiles) {
$wan2gpPath = "WanGP-Portable\Wan2GP\$file"
if (Test-Path $wan2gpPath) {
Copy-Item $wan2gpPath WanGP-Portable\
Write-Host "✅ Copied $file from Wan2GP source."
} elseif (Test-Path $file) {
Copy-Item $file WanGP-Portable\
Write-Host "✅ Copied fallback $file from root."
} else {
Write-Host "⚠️ $file not found anywhere, skipping."
}
}
robocopy python_embedded WanGP-Portable\python_embedded /E /COPYALL
if ($LASTEXITCODE -ge 8) { exit $LASTEXITCODE }
7z a -t7z -m0=lzma2 -mx=9 -md=512m -mfb=273 -ms=on -v2000m "WanGP-Portable.7z" "WanGP-Portable\*" -xr!"__pycache__" -xr!"*.pyc" -xr!".gitignore"
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

# Create version-based tag
- name: Create tag
id: tag
shell: pwsh
env:
VERSION: ${{ steps.get_version.outputs.version }}
run: |
$new_tag = "v$env:VERSION"
git config user.name "github-actions"
git config user.email "[email protected]"
git fetch --tags
if (git tag -l $new_tag) {
Write-Host "Tag $new_tag already exists, skipping creation."
} else {
git tag $new_tag
git push origin $new_tag
}
echo "new_tag=$new_tag" >> $env:GITHUB_OUTPUT

- name: Create or Update Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ steps.tag.outputs.new_tag }}
files: WanGP-Portable.7z.*
body: "For details, see the [README](https://github.com/deepbeepmeep/Wan2GP/blob/main/README.md)"
fail_on_unmatched_files: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
160 changes: 160 additions & 0 deletions .github/workflows/build-wangp-portable_python311_sage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
name: Build WanGP Portable Python 3.11 Sage Attention

on:
workflow_dispatch:

jobs:
build-portable:
runs-on: windows-latest
env:
PYTHON_VERSION: 3.11.9
TORCH_INDEX: https://download.pytorch.org/whl/cu130

steps:
# Checkout repo
- uses: actions/checkout@v4
with:
ref: main

# Clone Wan2GP source publicly to include inside portable
- name: Clone Wan2GP source
shell: pwsh
run: |
mkdir WanGP-Portable
if (Test-Path Wan2GP) { Remove-Item -Recurse -Force Wan2GP }
git clone https://github.com/deepbeepmeep/Wan2GP.git WanGP-Portable\Wan2GP
Write-Host "✅ Cloned Wan2GP repository into portable workspace."

# Extract version from wgp.py (Windows compatible)
- name: Read version from wgp.py
id: get_version
shell: pwsh
run: |
$content = Get-Content WanGP-Portable\Wan2GP\wgp.py -Raw
if ($content -match 'WanGP_version\s*=\s*"([^"]+)"') {
$version = $matches[1]
Write-Host "Found version: $version"
echo "version=$version" >> $env:GITHUB_OUTPUT
} else {
Write-Host "⚠️ WanGP_version not found in wgp.py"
echo "version=unknown" >> $env:GITHUB_OUTPUT
}

# Download Python Embedded
- name: Download Python Embedded
run: |
curl -L -o python-embed.zip https://www.python.org/ftp/python/${{ env.PYTHON_VERSION }}/python-${{ env.PYTHON_VERSION }}-embed-amd64.zip
mkdir python_embedded
tar -xf python-embed.zip -C python_embedded

# Uncomment import site and add site-packages path
(Get-Content python_embedded\python311._pth) -replace '# import site','import site' | Set-Content python_embedded\python311._pth
Add-Content python_embedded\python311._pth "Lib\site-packages"

# Create folders for packages
mkdir python_embedded\Lib\site-packages

# Clone python3 headers/libs and merge into embedded Python
- name: Add Include and Libs to Embedded Python
shell: pwsh
run: |
git clone https://github.com/axiomgraph/python311 python3-src

if (Test-Path python3-src\Include) {
Copy-Item python3-src\Include python_embedded\Include -Recurse -Force
Write-Host "✅ Copied Include folder."
} else {
Write-Host "⚠️ Include folder not found in python3 repo."
}

if (Test-Path python3-src\Libs) {
Copy-Item python3-src\Libs python_embedded\Libs -Recurse -Force
Write-Host "✅ Copied Libs folder."
} else {
Write-Host "⚠️ Libs folder not found in python3 repo."
}

# Install pip directly into Lib\site-packages
- name: Install pip
run: |
curl -L -o get-pip.py https://bootstrap.pypa.io/get-pip.py
python_embedded\python.exe get-pip.py
python_embedded\python.exe -m pip --version

# Install core dependencies (Torch, SageAttention)
- name: Install Torch
run: |
python_embedded\python.exe -m pip install --upgrade pip
python_embedded\python.exe -m pip install torch==2.10.0 torchvision torchaudio --index-url ${{ env.TORCH_INDEX }}

# Install Triton for Windows (required for SageAttention)
- name: Install triton-windows
run: |
python_embedded\python.exe -m pip install triton-windows

# Install SageAttention
- name: Install SageAttention
run: |
python_embedded\python.exe -m pip install https://github.com/woct0rdho/SageAttention/releases/download/v2.2.0-windows.post4/sageattention-2.2.0+cu130torch2.9.0andhigher.post4-cp39-abi3-win_amd64.whl

# Install FilterPy
- name: Install FilterPy
run: |
python_embedded\python.exe -m pip install https://www.piwheels.org/simple/filterpy/filterpy-1.4.5-py3-none-any.whl

# Install remaining requirements
- name: Install requirements
run: |
python_embedded\python.exe -m pip install --upgrade -r WanGP-Portable\Wan2GP\requirements.txt

# Prepare portable folder and 7z package
- name: Prepare portable folder and package
shell: pwsh
run: |
# Prefer Wan2GP's .bat files, fallback to mine root-level ones
$batFiles = @("Launch_WanGP.bat", "Update.bat")
foreach ($file in $batFiles) {
$wan2gpPath = "WanGP-Portable\Wan2GP\$file"
if (Test-Path $wan2gpPath) {
Copy-Item $wan2gpPath WanGP-Portable\
Write-Host "✅ Copied $file from Wan2GP source."
} elseif (Test-Path $file) {
Copy-Item $file WanGP-Portable\
Write-Host "✅ Copied fallback $file from root."
} else {
Write-Host "⚠️ $file not found anywhere, skipping."
}
}
robocopy python_embedded WanGP-Portable\python_embedded /E /COPYALL
if ($LASTEXITCODE -ge 8) { exit $LASTEXITCODE }
7z a -t7z -m0=lzma2 -mx=9 -md=512m -mfb=273 -ms=on -v2000m "WanGP-Portable_Python311_Cu13_Sage.7z" "WanGP-Portable\*" -xr!"__pycache__" -xr!"*.pyc" -xr!".gitignore"
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

# Create version-based tag
- name: Create tag
id: tag
shell: pwsh
env:
VERSION: ${{ steps.get_version.outputs.version }}
run: |
$new_tag = "v$env:VERSION"
git config user.name "github-actions"
git config user.email "[email protected]"
git fetch --tags
if (git tag -l $new_tag) {
Write-Host "Tag $new_tag already exists, skipping creation."
} else {
git tag $new_tag
git push origin $new_tag
}
echo "new_tag=$new_tag" >> $env:GITHUB_OUTPUT

- name: Create or Update Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ steps.tag.outputs.new_tag }}
files: WanGP-Portable_Python311_Cu13_Sage.7z
body: "For details, see the [README](https://github.com/deepbeepmeep/Wan2GP/blob/main/README.md)"
fail_on_unmatched_files: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading