@@ -59,13 +59,51 @@ jobs:
5959 uses : actions/upload-artifact@v4
6060 with :
6161 name : idevice-c-examples-macos
62- path : cpp/examples/build-c /*
62+ path : cpp/examples/build/bin /*
6363
6464 - name : Upload C++ examples/tools
6565 uses : actions/upload-artifact@v4
6666 with :
6767 name : idevice-cpp-examples-macos
68- path : cpp/examples/build-cpp/*
68+ path : cpp/examples/build/bin/*
69+
70+ - name : Stage Rust tools (arm64)
71+ shell : bash
72+ run : |
73+ mkdir -p dist/arm64
74+ find target/release -maxdepth 1 -type f -exec sh -c '
75+ for f in "$@"; do
76+ if file "$f" | grep -Eq "Mach-O .* executable|ELF .* executable"; then
77+ cp "$f" dist/arm64/
78+ fi
79+ done
80+ ' sh {} +
81+
82+ - name : Upload Rust tools (arm64)
83+ uses : actions/upload-artifact@v4
84+ with :
85+ name : idevice-tools-macos-arm
86+ path : dist/arm64/*
87+ if-no-files-found : error
88+
89+ - name : Stage Rust tools (x64)
90+ shell : bash
91+ run : |
92+ mkdir -p dist/x64
93+ find target/x86_64-apple-darwin/release -maxdepth 1 -type f -exec sh -c '
94+ for f in "$@"; do
95+ if file "$f" | grep -Eq "Mach-O .* executable|ELF .* executable"; then
96+ cp "$f" dist/x64/
97+ fi
98+ done
99+ ' sh {} +
100+
101+ - name : Upload Rust tools (x64)
102+ uses : actions/upload-artifact@v4
103+ with :
104+ name : idevice-tools-macos-intel
105+ path : dist/x64/*
106+ if-no-files-found : error
69107
70108 linux :
71109 name : Linux Build
@@ -112,13 +150,32 @@ jobs:
112150 uses : actions/upload-artifact@v4
113151 with :
114152 name : idevice-c-examples-linux
115- path : cpp/examples/build-c /*
153+ path : cpp/examples/build/bin /*
116154
117155 - name : Upload C++ examples/tools
118156 uses : actions/upload-artifact@v4
119157 with :
120158 name : idevice-cpp-examples-linux
121- path : cpp/examples/build-cpp/*
159+ path : cpp/examples/build/bin/*
160+
161+ - name : Stage Rust tools (linux)
162+ shell : bash
163+ run : |
164+ mkdir -p dist
165+ find target/release -maxdepth 1 -type f -exec sh -c '
166+ for f in "$@"; do
167+ if file "$f" | grep -Eq "ELF .* executable"; then
168+ cp "$f" dist/
169+ fi
170+ done
171+ ' sh {} +
172+
173+ - name : Upload Rust tools
174+ uses : actions/upload-artifact@v4
175+ with :
176+ name : idevice-tools-linux
177+ path : dist/*
178+ if-no-files-found : error
122179
123180 windows :
124181 name : Windows Build
@@ -161,10 +218,23 @@ jobs:
161218 uses : actions/upload-artifact@v4
162219 with :
163220 name : idevice-c-examples-windows
164- path : cpp\examples\build-c \*
221+ path : cpp\examples\build\bin \*
165222
166223 - name : Upload C++ examples/tools
167224 uses : actions/upload-artifact@v4
168225 with :
169226 name : idevice-cpp-examples-windows
170- path : cpp\examples\build-cpp\*
227+ path : cpp\examples\build\bin\*
228+
229+ - name : Stage Rust tools (windows)
230+ shell : pwsh
231+ run : |
232+ New-Item -ItemType Directory -Force -Path dist | Out-Null
233+ Get-ChildItem target\release\*.exe -File | Copy-Item -Destination dist
234+
235+ - name : Upload Rust tools
236+ uses : actions/upload-artifact@v4
237+ with :
238+ name : idevice-tools-windows
239+ path : dist\*.exe
240+ if-no-files-found : error
0 commit comments