@@ -25,78 +25,14 @@ jobs:
2525 strategy :
2626 matrix :
2727 include :
28- - os : macos-latest
28+ - os : warp- macos-15-arm64-12x
2929 arch : arm64
30- - os : macos-15-intel
31- arch : x64
3230 - os : windows-latest
3331 arch : x64
3432 - os : ubuntu-latest
3533 arch : x64
3634
3735 steps :
38- - name : Free Disk Space (macOS)
39- if : runner.os == 'macOS'
40- run : |
41- echo "Disk space before cleanup:"
42- df -h
43- # Remove Xcode completely (not needed for Electron builds) - saves ~15GB
44- sudo rm -rf /Applications/Xcode.app || true
45- sudo rm -rf /Applications/Xcode_*.app || true
46- # Note: Keep /Library/Developer/CommandLineTools as codesign needs it
47- # Remove iOS simulators
48- sudo rm -rf ~/Library/Developer/CoreSimulator || true
49- # Remove all Xcode Developer files
50- sudo rm -rf ~/Library/Developer/Xcode || true
51- sudo rm -rf /Library/Developer/Xcode || true
52- # Remove provisioning profiles
53- sudo rm -rf ~/Library/MobileDevice/Provisioning\ Profiles || true
54- # Remove Android SDK if present
55- sudo rm -rf ~/Library/Android/sdk || true
56- sudo rm -rf /usr/local/lib/android || true
57- # Remove .NET
58- sudo rm -rf /usr/local/share/dotnet || true
59- # Remove Go
60- sudo rm -rf /usr/local/go || true
61- sudo rm -rf ~/go || true
62- # Remove Ruby
63- sudo rm -rf /usr/local/lib/ruby || true
64- sudo rm -rf ~/.gem || true
65- # Remove Swift toolchains
66- sudo rm -rf /Library/Developer/Toolchains || true
67- # Remove Homebrew cache
68- rm -rf ~/Library/Caches/Homebrew/* || true
69- brew cleanup --prune=all 2>/dev/null || true
70- # Remove npm cache
71- npm cache clean --force || true
72- # Remove pip cache
73- pip cache purge 2>/dev/null || true
74- # Note: Don't delete ~/Library/Caches/* as subsequent steps may need it
75-
76- # Additional cleanup for more disk space
77- # Remove hosted tool cache (can be several GB)
78- sudo rm -rf /Users/runner/hostedtoolcache || true
79- sudo rm -rf /opt/hostedtoolcache || true
80- # Remove browsers (not needed for Electron builds)
81- sudo rm -rf "/Applications/Google Chrome.app" || true
82- sudo rm -rf "/Applications/Firefox.app" || true
83- sudo rm -rf "/Applications/Safari Technology Preview.app" || true
84- # Remove PowerShell
85- sudo rm -rf /usr/local/microsoft/powershell || true
86- sudo rm -rf /usr/local/share/powershell || true
87- # Remove more from /usr/local
88- sudo rm -rf /usr/local/aws-cli || true
89- sudo rm -rf /usr/local/julia* || true
90- sudo rm -rf /usr/local/miniconda || true
91- # Remove unused large directories
92- sudo rm -rf /usr/share/swift || true
93- sudo rm -rf /usr/share/miniconda || true
94- # Remove Docker images if present
95- docker system prune -af 2>/dev/null || true
96-
97- echo "Disk space after cleanup:"
98- df -h
99-
10036 - name : Checkout Code
10137 uses : actions/checkout@v4
10238
@@ -125,16 +61,6 @@ jobs:
12561 sudo apt-get update
12662 sudo apt-get install -y libfuse2
12763
128- # Verify disk space before build
129- - name : Check Disk Space Before Build (macOS)
130- if : runner.os == 'macOS'
131- run : |
132- echo "Disk space available before build:"
133- df -h
134- echo ""
135- echo "Largest directories in home:"
136- du -sh ~/* 2>/dev/null | sort -rh | head -10 || true
137-
13864 # Step for macOS builds with signing
13965 - name : Build Release Files (macOS with signing)
14066 if : runner.os == 'macOS'
@@ -189,19 +115,12 @@ jobs:
189115 steps :
190116 - name : Create directories
191117 run : |
192- mkdir -p release/mac-x64 release/mac-arm64 release/win-x64 release/linux-x64
193-
194- # Download all artifacts with correct names
195- - name : Download mac-x64 artifact
196- uses : actions/download-artifact@v7
197- with :
198- name : release-macos-15-intel-x64
199- path : temp-mac-x64
118+ mkdir -p release/mac-arm64 release/win-x64 release/linux-x64
200119
201120 - name : Download mac-arm64 artifact
202121 uses : actions/download-artifact@v7
203122 with :
204- name : release-macos-latest -arm64
123+ name : release-warp- macos-15-arm64-6x -arm64
205124 path : temp-mac-arm64
206125
207126 - name : Download win-x64 artifact
@@ -220,13 +139,6 @@ jobs:
220139 - name : Move files to clean folders
221140 shell : bash
222141 run : |
223- # mac-x64
224- if [ -d "temp-mac-x64/release" ]; then
225- mv temp-mac-x64/release/* release/mac-x64/ || true
226- else
227- mv temp-mac-x64/* release/mac-x64/ || true
228- fi
229-
230142 # mac-arm64
231143 if [ -d "temp-mac-arm64/release" ]; then
232144 mv temp-mac-arm64/release/* release/mac-arm64/ || true
@@ -248,18 +160,12 @@ jobs:
248160 mv temp-linux-x64/* release/linux-x64/ || true
249161 fi
250162
251- - name : Rename duplicate files
252- run : |
253- mv release/mac-x64/latest-mac.yml release/mac-x64/latest-x64-mac.yml || true
254- mv release/mac-arm64/latest-mac.yml release/mac-arm64/latest-arm64-mac.yml || true
255-
256163 # Create GitHub Release
257164 - name : Create GitHub Release
258165 if : startsWith(github.ref, 'refs/tags/')
259166 uses : softprops/action-gh-release@v1
260167 with :
261168 files : |
262- release/mac-x64/*
263169 release/mac-arm64/*
264170 release/win-x64/*
265171 release/linux-x64/*
0 commit comments