3333 distribution : ${{ env.JAVA_DISTRIBUTION }}
3434
3535 - name : Cache Maven dependencies
36- uses : actions/cache@v3
36+ uses : actions/cache@v4
3737 with :
3838 path : ~/.m2/repository
3939 key : ${{ runner.os }}-maven-develop-${{ hashFiles('**/pom.xml') }}
@@ -58,18 +58,21 @@ jobs:
5858 -DskipTests=true \
5959 -Dspotless.check.skip=true
6060
61- maven-central -snapshot :
61+ github-packages -snapshot :
6262 runs-on : ubuntu-latest
6363 needs : validate-develop
64- timeout-minutes : 25
64+ timeout-minutes : 15
6565 if : github.ref == 'refs/heads/dev'
6666
67+ permissions :
68+ contents : read
69+ packages : write
70+
6771 steps :
6872 - name : Checkout develop
6973 uses : actions/checkout@v4
7074 with :
7175 ref : dev
72- fetch-depth : 0
7376
7477 - name : Setup JDK ${{ env.JAVA_VERSION }}
7578 uses : actions/setup-java@v4
@@ -78,111 +81,72 @@ jobs:
7881 distribution : ${{ env.JAVA_DISTRIBUTION }}
7982
8083 - name : Cache Maven dependencies
81- uses : actions/cache@v3
84+ uses : actions/cache@v4
8285 with :
8386 path : ~/.m2/repository
8487 key : ${{ runner.os }}-maven-develop-${{ hashFiles('**/pom.xml') }}
8588 restore-keys : |
8689 ${{ runner.os }}-maven-develop-
8790 ${{ runner.os }}-maven-
8891
89- - name : Import GPG key
90- uses : crazy-max/ghaction-import-gpg@v6
91- with :
92- gpg_private_key : ${{ secrets.GPG_PRIVATE_KEY }}
93- passphrase : ${{ secrets.GPG_PASSPHRASE }}
94-
95- - name : Verify GPG import
92+ - name : Run comprehensive tests
9693 run : |
97- gpg --list-secret-keys --keyid-format LONG
98- echo "✅ GPG key imported successfully"
94+ mvn clean verify -B --no-transfer-progress \
95+ -Dmaven.test.failure.ignore=false \
96+ -Dfailsafe.rerunFailingTestsCount=2
9997
100- - name : Configure Maven Central Snapshots
98+ - name : Configure Maven Settings for GitHub Packages
10199 uses : whelk-io/maven-settings-xml-action@v22
102100 with :
103101 servers : |
104102 [
105103 {
106- "id": "central",
107- "username": "${env.CENTRAL_TOKEN_USERNAME}",
108- "password": "${env.CENTRAL_TOKEN_PASSWORD}"
109- },
110- {
111- "id": "ossrh",
112- "username": "${env.CENTRAL_TOKEN_USERNAME}",
113- "password": "${env.CENTRAL_TOKEN_PASSWORD}"
104+ "id": "github",
105+ "username": "${env.GITHUB_ACTOR}",
106+ "password": "${env.GITHUB_TOKEN}"
114107 }
115108 ]
116109
117- - name : Display snapshot version
118- run : |
119- echo "📦 Deploying snapshot version: ${{ needs.validate-develop.outputs.snapshot-version }}"
120-
121- - name : Run comprehensive tests
122- run : |
123- mvn clean verify -B --no-transfer-progress \
124- -Dmaven.test.failure.ignore=false \
125- -Dfailsafe.rerunFailingTestsCount=2
126-
127- - name : Deploy to Maven Central Snapshots
110+ - name : Deploy to GitHub Packages (Snapshots Only)
128111 run : |
129- mvn clean deploy -B --no-transfer-progress \
130- -Pmaven-central-release \
131- -DskipTests=true \
132- -Dcentral.autoPublish=true \
133- -Dgpg.keyname="$GPG_KEY_ID"
112+ mvn deploy -B --no-transfer-progress \
113+ -Pgithub-packages-snapshot \
114+ -DskipTests=true
134115 env :
135- CENTRAL_TOKEN_USERNAME : ${{ secrets.CENTRAL_TOKEN_USERNAME }}
136- CENTRAL_TOKEN_PASSWORD : ${{ secrets.CENTRAL_TOKEN_PASSWORD }}
137- GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
138- GPG_KEY_ID : ${{ secrets.GPG_KEY_ID }}
139-
140- - name : Verify Maven Central snapshot deployment
141- run : |
142- VERSION="${{ needs.validate-develop.outputs.snapshot-version }}"
143- echo "⏳ Waiting for snapshot propagation..."
144- sleep 10
145-
146- # Check if snapshot metadata is available
147- METADATA_URL="https://s01.oss.sonatype.org/content/repositories/snapshots/io/logdash/logdash/$VERSION/maven-metadata.xml"
148- if curl -s -f "$METADATA_URL" > /dev/null; then
149- echo "✅ Snapshot metadata confirmed at OSSRH"
150- else
151- echo "⚠️ Snapshot metadata not yet available (may take time to propagate)"
152- fi
116+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
153117
154- - name : Display deployment info
118+ - name : Verify GitHub Packages deployment
155119 run : |
156120 VERSION="${{ needs.validate-develop.outputs.snapshot-version }}"
157- echo "✅ Successfully deployed $VERSION to Maven Central Snapshots "
158- echo "📦 Available at: https://s01.oss.sonatype.org/content/repositories/snapshots/ io/logdash/logdash/$VERSION/ "
121+ echo "✅ Snapshot deployed to GitHub Packages: $VERSION "
122+ echo "📦 Available at: https://github.com/logdash- io/java-sdk/packages "
159123 echo ""
160- echo "🔍 Maven dependency:"
124+ echo "🔍 Maven dependency (requires GitHub authentication) :"
161125 echo "<dependency>"
162126 echo " <groupId>io.logdash</groupId>"
163127 echo " <artifactId>logdash</artifactId>"
164128 echo " <version>$VERSION</version>"
165129 echo "</dependency>"
166- echo ""
167- echo "🔍 Gradle dependency:"
168- echo "implementation 'io.logdash:logdash:$VERSION'"
169130
170- - name : Notify deployment status
171- if : failure()
131+ - name : Display deployment info
172132 run : |
173133 VERSION="${{ needs.validate-develop.outputs.snapshot-version }}"
174- echo "❌ Snapshot deployment failed for version $VERSION"
175- echo "Check logs above for deployment errors"
134+ echo "📋 Snapshot Deployment Summary:"
135+ echo "✅ Successfully deployed $VERSION to GitHub Packages (snapshots only)"
136+ echo "🔢 Version: $VERSION"
137+ echo "📦 Repository: https://github.com/logdash-io/java-sdk/packages"
138+ echo ""
139+ echo "⚠️ Note: GitHub Packages requires authentication even for public repos"
176140
177- github-packages-snapshot :
141+ test-examples :
178142 runs-on : ubuntu-latest
179- needs : validate-develop
180- timeout-minutes : 15
143+ needs : [ validate-develop, github-packages-snapshot ]
144+ timeout-minutes : 20
181145 if : github.ref == 'refs/heads/dev'
182146
183147 permissions :
184148 contents : read
185- packages : write
149+ packages : read
186150
187151 steps :
188152 - name : Checkout develop
@@ -196,15 +160,6 @@ jobs:
196160 java-version : ${{ env.JAVA_VERSION }}
197161 distribution : ${{ env.JAVA_DISTRIBUTION }}
198162
199- - name : Cache Maven dependencies
200- uses : actions/cache@v3
201- with :
202- path : ~/.m2/repository
203- key : ${{ runner.os }}-maven-develop-${{ hashFiles('**/pom.xml') }}
204- restore-keys : |
205- ${{ runner.os }}-maven-develop-
206- ${{ runner.os }}-maven-
207-
208163 - name : Configure Maven Settings for GitHub Packages
209164 uses : whelk-io/maven-settings-xml-action@v22
210165 with :
@@ -217,55 +172,32 @@ jobs:
217172 }
218173 ]
219174
220- - name : Deploy to GitHub Packages (Backup)
175+ - name : Test Simple Java Example with Snapshot
221176 run : |
222- mvn deploy -B --no-transfer-progress \
223- -Pgithub-release \
224- -DperformRelease=true \
225- -DskipTests=true
177+ cd examples/example-simple-java
178+ mvn clean compile -B --no-transfer-progress \
179+ -Psnapshot-repo
226180 env :
227181 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
228182
229- - name : Verify GitHub Packages deployment
183+ - name : Test Spring Boot Example with Snapshot
230184 run : |
231- VERSION="${{ needs.validate-develop.outputs.snapshot-version }}"
232- echo "✅ Backup snapshot deployed to GitHub Packages: $VERSION"
233- echo "📦 Available at: https://github.com/logdash-io/java-sdk/packages"
234-
235- verify-deployments :
236- runs-on : ubuntu-latest
237- needs : [ maven-central-snapshot, github-packages-snapshot ]
238- timeout-minutes : 10
239- if : github.ref == 'refs/heads/dev'
185+ cd examples/example-springboot
186+ mvn clean compile -B --no-transfer-progress \
187+ -Psnapshot-repo
188+ env :
189+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
240190
241- steps :
242- - name : Final verification
191+ - name : Test Check Deployed Package
243192 run : |
244- VERSION="${{ needs.validate-develop.outputs.snapshot-version }}"
245- echo "🔍 Final verification for snapshot: $VERSION"
246-
247- # Wait a bit more for propagation
248- echo "⏳ Waiting for complete propagation..."
249- sleep 10
250-
251- # Check Maven Central snapshots via OSSRH
252- METADATA_URL="https://s01.oss.sonatype.org/content/repositories/snapshots/io/logdash/logdash/$VERSION/maven-metadata.xml"
253- if curl -s -f "$METADATA_URL" > /dev/null; then
254- echo "✅ Maven Central snapshot confirmed and accessible"
255- else
256- echo "⚠️ Maven Central snapshot metadata not accessible yet"
257- fi
258-
259- echo ""
260- echo "📋 Deployment Summary:"
261- echo "🏗️ Maven Central Snapshots: ${{ needs.maven-central-snapshot.result }}"
262- echo "📦 GitHub Packages: ${{ needs.github-packages-snapshot.result }}"
263- echo "🔢 Version: $VERSION"
264- echo "🌐 Repository: https://s01.oss.sonatype.org/content/repositories/snapshots/"
193+ cd check-deployed-package
194+ mvn clean compile -B --no-transfer-progress
195+ env :
196+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
265197
266198 notification :
267199 runs-on : ubuntu-latest
268- needs : [ validate-develop, maven-central-snapshot, github-packages-snapshot, verify-deployments ]
200+ needs : [ validate-develop, github-packages-snapshot, test-examples ]
269201 if : always() && github.ref == 'refs/heads/dev'
270202
271203 steps :
@@ -280,23 +212,20 @@ jobs:
280212 echo ""
281213 echo "Job Results:"
282214 echo "✓ Validation: ${{ needs.validate-develop.result }}"
283- echo "✓ Maven Central: ${{ needs.maven-central-snapshot.result }}"
284- echo "✓ GitHub Packages: ${{ needs.github-packages-snapshot.result }}"
285- echo "✓ Verification: ${{ needs.verify-deployments.result }}"
215+ echo "✓ GitHub Packages (Snapshots): ${{ needs.github-packages-snapshot.result }}"
216+ echo "✓ Examples Testing: ${{ needs.test-examples.result }}"
286217 echo ""
287218
288- # Check overall success
289219 if [[ "${{ needs.validate-develop.result }}" == "success" &&
290- "${{ needs.maven-central -snapshot.result }}" == "success" &&
291- "${{ needs.github-packages-snapshot .result }}" == "success" ]]; then
292- echo "🎉 All snapshot deployments completed successfully!"
293- echo "📦 $VERSION is now available for testing"
220+ "${{ needs.github-packages -snapshot.result }}" == "success" &&
221+ "${{ needs.test-examples .result }}" == "success" ]]; then
222+ echo "🎉 Snapshot deployment completed successfully!"
223+ echo "📦 $VERSION is now available for testing via GitHub Packages "
294224 else
295- echo "⚠️ Some deployments may have failed. Check individual job results above."
225+ echo "⚠️ Snapshot deployment failed. Check individual job results above."
296226 fi
297227
298228 echo ""
299229 echo "🔗 Quick Access:"
300- echo "- Maven Central: https://s01.oss.sonatype.org/content/repositories/snapshots/io/logdash/logdash/$VERSION/"
301230 echo "- GitHub Packages: https://github.com/logdash-io/java-sdk/packages"
302231 echo "- Workflow: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
0 commit comments