Skip to content

Commit 98b48dd

Browse files
WIP
1 parent f443722 commit 98b48dd

File tree

2 files changed

+92
-33
lines changed

2 files changed

+92
-33
lines changed

.github/workflows/build.yml

Lines changed: 89 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ jobs:
5050
git clone https://github.com/PilotLightTech/pilotlight
5151
cd pilotlight-python
5252
53-
- name: Prep 1
53+
- name: Build Python
5454
shell: cmd
5555
run: |
5656
cd scripts
5757
python gen_build.py
5858
build_python_for_win32.bat
5959
60-
- name: Build Pilot Light Python
60+
- name: Build Binaries
6161
shell: cmd
6262
run: |
6363
set VULKAN_SDK=D:/a/VulkanSDK
@@ -100,30 +100,60 @@ jobs:
100100
git clone https://github.com/PilotLightTech/pilotlight
101101
cd pilotlight-python
102102
103-
- name: Prep 1
103+
- name: Build Python
104104
run: |
105105
cd $GITHUB_WORKSPACE
106106
cd scripts
107107
python3 gen_build.py
108108
chmod +x build_python_for_mac.sh
109109
./build_python_for_mac.sh
110110
111-
- name: Build Pilot Light Python
111+
- name: Build Binaries
112112
run: |
113-
cd $GITHUB_WORKSPACE
114-
cd src
113+
set -Eeuo pipefail
114+
115+
# Build
116+
pushd "$GITHUB_WORKSPACE/src" >/dev/null
115117
chmod +x build.sh
116118
./build.sh
117-
cd ..
118-
cd out
119-
ls
120-
cd ../pilotlight
121-
ls
122-
cd ..
123-
test -f ./out/pilotlight_python || exit 1
124-
test -f ./out/libgltfd.a || exit 1
125-
test -f ./out/libpl_platform_ext.a || exit 1
126-
test -f ./pilotlight/pilotlight.so || exit 1
119+
popd >/dev/null
120+
121+
echo "=== Directory snapshots for debugging ==="
122+
echo "::group::ls -al ./out"
123+
ls -al ./out || true
124+
echo "::endgroup::"
125+
echo "::group::ls -al ./pilotlight"
126+
ls -al ./pilotlight || true
127+
echo "::endgroup::"
128+
129+
# List of required files relative to repo root
130+
required_files=(
131+
"./out/pilotlight_python"
132+
"./out/libglfwd.a"
133+
"./out/libpl_platform_ext.a"
134+
"./pilotlight/pilotlight.so"
135+
)
136+
137+
# Check for missing files and collect all failures before exiting
138+
missing=()
139+
for f in "${required_files[@]}"; do
140+
if [[ -f "$f" ]]; then
141+
echo "✅ Found: $f"
142+
else
143+
echo "::error file=$f::Missing required file"
144+
missing+=("$f")
145+
fi
146+
done
147+
148+
if ((${#missing[@]})); then
149+
echo ""
150+
echo "❌ Missing ${#missing[@]} required file(s):"
151+
printf ' - %s\n' "${missing[@]}"
152+
exit 1
153+
else
154+
echo "🎉 All required files are present."
155+
fi
156+
127157
128158
Ubuntu:
129159

@@ -168,27 +198,56 @@ jobs:
168198
git clone https://github.com/PilotLightTech/pilotlight
169199
cd pilotlight-python
170200
171-
- name: Prep 1
201+
- name: Build Python
172202
run: |
173203
cd $GITHUB_WORKSPACE
174204
cd scripts
175205
python3 gen_build.py
176206
chmod +x build_python_for_linux.sh
177207
./build_python_for_linux.sh
178208
179-
- name: Build Pilot Light Python
209+
- name: Build Binaries
180210
run: |
181-
cd $GITHUB_WORKSPACE
182-
cd src
211+
set -Eeuo pipefail
212+
213+
# Build
214+
pushd "$GITHUB_WORKSPACE/src" >/dev/null
183215
chmod +x build.sh
184216
./build.sh
185-
cd ..
186-
cd out
187-
ls
188-
cd ../pilotlight
189-
ls
190-
cd ..
191-
test -f ./out/pilotlight_python || exit 1
192-
test -f ./out/gltfd.a || exit 1
193-
test -f ./out/pl_platform_ext.a || exit 1
194-
test -f ./pilotlight/pilotlight.so || exit 1
217+
popd >/dev/null
218+
219+
echo "=== Directory snapshots for debugging ==="
220+
echo "::group::ls -al ./out"
221+
ls -al ./out || true
222+
echo "::endgroup::"
223+
echo "::group::ls -al ./pilotlight"
224+
ls -al ./pilotlight || true
225+
echo "::endgroup::"
226+
227+
# List of required files relative to repo root
228+
required_files=(
229+
"./out/pilotlight_python"
230+
"./out/glfwd.a"
231+
"./out/pl_platform_ext.a"
232+
"./pilotlight/pilotlight.so"
233+
)
234+
235+
# Check for missing files and collect all failures before exiting
236+
missing=()
237+
for f in "${required_files[@]}"; do
238+
if [[ -f "$f" ]]; then
239+
echo "✅ Found: $f"
240+
else
241+
echo "::error file=$f::Missing required file"
242+
missing+=("$f")
243+
fi
244+
done
245+
246+
if ((${#missing[@]})); then
247+
echo ""
248+
echo "❌ Missing ${#missing[@]} required file(s):"
249+
printf ' - %s\n' "${missing[@]}"
250+
exit 1
251+
else
252+
echo "🎉 All required files are present."
253+
fi

.github/workflows/deploy.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
git clone https://github.com/PilotLightTech/pilotlight
5656
cd pilotlight-python
5757
58-
- name: Build package
58+
- name: Build Binaries
5959
shell: cmd
6060
run: |
6161
set VULKAN_SDK=D:/a/VulkanSDK
@@ -132,7 +132,7 @@ jobs:
132132
cd pilotlight-python
133133
python -m pip install pl-build
134134
135-
- name: Build Package
135+
- name: Build Binaries
136136
run: |
137137
cd $GITHUB_WORKSPACE
138138
echo "$PL_PYTHON_INCLUDES"
@@ -196,7 +196,7 @@ jobs:
196196
cd pilotlight-python
197197
python -m pip install pl-build
198198
199-
- name: Build Package
199+
- name: Build Binaries
200200
run: |
201201
cd $GITHUB_WORKSPACE
202202
echo "$PL_PYTHON_INCLUDES"

0 commit comments

Comments
 (0)