Skip to content

Commit fd55ead

Browse files
authored
Merge pull request #4 from yusuf601/main
fix: ctest
2 parents 57221f6 + 3ce858b commit fd55ead

File tree

4 files changed

+295
-67
lines changed

4 files changed

+295
-67
lines changed

.github/workflows/c_test.yaml

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: C++ Cross Platform Test
1+
name: Forward List Cross Platform Build
22

33
on:
44
push:
@@ -137,10 +137,26 @@ jobs:
137137
fi
138138
shell: bash
139139

140-
- name: List source files
140+
- name: Validate project setup
141141
run: |
142-
echo "Source files in project:"
143-
find . -name "*.cpp" -o -name "*.c" -o -name "*.hpp" -o -name "*.h" 2>/dev/null || echo "No source files found"
142+
echo "Final project validation:"
143+
echo "========================"
144+
145+
echo "Files in current directory:"
146+
ls -la
147+
148+
echo ""
149+
echo "CMakeLists.txt content:"
150+
if [ -f "CMakeLists.txt" ]; then
151+
cat CMakeLists.txt
152+
else
153+
echo "❌ CMakeLists.txt not found!"
154+
exit 1
155+
fi
156+
157+
echo ""
158+
echo "Source files found:"
159+
find . -maxdepth 2 \( -name "*.cpp" -o -name "*.c" -o -name "*.hpp" -o -name "*.h" \) -type f || echo "No source files"
144160
shell: bash
145161

146162
- name: Configure CMake
@@ -248,15 +264,38 @@ jobs:
248264
steps:
249265
- name: Build results summary
250266
run: |
251-
echo "C++ Cross-Platform Build Summary"
252-
echo "================================"
267+
echo "Forward List Project Build Summary"
268+
echo "=================================="
253269
254270
if [ "${{ needs.build.result }}" = "success" ]; then
255271
echo "✅ SUCCESS: All platforms built successfully!"
256272
echo ""
257273
echo "✅ Linux (Ubuntu) - PASSED"
258274
echo "✅ Windows (Latest) - PASSED"
259275
echo "✅ macOS (Latest) - PASSED"
276+
echo ""
277+
echo "🎉 Forward List project is ready for cross-platform development!"
278+
echo ""
279+
echo "📦 Project Components Verified:"
280+
echo " - ✅ Header files (header/)"
281+
echo " - ✅ Source files (src/, implementation/)"
282+
echo " - ✅ CMake configuration"
283+
echo " - ✅ Cross-platform compilation"
284+
echo ""
285+
echo "🔗 Build artifacts have been uploaded for each platform."
286+
else
287+
echo "❌ FAILED: Some builds failed"
288+
echo ""
289+
echo "Please check the individual job logs above for details."
290+
echo ""
291+
echo "Common fixes for Forward List projects:"
292+
echo "- Verify header/forward_list.hpp exists and compiles"
293+
echo "- Check src/forward_list.cpp implementation"
294+
echo "- Ensure CMakeLists.txt includes correct paths"
295+
echo "- Verify C++17 compatibility of template code"
296+
echo "- Check for missing includes or dependencies"
297+
exit 1
298+
fi- PASSED"
260299
echo ""
261300
echo "🎉 Project is ready for cross-platform development!"
262301
else

.gitignore

Lines changed: 99 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,31 @@
1-
# Prerequisites
2-
*.d
1+
# Build directories
2+
build/
3+
cmake-build-*/
4+
out/
5+
Release/
6+
Debug/
7+
8+
# Binary output (keep bin structure but ignore contents during development)
9+
bin/*.exe
10+
bin/*.a
11+
bin/*.lib
12+
bin/*.so
13+
bin/*.dylib
14+
bin/test_*
15+
bin/forward_list*
16+
bin/ForwardList*
317

418
# Compiled Object files
5-
*.slo
6-
*.lo
719
*.o
820
*.obj
9-
10-
# Precompiled Headers
11-
*.gch
12-
*.pch
13-
14-
# Linker files
15-
*.ilk
16-
17-
# Debugger Files
18-
*.pdb
21+
*.elf
1922

2023
# Compiled Dynamic libraries
2124
*.so
2225
*.dylib
2326
*.dll
2427

25-
# Fortran module files
26-
*.mod
27-
*.smod
28-
2928
# Compiled Static libraries
30-
*.lai
31-
*.la
3229
*.a
3330
*.lib
3431

@@ -37,5 +34,85 @@
3734
*.out
3835
*.app
3936

40-
# debug information files
41-
*.dwo
37+
# CMake generated files
38+
CMakeFiles/
39+
CMakeCache.txt
40+
cmake_install.cmake
41+
install_manifest.txt
42+
CTestTestfile.cmake
43+
_deps/
44+
CMakeScripts/
45+
46+
# Makefiles
47+
Makefile
48+
makefile
49+
50+
# IDE and Editor files
51+
.vscode/
52+
.idea/
53+
*.swp
54+
*.swo
55+
*~
56+
*.user
57+
*.vcxproj
58+
*.vcxproj.filters
59+
*.vcxproj.user
60+
*.sln
61+
*.suo
62+
63+
# System files
64+
.DS_Store
65+
.DS_Store?
66+
._*
67+
.Spotlight-V100
68+
.Trashes
69+
ehthumbs.db
70+
Thumbs.db
71+
72+
# Temporary files
73+
*.tmp
74+
*.temp
75+
*.log
76+
*.bak
77+
*.backup
78+
*.orig
79+
80+
# Package managers
81+
conan.lock
82+
vcpkg_installed/
83+
84+
# Testing and coverage
85+
*.gcov
86+
*.gcno
87+
*.gcda
88+
coverage/
89+
lcov.info
90+
91+
# Documentation build
92+
docs/_build/
93+
docs/html/
94+
docs/latex/
95+
96+
# Archives
97+
*.zip
98+
*.tar.gz
99+
*.rar
100+
*.7z
101+
102+
# Local environment
103+
.env
104+
.env.local
105+
106+
# Clang tools
107+
compile_commands.json
108+
.clangd/
109+
.cache/
110+
111+
# Visual Studio Code
112+
.vscode/settings.json
113+
.vscode/tasks.json
114+
.vscode/launch.json
115+
.vscode/c_cpp_properties.json
116+
117+
# Keep important empty directories
118+
!bin/.gitkeep

0 commit comments

Comments
 (0)