9
9
jobs :
10
10
build :
11
11
runs-on : ubuntu-latest
12
-
12
+ environment : snapshot
13
13
steps :
14
14
- uses : actions/checkout@v3
15
-
16
15
- name : Set up JDK 8
17
16
uses : actions/setup-java@v3
18
17
with :
19
18
java-version : ' 8'
20
19
distribution : ' temurin'
21
20
cache : ' gradle'
22
-
23
21
- name : Setup Gradle
24
22
uses : gradle/gradle-build-action@v2
25
23
with :
26
24
cache-read-only : false
27
25
gradle-home-cache-cleanup : true
28
-
29
26
- name : Build
30
27
run : ./gradlew build
28
+ - name : Upload build artifacts
29
+ uses : actions/upload-artifact@v3
30
+ with :
31
+ name : build-artifacts
32
+ path : build/
33
+
34
+ publish :
35
+ needs : build
36
+ # if: github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master')
37
+ runs-on : ubuntu-latest
38
+ environment : production
39
+ steps :
40
+ - uses : actions/checkout@v3
41
+ - name : Set up JDK 8
42
+ uses : actions/setup-java@v3
43
+ with :
44
+ java-version : ' 8'
45
+ distribution : ' temurin'
46
+ cache : ' gradle'
47
+ - name : Setup Gradle
48
+ uses : gradle/gradle-build-action@v2
49
+ - name : Download build artifacts
50
+ uses : actions/download-artifact@v3
51
+ with :
52
+ name : build-artifacts
53
+ path : build/
54
+ # - name: Set release version
55
+ # run: |
56
+ # # Remove -SNAPSHOT from version
57
+ # sed -i 's/\(version "[0-9.]*\)-SNAPSHOT"/\1"/' build.gradle
58
+ - name : Publish package
59
+ env :
60
+ SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
61
+ SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
62
+ SIGNING_KEY_ID : ${{ secrets.SIGNING_KEY_ID }}
63
+ SIGNING_PASSWORD : ${{ secrets.SIGNING_PASSWORD }}
64
+ SIGNING_KEY : ${{ secrets.SIGNING_KEY }}
65
+ run : |
66
+ echo "${{ secrets.SIGNING_KEY }}" | base64 -d > signing.gpg
67
+ ./gradlew uploadArchives -Psigning.secretKeyRingFile=$(pwd)/signing.gpg -Psigning.keyId=$SIGNING_KEY_ID -Psigning.password=$SIGNING_PASSWORD
68
+ - name : Bump version
69
+ id : bump_version
70
+ run : |
71
+ # Get current version without SNAPSHOT
72
+ CURRENT_VERSION=$(grep "version" build.gradle | sed 's/version "\(.*\)"/\1/')
73
+
74
+ # Split into parts
75
+ IFS='.' read -ra VERSION_PARTS <<< "$CURRENT_VERSION"
76
+
77
+ # Increment patch version
78
+ NEXT_PATCH=$((VERSION_PARTS[2] + 1))
79
+
80
+ # Create new version
81
+ NEXT_VERSION="${VERSION_PARTS[0]}.${VERSION_PARTS[1]}.$NEXT_PATCH-SNAPSHOT"
82
+
83
+ # Update build.gradle
84
+ sed -i "s/version \".*\"/version \"$NEXT_VERSION\"/" build.gradle
85
+
86
+ # Make the new version available to other steps
87
+ echo "next_version=$NEXT_VERSION" >> $GITHUB_OUTPUT
88
+ - name : Commit version bump
89
+ env :
90
+ NEXT_VERSION : ${{ steps.bump_version.outputs.next_version }}
91
+ run : |
92
+ git config user.name "github-actions[bot]"
93
+ git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
94
+ git add --all
95
+ git commit -m "Prepare version $NEXT_VERSION for development [skip ci]"
96
+ git push
0 commit comments