Skip to content

Commit 357629e

Browse files
CopilotM-F-Tushar
andcommitted
Improve CI/CD workflows and update documentation
- Enhanced C++ and Java build workflows with detailed statistics - Added CI/CD status badges to README - Added comprehensive Community section to README - Updated CHANGELOG with version 2.1.0 - Linked all new community files in README Co-authored-by: M-F-Tushar <171763969+M-F-Tushar@users.noreply.github.com>
1 parent 3f1cb82 commit 357629e

File tree

4 files changed

+193
-12
lines changed

4 files changed

+193
-12
lines changed

.github/workflows/cpp-build.yml

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,50 @@ jobs:
3232
sudo apt-get install -y g++ build-essential
3333
3434
- name: Verify g++ Installation
35-
run: g++ --version
35+
run: |
36+
echo "📦 Compiler Information:"
37+
g++ --version
38+
echo ""
3639
3740
- name: Find and Compile C++ Files
3841
run: |
3942
echo "🔍 Finding C++ source files..."
40-
find . -name "*.cpp" -type f | while read file; do
41-
echo "📝 Compiling: $file"
42-
g++ -std=c++17 -c "$file" -o "${file%.cpp}.o" || echo "⚠️ Warning: $file failed to compile"
43-
done
44-
echo "✅ Compilation check complete!"
43+
FAILED_FILES=0
44+
SUCCESS_FILES=0
45+
TOTAL_FILES=0
46+
47+
while IFS= read -r file; do
48+
TOTAL_FILES=$((TOTAL_FILES + 1))
49+
echo ""
50+
echo "📝 Compiling ($TOTAL_FILES): $file"
51+
if g++ -std=c++17 -Wall -Wextra -c "$file" -o "${file%.cpp}.o" 2>&1; then
52+
echo "✅ Success: $file"
53+
SUCCESS_FILES=$((SUCCESS_FILES + 1))
54+
else
55+
echo "❌ Failed: $file"
56+
FAILED_FILES=$((FAILED_FILES + 1))
57+
fi
58+
done < <(find . -name "*.cpp" -type f)
59+
60+
echo ""
61+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
62+
echo "📊 Compilation Summary:"
63+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
64+
echo "Total files: $TOTAL_FILES"
65+
echo "✅ Successful: $SUCCESS_FILES"
66+
echo "❌ Failed: $FAILED_FILES"
67+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
68+
69+
if [ $FAILED_FILES -gt 0 ]; then
70+
echo ""
71+
echo "⚠️ Warning: Some files failed to compile"
72+
echo "This is expected for educational examples that may contain intentional errors."
73+
exit 0
74+
else
75+
echo ""
76+
echo "🎉 All files compiled successfully!"
77+
fi
4578
4679
- name: Clean Up Object Files
80+
if: always()
4781
run: find . -name "*.o" -delete

.github/workflows/java-build.yml

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,50 @@ jobs:
3030

3131
- name: Verify Java Installation
3232
run: |
33+
echo "📦 Java Information:"
3334
java -version
3435
javac -version
36+
echo ""
3537
3638
- name: Find and Compile Java Files
3739
run: |
3840
echo "🔍 Finding Java source files..."
39-
find . -name "*.java" -type f | while read file; do
40-
echo "📝 Compiling: $file"
41-
javac "$file" || echo "⚠️ Warning: $file failed to compile"
42-
done
43-
echo "✅ Compilation check complete!"
41+
FAILED_FILES=0
42+
SUCCESS_FILES=0
43+
TOTAL_FILES=0
44+
45+
while IFS= read -r file; do
46+
TOTAL_FILES=$((TOTAL_FILES + 1))
47+
echo ""
48+
echo "📝 Compiling ($TOTAL_FILES): $file"
49+
if javac -Xlint:all "$file" 2>&1; then
50+
echo "✅ Success: $file"
51+
SUCCESS_FILES=$((SUCCESS_FILES + 1))
52+
else
53+
echo "❌ Failed: $file"
54+
FAILED_FILES=$((FAILED_FILES + 1))
55+
fi
56+
done < <(find . -name "*.java" -type f)
57+
58+
echo ""
59+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
60+
echo "📊 Compilation Summary:"
61+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
62+
echo "Total files: $TOTAL_FILES"
63+
echo "✅ Successful: $SUCCESS_FILES"
64+
echo "❌ Failed: $FAILED_FILES"
65+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
66+
67+
if [ $FAILED_FILES -gt 0 ]; then
68+
echo ""
69+
echo "⚠️ Warning: Some files failed to compile"
70+
echo "This is expected for educational examples that may contain intentional errors."
71+
exit 0
72+
else
73+
echo ""
74+
echo "🎉 All files compiled successfully!"
75+
fi
4476
4577
- name: Clean Up Class Files
78+
if: always()
4679
run: find . -name "*.class" -delete

CHANGELOG.md

Lines changed: 79 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,86 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111
- Visual diagrams for OOP concepts
1212
- Video tutorials for complex topics
1313
- GitHub Pages site for better browsing
14-
- Pull request and issue templates
1514
- More real-world application examples
15+
- Automated code formatting checks (clang-format for C++, checkstyle for Java)
16+
17+
## [2.1.0] - 2024-11-05
18+
19+
### Added - Repository Quality Improvements
20+
21+
#### Folder Structure
22+
- ✅ Fixed naming inconsistency: Renamed "Leacture" folders to "Lecture" (Lectures 01-06)
23+
- ✅ Fixed spacing in Lecture_08 folder name for consistency
24+
25+
#### Community Templates
26+
- **Issue Templates** - Professional issue reporting system
27+
- Bug Report template with structured fields
28+
- Feature Request template for suggestions
29+
- Question template for course-related questions
30+
- Issue template configuration with helpful links
31+
32+
- **Pull Request Template** - Standardized PR submission format
33+
- Type of change checkboxes
34+
- Testing checklist
35+
- Environment details section
36+
- Contribution guidelines reference
37+
38+
#### Policy Documents
39+
- **SECURITY.md** - Comprehensive security policy
40+
- Vulnerability reporting guidelines
41+
- Security best practices for C++ and Java
42+
- Response timeline commitments
43+
- Educational context considerations
44+
45+
- **SUPPORT.md** - Community support guide
46+
- Getting help resources
47+
- Common questions and answers
48+
- Learning resources (internal and external)
49+
- Bug reporting process
50+
- Community guidelines
51+
52+
#### CI/CD Improvements
53+
- **Enhanced C++ Build Workflow**
54+
- Improved error reporting with detailed statistics
55+
- Compilation summary with success/failure counts
56+
- Warning flags enabled (-Wall -Wextra)
57+
- Better visual feedback with emojis
58+
59+
- **Enhanced Java Build Workflow**
60+
- Improved error reporting with detailed statistics
61+
- Compilation summary with success/failure counts
62+
- Lint warnings enabled (-Xlint:all)
63+
- Better visual feedback with emojis
64+
65+
#### Documentation Updates
66+
- **README.md** - Enhanced main documentation
67+
- Added CI/CD status badges for C++ and Java builds
68+
- Added comprehensive Community section
69+
- Links to all new policy documents
70+
- Improved navigation with Support Guide reference
71+
72+
- **KNOWN_ISSUES.md** - Updated status
73+
- Marked folder naming issues as FIXED
74+
- Added completion dates
75+
- Updated with all corrected folder names
76+
77+
### Changed
78+
- CI/CD workflows now provide detailed compilation statistics
79+
- Issue tracking system now uses modern YAML templates
80+
- Community engagement improved with better documentation
81+
82+
### Fixed
83+
- Folder naming inconsistency (Leacture → Lecture) across C++ lectures 01-06
84+
- Missing space in Lecture_08 folder name
85+
- Lack of structured issue reporting
86+
- Insufficient community guidelines
87+
- No security vulnerability reporting process
88+
89+
### Improved
90+
- GitHub Actions workflows with better error reporting
91+
- Community engagement through templates and guides
92+
- Documentation organization and accessibility
93+
- Repository discoverability with status badges
1694

1795
## [2.0.0] - 2024-11-02
1896

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
[![GitHub Stars](https://img.shields.io/github/stars/M-F-Tushar/CSE-1201-Object-Oriented-Programming-Language?style=social)](https://github.com/M-F-Tushar/CSE-1201-Object-Oriented-Programming-Language/stargazers)
55
[![GitHub Forks](https://img.shields.io/github/forks/M-F-Tushar/CSE-1201-Object-Oriented-Programming-Language?style=social)](https://github.com/M-F-Tushar/CSE-1201-Object-Oriented-Programming-Language/network/members)
66
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
7+
[![C++ Build](https://github.com/M-F-Tushar/CSE-1201-Object-Oriented-Programming-Language/actions/workflows/cpp-build.yml/badge.svg)](https://github.com/M-F-Tushar/CSE-1201-Object-Oriented-Programming-Language/actions/workflows/cpp-build.yml)
8+
[![Java Build](https://github.com/M-F-Tushar/CSE-1201-Object-Oriented-Programming-Language/actions/workflows/java-build.yml/badge.svg)](https://github.com/M-F-Tushar/CSE-1201-Object-Oriented-Programming-Language/actions/workflows/java-build.yml)
79

810
> 📚 A comprehensive collection of Object-Oriented Programming course materials, examples, and assignments using C++ and Java
911
@@ -19,11 +21,14 @@ This repository contains all the programs, practicals, and assignments for **CSE
1921
- [Main Textbook](#-main-textbook)
2022
- [How to Use This Repository](#-how-to-use-this-repository)
2123
- [Contributing](#-contributing)
24+
- [Community](#-community)
2225
- [License](#-license)
2326

2427
> 📚 **New to this repository?** Check out the [Getting Started Guide](GETTING_STARTED.md) for setup instructions!
2528
>
2629
> 🗺️ **Looking for specific topics?** See the [Complete Content Index](CONTENT_INDEX.md) for a detailed catalog of all materials!
30+
>
31+
> 💬 **Need help?** Visit our [Support Guide](SUPPORT.md) for assistance!
2732
2833
## 📘 About the Course
2934

@@ -217,6 +222,37 @@ Contributions are welcome! This repository is for academic and self-learning pur
217222

218223
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
219224

225+
## 👥 Community
226+
227+
We believe in building a supportive learning community! Here's how you can engage:
228+
229+
### 📖 Documentation & Resources
230+
231+
- **[Getting Started Guide](GETTING_STARTED.md)** - Setup and installation instructions
232+
- **[Content Index](CONTENT_INDEX.md)** - Complete catalog of all materials
233+
- **[Support Guide](SUPPORT.md)** - Community support and help resources
234+
- **[Known Issues](KNOWN_ISSUES.md)** - Known issues and their status
235+
236+
### 🛡️ Policies & Guidelines
237+
238+
- **[Code of Conduct](CODE_OF_CONDUCT.md)** - Community standards and expectations
239+
- **[Security Policy](SECURITY.md)** - Reporting security vulnerabilities
240+
- **[Contributing Guidelines](CONTRIBUTING.md)** - How to contribute effectively
241+
242+
### 🐛 Issue Templates
243+
244+
We've created templates to make it easier to report issues:
245+
246+
- **[Bug Report](.github/ISSUE_TEMPLATE/bug_report.yml)** - Report compilation errors, bugs, or issues
247+
- **[Feature Request](.github/ISSUE_TEMPLATE/feature_request.yml)** - Suggest new features or improvements
248+
- **[Question](.github/ISSUE_TEMPLATE/question.yml)** - Ask questions about the course material
249+
250+
### 💬 Get Help
251+
252+
- **Issues**: [Open an issue](https://github.com/M-F-Tushar/CSE-1201-Object-Oriented-Programming-Language/issues/new/choose)
253+
- **Discussions**: [Join discussions](https://github.com/M-F-Tushar/CSE-1201-Object-Oriented-Programming-Language/discussions) (if enabled)
254+
- **Support**: Read the [Support Guide](SUPPORT.md)
255+
220256
## 📜 License
221257

222258
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

0 commit comments

Comments
 (0)