1- name : 🔄 CI
1+ name : 🔄 CI/CD Pipeline
22
33on :
44 push :
4747 with :
4848 cache-encryption-key : ${{ secrets.GRADLE_ENCRYPTION_KEY }}
4949
50- - name : 🧹 Clean project
51- run : ./gradlew clean
52-
53- - name : 🔨 Build project
54- run : ./gradlew build
55-
56- - name : 🧪 Run tests
57- run : ./gradlew test
50+ - name : 🔨 Build and test project
51+ run : ./gradlew clean build test
5852
5953 - name : 📊 Run quality checks
6054 run : ./gradlew runAllChecks
@@ -71,10 +65,11 @@ jobs:
7165 shared/build/reports/kover/
7266 retention-days : 7
7367
74- documentation :
75- name : 📚 Documentation
68+ coverage :
69+ name : 📊 Test Coverage
7670 runs-on : ubuntu-latest
77- if : github.ref == 'refs/heads/main'
71+ needs : build-and-test
72+ if : github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
7873
7974 steps :
8075 - name : 📥 Checkout code
@@ -92,13 +87,16 @@ jobs:
9287 - name : 🐘 Setup Gradle
9388 uses : gradle/actions/setup-gradle@v3
9489
95- - name : 📚 Generate documentation
96- run : ./gradlew dokkaHtml
90+ - name : 🧪 Generate coverage report
91+ run : ./gradlew test koverXmlReport
9792
98- - name : 📤 Upload Documentation Artifact
99- uses : actions/upload-pages-artifact@v3
93+ - name : 📊 Upload coverage to Codecov
94+ uses : codecov/codecov-action@v4
10095 with :
101- path : ' ./build/dokka/html'
96+ token : ${{ secrets.CODECOV_TOKEN }}
97+ files : ./shared/build/reports/kover/report.xml
98+ fail_ci_if_error : false
99+ verbose : true
102100
103101 dependency-scan :
104102 name : 🔍 Dependency Scan
@@ -108,65 +106,36 @@ jobs:
108106 - name : 📥 Checkout code
109107 uses : actions/checkout@v4
110108
111- - name : 🔍 Run Dependabot alerts check
109+ - name : 🔍 Security scan summary
112110 run : |
113- echo "🔍 Checking for known vulnerabilities in dependencies..."
114- echo "ℹ️ Dependency scanning is handled by GitHub's Dependabot"
115- echo "📋 Check the Security tab for any alerts"
116- echo "✅ Manual dependency review completed"
117-
118- coverage :
119- name : 📊 Test Coverage
120- runs-on : ubuntu-latest
121- needs : build-and-test
122-
123- steps :
124- - name : 📥 Checkout code
125- uses : actions/checkout@v4
126-
127- - name : ☕ Setup JDK
128- uses : actions/setup-java@v4
129- with :
130- distribution : ' temurin'
131- java-version : ' 17'
132-
133- - name : 📱 Setup Android SDK
134- uses : android-actions/setup-android@v3
135-
136- - name : 🐘 Setup Gradle
137- uses : gradle/actions/setup-gradle@v3
138-
139- - name : 🧪 Run tests with coverage
140- run : ./gradlew test koverXmlReport
141-
142- - name : 📊 Upload coverage to Codecov
143- uses : codecov/codecov-action@v3
144- with :
145- token : ${{ secrets.CODECOV_TOKEN }}
146- files : ./shared/build/reports/kover/report.xml
147- fail_ci_if_error : false
148- verbose : true
111+ echo "🔍 Dependency security scanning"
112+ echo "ℹ️ Automated scanning is handled by GitHub's Dependabot"
113+ echo "📋 Check the Security tab for vulnerability alerts"
114+ echo "🔄 Dependabot will create PRs for updates automatically"
115+ echo "✅ Security scanning configured"
149116
150117 build-summary :
151118 name : 📋 Build Summary
152119 runs-on : ubuntu-latest
153- needs : [build-and-test, documentation , dependency-scan, coverage ]
120+ needs : [build-and-test, coverage , dependency-scan]
154121 if : always()
155122
156123 steps :
157124 - name : 📊 Generate build summary
158125 run : |
159- echo "## 🔄 CI Build Summary" >> $GITHUB_STEP_SUMMARY
126+ echo "## 🔄 CI/CD Pipeline Summary" >> $GITHUB_STEP_SUMMARY
127+ echo "" >> $GITHUB_STEP_SUMMARY
128+ echo "### 📊 Job Results" >> $GITHUB_STEP_SUMMARY
160129 echo "" >> $GITHUB_STEP_SUMMARY
161130 echo "| Job | Status |" >> $GITHUB_STEP_SUMMARY
162131 echo "|-----|--------|" >> $GITHUB_STEP_SUMMARY
163132 echo "| Build & Test | ${{ needs.build-and-test.result == 'success' && '✅ Passed' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY
164- echo "| Documentation | ${{ needs.documentation.result == 'success' && '✅ Generated' || needs.documentation.result == 'skipped' && '⏭️ Skipped' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY
165- echo "| Dependency Scan | ${{ needs.dependency-scan.result == 'success' && '✅ Passed' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY
166- echo "| Test Coverage | ${{ needs.coverage.result == 'success' && '✅ Generated' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY
133+ echo "| Test Coverage | ${{ needs.coverage.result == 'success' && '✅ Generated' || needs.coverage.result == 'skipped' && '⏭️ Skipped' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY
134+ echo "| Dependency Scan | ${{ needs.dependency-scan.result == 'success' && '✅ Completed' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY
167135 echo "" >> $GITHUB_STEP_SUMMARY
168136 echo "### 🔗 Quick Links" >> $GITHUB_STEP_SUMMARY
169137 echo "" >> $GITHUB_STEP_SUMMARY
170- echo "- [📚 Documentation](https://gatrongdev.github.io/kbignum/docs/)" >> $GITHUB_STEP_SUMMARY
171- echo "- [🏠 Repository](https://github.com/gatrongdev/kbignum)" >> $GITHUB_STEP_SUMMARY
172- echo "- [📦 Maven Central](https://central.sonatype.com/artifact/io.github.gatrongdev/kbignum)" >> $GITHUB_STEP_SUMMARY
138+ echo "- 📚 [Documentation](https://gatrongdev.github.io/kbignum/)" >> $GITHUB_STEP_SUMMARY
139+ echo "- 🏠 [Repository](https://github.com/gatrongdev/kbignum)" >> $GITHUB_STEP_SUMMARY
140+ echo "- 📦 [Maven Central](https://central.sonatype.com/artifact/io.github.gatrongdev/kbignum)" >> $GITHUB_STEP_SUMMARY
141+ echo "- 📊 [Codecov](https://codecov.io/gh/gatrongdev/kbignum)" >> $GITHUB_STEP_SUMMARY
0 commit comments