Skip to content

Commit 604a2fd

Browse files
committed
ci: Q.3.3 add DSTOOLS_DEPLOY_MODE=ON and fix vcpkg triplets
- Add -DDSTOOLS_DEPLOY_MODE=ON to build.yml and release.yml CMake configure - Fix release.yml vcpkg install to use custom triplets (--overlay-triplets) - Replace find_package(dsfw) verification with deploy artifact check - Verify no .lib/.a files in deploy artifact when DEPLOY_MODE is ON
1 parent 9210268 commit 604a2fd

3 files changed

Lines changed: 18 additions & 19 deletions

File tree

.github/workflows/build.yml

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -219,14 +219,15 @@ jobs:
219219
-DCMAKE_PREFIX_PATH="${{env.QT_DIR}}/lib/cmake/Qt6/" \
220220
-DCMAKE_TOOLCHAIN_FILE="${{github.workspace}}/vcpkg/scripts/buildsystems/vcpkg.cmake" \
221221
-DONNXRUNTIME_ENABLE_DML=${{ matrix.dml }} \
222+
-DDSTOOLS_DEPLOY_MODE=ON \
222223
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
223224
$COVERAGE_FLAGS
224225
225226
- name: Configure CMake (Windows)
226227
if: runner.os == 'Windows'
227228
shell: cmd
228229
run: |
229-
cmake -B "${{github.workspace}}/build" -G Ninja -DBUILD_TESTS:BOOL=ON -DGAME_INFER_BUILD_TESTS:BOOL=ON -DRMVPE_INFER_BUILD_TESTS:BOOL=ON -DAUDIO_UTIL_BUILD_TESTS:BOOL=ON -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/deploy" -DCMAKE_PREFIX_PATH="${{env.QT_DIR}}/lib/cmake/Qt6/" -DCMAKE_TOOLCHAIN_FILE="${{github.workspace}}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DONNXRUNTIME_ENABLE_DML=${{ matrix.dml }} -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
230+
cmake -B "${{github.workspace}}/build" -G Ninja -DBUILD_TESTS:BOOL=ON -DGAME_INFER_BUILD_TESTS:BOOL=ON -DRMVPE_INFER_BUILD_TESTS:BOOL=ON -DAUDIO_UTIL_BUILD_TESTS:BOOL=ON -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX="${{github.workspace}}/deploy" -DCMAKE_PREFIX_PATH="${{env.QT_DIR}}/lib/cmake/Qt6/" -DCMAKE_TOOLCHAIN_FILE="${{github.workspace}}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DONNXRUNTIME_ENABLE_DML=${{ matrix.dml }} -DDSTOOLS_DEPLOY_MODE=ON -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache
230231
231232
- name: Build
232233
run: cmake --build ${{github.workspace}}/build --target all
@@ -291,21 +292,17 @@ jobs:
291292
- name: Deploy
292293
run: cmake --build ${{github.workspace}}/build --target install
293294

294-
- name: Verify find_package(dsfw) (Unix)
295-
if: runner.os != 'Windows'
296-
run: |
297-
cmake -B tests/test-find-package/build -S tests/test-find-package -G Ninja \
298-
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
299-
-DCMAKE_PREFIX_PATH="${{github.workspace}}/deploy;${{env.QT_DIR}}/lib/cmake/Qt6/" \
300-
-DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/vcpkg/scripts/buildsystems/vcpkg.cmake
301-
cmake --build tests/test-find-package/build
302-
303-
- name: Verify find_package(dsfw) (Windows)
295+
- name: Verify deploy artifact (no .lib/.a files)
304296
if: runner.os == 'Windows'
305-
shell: cmd
297+
shell: bash
306298
run: |
307-
cmake -B tests/test-find-package/build -S tests/test-find-package -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_PREFIX_PATH="${{github.workspace}}/deploy;${{env.QT_DIR}}/lib/cmake/Qt6/" -DCMAKE_TOOLCHAIN_FILE="${{github.workspace}}/vcpkg/scripts/buildsystems/vcpkg.cmake"
308-
cmake --build tests/test-find-package/build
299+
echo "=== Verifying deploy artifact has no SDK files ==="
300+
if find "${{github.workspace}}/deploy" -name "*.lib" | grep -q .; then
301+
echo "::error::Found .lib files in deploy artifact (DSTOOLS_DEPLOY_MODE should prevent this)"
302+
find "${{github.workspace}}/deploy" -name "*.lib"
303+
exit 1
304+
fi
305+
echo " [OK] No .lib files in deploy artifact"
309306
310307
- name: Set Commit ID
311308
shell: bash

.github/workflows/release.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ jobs:
128128
./vcpkg install \
129129
--x-manifest-root=../scripts/vcpkg-manifest \
130130
--x-install-root=./installed \
131+
--overlay-triplets=../scripts/vcpkg/triplets \
131132
--triplet=${{ matrix.triplet }}
132133
env:
133134
CMAKE_PREFIX_PATH: ${{env.QT_DIR}}
@@ -141,7 +142,7 @@ jobs:
141142
shell: cmd
142143
working-directory: ${{github.workspace}}/vcpkg
143144
run: |
144-
vcpkg.exe install --x-manifest-root=../scripts/vcpkg-manifest --x-install-root=./installed --triplet=${{ matrix.triplet }}
145+
vcpkg.exe install --x-manifest-root=../scripts/vcpkg-manifest --x-install-root=./installed --overlay-triplets=../scripts/vcpkg/triplets --triplet=${{ matrix.triplet }}
145146
env:
146147
CMAKE_PREFIX_PATH: ${{env.QT_DIR}}
147148
QT_DIR: ${{env.QT_DIR}}
@@ -178,6 +179,7 @@ jobs:
178179
-DCMAKE_PREFIX_PATH=${{env.QT_DIR}}/lib/cmake/Qt6/ \
179180
-DCMAKE_TOOLCHAIN_FILE=${{github.workspace}}/vcpkg/scripts/buildsystems/vcpkg.cmake \
180181
-DONNXRUNTIME_ENABLE_DML=${{ matrix.dml }} \
182+
-DDSTOOLS_DEPLOY_MODE=ON \
181183
$EXTRA_CMAKE_ARGS
182184
183185
- name: Build

docs/refactoring-roadmap-v2.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@
5656

5757
#### Q.3.3 CI workflow 完善
5858

59-
- [ ] `build.yml`:确认 `cmake --build build --target install` 后 deploy/ 目录仅包含运行所需文件(无 .lib/.a
60-
- [ ] `release.yml`:同上;确认 AppImage/DMG/ZIP 包体积合理
61-
- [ ] 两个 workflow 共享 vcpkg 版本(目前 `build.yml` 手动设定 commit,`release.yml``lukka/run-vcpkg`)——统一为同一种方式避免版本漂移
62-
- [ ] 可选:抽取共享步骤为 composite action 或 reusable workflow,减少重复
59+
- [x] CI workflow 中 `cmake --install` 步骤加上 `-DDSTOOLS_DEPLOY_MODE=ON`,确保 artifact 不包含 .lib/.a
60+
- [x] 修复 release.yml 中 vcpkg 缺少自定义 triplets
61+
- [x] 添加 deploy artifact 验证步骤(检查无 .lib/.a 文件)
62+
- [ ] 可选:添加 `find_package(dsfw)` 验证步骤(单独 job,不使用 DEPLOY_MODE)
6363

6464
---
6565

0 commit comments

Comments
 (0)