11name : Build & Release
22
3- # Triggers:
4- # - Push a version tag: git tag v1.2.0 && git push --tags
5- # - Manual run from the Actions tab (for testing)
63on :
74 push :
85 tags :
96 - ' v*.*.*'
107 workflow_dispatch :
118
129permissions :
13- contents : write # needed to create GitHub Releases and upload assets
10+ contents : write
1411
1512jobs :
16- # ───────────────────────────────────────────────────────────────────────────
1713 build-macos-arm :
1814 name : macOS (Apple Silicon)
19- runs-on : macos-14 # M1 runner
15+ runs-on : macos-14
2016 steps :
2117 - uses : actions/checkout@v4
2218
4844 name : macos-arm64
4945 path : dist/ChaoticSlice-macOS-arm64.zip
5046
51- # ───────────────────────────────────────────────────────────────────────────
52- build-macos-intel :
53- name : macOS (Intel)
54- runs-on : macos-13-large # last Intel runner
55- steps :
56- - uses : actions/checkout@v4
57-
58- - name : Set up Python 3.11
59- uses : actions/setup-python@v5
60- with :
61- python-version : ' 3.11'
62-
63- - name : Install FFmpeg
64- run : brew install ffmpeg
65-
66- - name : Install Python deps
67- run : |
68- pip install --upgrade pip
69- pip install torch torchvision torchaudio
70- pip install flask waitress pyinstaller
71-
72- - name : Build
73- run : pyinstaller chaotics_slice.spec --noconfirm
74-
75- - name : Zip app bundle
76- run : |
77- cd dist
78- zip -r ChaoticSlice-macOS-x86_64.zip ChaoticSlice.app
79-
80- - name : Upload artifact
81- uses : actions/upload-artifact@v4
82- with :
83- name : macos-x86_64
84- path : dist/ChaoticSlice-macOS-x86_64.zip
85-
86- # ───────────────────────────────────────────────────────────────────────────
8747 build-windows :
8848 name : Windows
8949 runs-on : windows-latest
@@ -96,15 +56,14 @@ jobs:
9656 python-version : ' 3.11'
9757
9858 - name : Install FFmpeg
99- # winget is available on GitHub's Windows runners
10059 run : winget install --id Gyan.FFmpeg --silent --accept-source-agreements --accept-package-agreements
101- continue-on-error : true # fall back to choco if winget fails
60+ continue-on-error : true
10261
10362 - name : Install FFmpeg (fallback via Chocolatey)
10463 if : failure()
10564 run : choco install ffmpeg -y
10665
107- - name : Install Python deps (CPU build — safe for all users)
66+ - name : Install Python deps
10867 run : |
10968 pip install --upgrade pip
11069 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
12584 name : windows-x64
12685 path : dist/ChaoticSlice-Windows-x64.zip
12786
128- # ───────────────────────────────────────────────────────────────────────────
12987 build-linux :
13088 name : Ubuntu (Linux)
13189 runs-on : ubuntu-22.04
@@ -142,7 +100,7 @@ jobs:
142100 sudo apt-get update -qq
143101 sudo apt-get install -y ffmpeg
144102
145- - name : Install Python deps (CPU build)
103+ - name : Install Python deps
146104 run : |
147105 pip install --upgrade pip
148106 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
@@ -162,10 +120,9 @@ jobs:
162120 name : linux-x86_64
163121 path : dist/ChaoticSlice-Linux-x86_64.tar.gz
164122
165- # ───────────────────────────────────────────────────────────────────────────
166123 release :
167124 name : Create GitHub Release
168- needs : [build-macos-arm, build-macos-intel, build- windows, build-linux]
125+ needs : [build-macos-arm, build-windows, build-linux]
169126 runs-on : ubuntu-latest
170127 steps :
171128 - uses : actions/checkout@v4
@@ -192,7 +149,6 @@ jobs:
192149 | Platform | File |
193150 |---|---|
194151 | macOS Apple Silicon (M1/M2/M3) | `ChaoticSlice-macOS-arm64.zip` |
195- | macOS Intel | `ChaoticSlice-macOS-x86_64.zip` |
196152 | Windows 10/11 | `ChaoticSlice-Windows-x64.zip` |
197153 | Ubuntu / Linux | `ChaoticSlice-Linux-x86_64.tar.gz` |
198154
@@ -212,6 +168,5 @@ jobs:
212168 prerelease : ${{ contains(github.ref_name, 'alpha') || contains(github.ref_name, 'beta') || contains(github.ref_name, 'rc') }}
213169 files : |
214170 release-assets/macos-arm64/ChaoticSlice-macOS-arm64.zip
215- release-assets/macos-x86_64/ChaoticSlice-macOS-x86_64.zip
216171 release-assets/windows-x64/ChaoticSlice-Windows-x64.zip
217- release-assets/linux-x86_64/ChaoticSlice-Linux-x86_64.tar.gz
172+ release-assets/linux-x86_64/ChaoticSlice-Linux-x86_64.tar.gz
0 commit comments