Skip to content

Commit ceb0adf

Browse files
committed
17-12-2025 [initial commit]
0 parents  commit ceb0adf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+4774
-0
lines changed

.github/workflows/ci.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Java CI/CD
2+
3+
on:
4+
push:
5+
branches: [ main, develop ]
6+
pull_request:
7+
branches: [ main, develop ]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
strategy:
14+
matrix:
15+
java: [ '17', '21', '23' ]
16+
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: Set up JDK ${{ matrix.java }}
22+
uses: actions/setup-java@v4
23+
with:
24+
java-version: ${{ matrix.java }}
25+
distribution: 'temurin'
26+
cache: maven
27+
28+
- name: Build with Maven
29+
run: mvn clean compile
30+
31+
- name: Run tests
32+
run: mvn test
33+
34+
- name: Generate test report
35+
if: always()
36+
run: mvn surefire-report:report
37+
38+
- name: Check code style
39+
run: mvn checkstyle:check || true
40+
41+
- name: Upload test results
42+
if: always()
43+
uses: actions/upload-artifact@v4
44+
with:
45+
name: test-results-java-${{ matrix.java }}
46+
path: target/surefire-reports/
47+
48+
code-quality:
49+
runs-on: ubuntu-latest
50+
51+
steps:
52+
- name: Checkout code
53+
uses: actions/checkout@v4
54+
55+
- name: Set up JDK 23
56+
uses: actions/setup-java@v4
57+
with:
58+
java-version: '23'
59+
distribution: 'temurin'
60+
cache: maven
61+
62+
- name: Build and analyze
63+
run: mvn clean verify
64+
65+
- name: Check for compilation errors
66+
run: mvn compiler:compile
67+
68+
dependency-check:
69+
runs-on: ubuntu-latest
70+
71+
steps:
72+
- name: Checkout code
73+
uses: actions/checkout@v4
74+
75+
- name: Set up JDK 23
76+
uses: actions/setup-java@v4
77+
with:
78+
java-version: '23'
79+
distribution: 'temurin'
80+
cache: maven
81+
82+
- name: Check for dependency updates
83+
run: mvn versions:display-dependency-updates
84+
85+
- name: Check for plugin updates
86+
run: mvn versions:display-plugin-updates

.github/workflows/welcome.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Welcome New Contributors
2+
3+
on:
4+
issues:
5+
types: [opened]
6+
pull_request_target:
7+
types: [opened]
8+
9+
jobs:
10+
welcome:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Welcome new issue creator
15+
if: github.event_name == 'issues'
16+
uses: actions/github-script@v7
17+
with:
18+
script: |
19+
github.rest.issues.createComment({
20+
issue_number: context.issue.number,
21+
owner: context.repo.owner,
22+
repo: context.repo.repo,
23+
body: '👋 Welcome to DSA Practice Ground! Thank you for opening your first issue. Please make sure to:\n\n1. Check existing issues to avoid duplicates\n2. Describe what you\'re trying to implement\n3. Share what you\'ve tried so far\n4. Include relevant test failures or errors\n\nHappy learning! 🚀'
24+
})
25+
26+
- name: Welcome new PR creator
27+
if: github.event_name == 'pull_request_target'
28+
uses: actions/github-script@v7
29+
with:
30+
script: |
31+
github.rest.issues.createComment({
32+
issue_number: context.issue.number,
33+
owner: context.repo.owner,
34+
repo: context.repo.repo,
35+
body: '🎉 Thank you for your first contribution! Please ensure:\n\n1. All tests pass (or explain why they\'re commented)\n2. Wiki guide is included for new algorithms/structures\n3. Code follows existing patterns\n4. No solutions are provided (skeleton + tests only)\n\nA maintainer will review your PR soon. Thanks for helping others learn! 💻'
36+
})

.gitignore

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
target/
2+
!.mvn/wrapper/maven-wrapper.jar
3+
!**/src/main/**/target/
4+
!**/src/test/**/target/
5+
6+
### IntelliJ IDEA ###
7+
.idea/modules.xml
8+
.idea/jarRepositories.xml
9+
.idea/compiler.xml
10+
.idea/libraries/
11+
*.iws
12+
*.iml
13+
*.ipr
14+
15+
### Eclipse ###
16+
.apt_generated
17+
.classpath
18+
.factorypath
19+
.project
20+
.settings
21+
.springBeans
22+
.sts4-cache
23+
24+
### NetBeans ###
25+
/nbproject/private/
26+
/nbbuild/
27+
/dist/
28+
/nbdist/
29+
/.nb-gradle/
30+
build/
31+
!**/src/main/**/build/
32+
!**/src/test/**/build/
33+
34+
### VS Code ###
35+
.vscode/
36+
37+
### Mac OS ###
38+
.DS_Store

.idea/.gitignore

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/encodings.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/material_theme_project_new.xml

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)