Skip to content

Commit fe15918

Browse files
committed
chore: retrigger CI
Signed-off-by: Huang Rui <vowstar@gmail.com>
1 parent ff92a02 commit fe15918

File tree

3 files changed

+37
-21
lines changed

3 files changed

+37
-21
lines changed

.github/workflows/build.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,27 @@ jobs:
200200
- name: Install tools
201201
run: brew install ninja pkg-config
202202

203+
- name: Patch slang for Apple Clang
204+
run: >-
205+
python3 -c "
206+
import pathlib;
207+
f=pathlib.Path('external/slang/source/analysis/DriverTracker.cpp');
208+
t=f.read_text();
209+
t=t.replace(
210+
'for (auto& [valueSym, drivers] : procedure.getDrivers()) {\n auto updateFunc = [&](auto& elem) {\n for (auto& [driver, bounds] : drivers)',
211+
'for (auto& [valueSym, drivers] : procedure.getDrivers()) {\n auto& driversRef = drivers;\n auto updateFunc = [&](auto& elem) {\n for (auto& [driver, bounds] : driversRef)');
212+
t=t.replace(
213+
'for (auto& [valueSym, drivers] : symbolDriverList) {\n auto updateFunc = [&](auto& elem) {\n for (auto& [driver, bounds] : drivers)',
214+
'for (auto& [valueSym, drivers] : symbolDriverList) {\n auto& driversRef = drivers;\n auto updateFunc = [&](auto& elem) {\n for (auto& [driver, bounds] : driversRef)');
215+
f.write_text(t)"
216+
203217
- name: Configure CMake (push - no tests)
204218
if: github.event_name == 'push'
205219
run: >-
206220
cmake -B build -G Ninja
207221
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
208222
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
223+
-DSLANG_USE_MIMALLOC=OFF
209224
-DENABLE_UNIT_TEST=OFF
210225
-DENABLE_CLANG_TIDY=OFF
211226
-DENABLE_DOXYGEN=OFF
@@ -216,6 +231,7 @@ jobs:
216231
cmake -B build -G Ninja
217232
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
218233
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
234+
-DSLANG_USE_MIMALLOC=OFF
219235
-DENABLE_CLANG_TIDY=OFF
220236
-DENABLE_DOXYGEN=OFF
221237
@@ -226,7 +242,7 @@ jobs:
226242
if: github.event_name == 'push'
227243
run: |
228244
set -e
229-
QSOC=./build/qsoc
245+
QSOC=./build/qsoc.app/Contents/MacOS/qsoc
230246
TMPD=$(mktemp -d)
231247
trap "rm -rf $TMPD" EXIT
232248
echo "--- version ---"
@@ -247,7 +263,7 @@ jobs:
247263
if: github.event_name == 'pull_request'
248264
run: |
249265
cd build
250-
ctest -C ${{ env.BUILD_TYPE }} --rerun-failed --output-on-failure
266+
QT_QPA_PLATFORM=offscreen ctest -C ${{ env.BUILD_TYPE }} --rerun-failed --output-on-failure
251267
252268
cppcheck:
253269
runs-on: ubuntu-latest

.github/workflows/release.yml

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -223,11 +223,26 @@ jobs:
223223
- name: Install tools
224224
run: brew install ninja pkg-config
225225

226+
- name: Patch slang for Apple Clang
227+
run: >-
228+
python3 -c "
229+
import pathlib;
230+
f=pathlib.Path('external/slang/source/analysis/DriverTracker.cpp');
231+
t=f.read_text();
232+
t=t.replace(
233+
'for (auto& [valueSym, drivers] : procedure.getDrivers()) {\n auto updateFunc = [&](auto& elem) {\n for (auto& [driver, bounds] : drivers)',
234+
'for (auto& [valueSym, drivers] : procedure.getDrivers()) {\n auto& driversRef = drivers;\n auto updateFunc = [&](auto& elem) {\n for (auto& [driver, bounds] : driversRef)');
235+
t=t.replace(
236+
'for (auto& [valueSym, drivers] : symbolDriverList) {\n auto updateFunc = [&](auto& elem) {\n for (auto& [driver, bounds] : drivers)',
237+
'for (auto& [valueSym, drivers] : symbolDriverList) {\n auto& driversRef = drivers;\n auto updateFunc = [&](auto& elem) {\n for (auto& [driver, bounds] : driversRef)');
238+
f.write_text(t)"
239+
226240
- name: Configure CMake
227241
run: >-
228242
cmake -B build -G Ninja
229243
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
230244
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
245+
-DSLANG_USE_MIMALLOC=OFF
231246
-DENABLE_CLANG_TIDY=OFF
232247
-DENABLE_DOXYGEN=OFF
233248
-DENABLE_UNIT_TEST=OFF
@@ -237,26 +252,10 @@ jobs:
237252

238253
- name: Deploy
239254
run: |
240-
mkdir -p deploy/QSoC.app/Contents/MacOS
241-
cp build/qsoc deploy/QSoC.app/Contents/MacOS/
242-
cat > deploy/QSoC.app/Contents/Info.plist << 'EOF'
243-
<?xml version="1.0" encoding="UTF-8"?>
244-
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
245-
<plist version="1.0">
246-
<dict>
247-
<key>CFBundleExecutable</key><string>qsoc</string>
248-
<key>CFBundleIdentifier</key><string>com.vowstar.qsoc</string>
249-
<key>CFBundleName</key><string>QSoC</string>
250-
<key>CFBundleVersion</key><string>1.0.2</string>
251-
<key>CFBundleShortVersionString</key><string>1.0</string>
252-
<key>CFBundlePackageType</key><string>APPL</string>
253-
<key>LSMinimumSystemVersion</key><string>11.0</string>
254-
</dict>
255-
</plist>
256-
EOF
255+
mkdir deploy
256+
cp -a build/qsoc.app deploy/QSoC.app
257257
macdeployqt deploy/QSoC.app -verbose=1
258-
# Also keep standalone CLI binary
259-
cp build/qsoc deploy/
258+
cp deploy/QSoC.app/Contents/MacOS/qsoc deploy/qsoc
260259
261260
- name: Verify deployment
262261
run: |

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
422422
MACOSX_BUNDLE_GUI_IDENTIFIER com.vowstar.${PROJECT_NAME}
423423
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
424424
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
425+
MACOSX_BUNDLE TRUE
425426
)
426427

427428
install(TARGETS ${PROJECT_NAME}

0 commit comments

Comments
 (0)