Skip to content

Commit 856f06c

Browse files
feat: New ci
1 parent 19eec88 commit 856f06c

2 files changed

Lines changed: 67 additions & 37 deletions

File tree

.github/workflows/ci.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: "⚙️ CI & Release Workflow"
2+
on:
3+
push:
4+
pull_request:
5+
types: [ opened, reopened ]
6+
7+
env:
8+
REGISTRY: ghcr.io
9+
JAVA_VERSION: '21'
10+
JAVA_DISTRIBUTION: 'temurin'
11+
12+
permissions:
13+
contents: write
14+
packages: write
15+
16+
jobs:
17+
test:
18+
name: ✅ Run Tests
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: 📥 Checkout Code
22+
uses: actions/checkout@v4
23+
24+
- name: ☕ Setup Java ${{ env.JAVA_VERSION }}
25+
uses: actions/setup-java@v4
26+
with:
27+
distribution: ${{ env.JAVA_DISTRIBUTION }}
28+
java-version: ${{ env.JAVA_VERSION }}
29+
30+
- name: "⚡ Setup Gradle with Cache"
31+
uses: gradle/actions/setup-gradle@v4
32+
33+
- name: "🧪 Run Unit Tests"
34+
run: ./gradlew test
35+
releaser:
36+
name: "🏁 Release"
37+
if: startsWith(github.ref, 'refs/tags/')
38+
needs:
39+
- test
40+
runs-on: ubuntu-latest
41+
steps:
42+
- name: "📥 Checkout Code (Full History)"
43+
uses: actions/checkout@v4
44+
with:
45+
fetch-depth: 0
46+
47+
- name: ☕ Setup Java ${{ env.JAVA_VERSION }}
48+
uses: actions/setup-java@v4
49+
with:
50+
distribution: ${{ env.JAVA_DISTRIBUTION }}
51+
java-version: ${{ env.JAVA_VERSION }}
52+
53+
- name: ⚡ Setup Gradle with Cache
54+
uses: gradle/actions/setup-gradle@v4
55+
56+
- name: "🚀 Publish to Maven Central"
57+
env:
58+
GPG_KEY: ${{ secrets.GPG_KEY }}
59+
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
60+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
61+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
62+
run: |
63+
RAW_TAG="${GITHUB_REF##*/}"
64+
VERSION="${RAW_TAG#v}"
65+
66+
[[ "$VERSION" =~ ^[0-9]+(\.[0-9]+)*$ ]] || exit -1
67+
./gradlew publishToCentralPortal -Pversion="$VERSION"

.github/workflows/publish.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.

0 commit comments

Comments
 (0)