Skip to content

Commit 7b4ffff

Browse files
justinsnappclaude
andcommitted
Fix CI: run build_deps twice to work around openal mingw_stdthreads
build_deps fails on openal-soft Windows cross-compile because the mingw_stdthreads submodule is broken. Let it fail, copy mingw-std-threads into the extracted openal-soft directory, then re-run build_deps which will only rebuild the failed openal-soft step. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 3c8b778 commit 7b4ffff

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

.github/workflows/build.yml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
uses: actions/cache@v4
3030
id: cache
3131
env:
32-
cache-name: cache-libacfutils-ob-lin-v3
32+
cache-name: cache-libacfutils-ob-lin-v4
3333
with:
3434
path: ./libacfutils/
3535
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ env.libacfcommit }}
@@ -58,7 +58,20 @@ jobs:
5858
- name: Build libacfutils dependencies
5959
if: steps.cache.outputs.cache-hit != 'true'
6060
run: |
61-
cd libacfutils && ./build_deps
61+
cd libacfutils
62+
# build_deps will fail on openal-soft Windows cross-compile because
63+
# mingw_stdthreads is missing. Run it, allow failure, then fix and retry.
64+
./build_deps || true
65+
# Place mingw-std-threads where openal-soft CMakeLists.txt expects it
66+
for d in openal-soft/openal-soft-*-win-64/; do
67+
if [ -d "$d" ] && [ ! -f "$d/mingw_stdthreads/CMakeLists.txt" ]; then
68+
rm -rf "$d/mingw_stdthreads"
69+
cp -r mingw-std-threads "$d/mingw_stdthreads"
70+
fi
71+
done
72+
# Re-run build_deps — everything except openal is already built,
73+
# so it will just rebuild openal-soft with mingw_stdthreads in place
74+
./build_deps
6275
- name: Build libacfutils
6376
if: steps.cache.outputs.cache-hit != 'true'
6477
run: |

0 commit comments

Comments
 (0)