@@ -37,25 +37,46 @@ jobs:
3737 uses : actions/cache@v4
3838 with :
3939 path : |
40- examples/ImGui/build/
41- key : ${{ runner.os }}-build-${{ matrix.build-type }}-${{ hashFiles('examples/ImGui/Makefile', 'examples/ImGui/**/*.cpp', 'examples/ImGui/**/*.h', 'examples/ImGui/**/*.hpp') }}
40+ examples/task-manager/build/
41+ examples/donut-basic/build/
42+ key : ${{ runner.os }}-build-${{ matrix.build-type }}-${{ hashFiles('examples/task-manager/makefile', 'examples/task-manager/**/*.cpp', 'examples/donut-basic/makefile', 'examples/donut-basic/**/*.cpp') }}
4243 restore-keys : |
4344 ${{ runner.os }}-build-${{ matrix.build-type }}-
4445
45- - name : Build ImGui example (${{ matrix.build-type }})
46+ - name : Build task-manager example (${{ matrix.build-type }})
4647 run : |
47- cd examples/ImGui
48+ cd examples/task-manager
4849 if [ "$RUNNER_OS" = "macOS" ]; then
4950 make BUILD_TYPE=${{ matrix.build-type }} CXX=clang++ clean all -j$(nproc 2>/dev/null || echo 4)
5051 else
5152 make BUILD_TYPE=${{ matrix.build-type }} clean all -j$(nproc 2>/dev/null || echo 4)
5253 fi
5354 shell : bash
5455
55- - name : Build ImGui example with analyze
56+ - name : Build donut-basic example (${{ matrix.build-type }})
57+ run : |
58+ cd examples/donut-basic
59+ if [ "$RUNNER_OS" = "macOS" ]; then
60+ make BUILD_TYPE=${{ matrix.build-type }} CXX=clang++ clean all -j$(nproc 2>/dev/null || echo 4)
61+ else
62+ make BUILD_TYPE=${{ matrix.build-type }} clean all -j$(nproc 2>/dev/null || echo 4)
63+ fi
64+ shell : bash
65+
66+ - name : Generate assembly and disassembly
67+ run : |
68+ cd examples/task-manager
69+ if [ "$RUNNER_OS" = "macOS" ]; then
70+ make CXX=clang++ asm disassemble || true
71+ else
72+ make asm disassemble || true
73+ fi
74+ shell : bash
75+
76+ - name : Build task-manager with static analysis
5677 if : matrix.build-type == 'debug' && runner.os == 'Linux'
5778 run : |
58- cd examples/ImGui
79+ cd examples/task-manager
5980 if [ "$RUNNER_OS" = "macOS" ]; then
6081 make clean CXX=clang++ analyze
6182 else
6687 - name : Check compilation
6788 if : matrix.os == 'ubuntu-latest'
6889 run : |
69- cd examples/ImGui
90+ cd examples/task-manager
7091 make BUILD_TYPE=debug WARN_LEVEL=normal clean all 2>&1 | tee build.log
7192 # Count actual compilation errors (not warnings)
7293 ERROR_COUNT=$(grep -c "error:" build.log || true)
@@ -90,11 +111,19 @@ jobs:
90111 sudo apt-get update
91112 sudo apt-get install -y build-essential --no-install-recommends
92113
93- - name : Build all examples
114+ - name : Build task-manager example
115+ run : |
116+ cd examples/task-manager
117+ make BUILD_TYPE=release clean all asm disassemble -j$(nproc)
118+
119+ - name : Build donut-basic example
94120 run : |
121+ cd examples/donut-basic
95122 make BUILD_TYPE=release clean all -j$(nproc)
96123
97- - name : Verify executable exists
124+ - name : Verify executables
98125 run : |
99- [ -f "examples/ImGui/build/app/ImGuiExample" ] || { echo "Executable not found!"; exit 1; }
100- echo "✓ ImGuiExample executable built successfully"
126+ [ -f "examples/task-manager/build/app/tm" ] || { echo "task-manager executable not found!"; exit 1; }
127+ echo "✓ task-manager executable built successfully"
128+ [ -f "examples/donut-basic/build/app/donut" ] || { echo "donut-basic executable not found!"; exit 1; }
129+ echo "✓ donut-basic executable built successfully"
0 commit comments