Skip to content

Commit 7507236

Browse files
committed
feat: extract version from git tags for publish workflow
- build.gradle files now use project.findProperty('releaseVersion') with fallback - publish.yml extracts version from runtime-v*/starter-v*/plugin-v* tags - gradle-plugin-portal job uses -PreleaseVersion for build and publishPlugins
1 parent 68157c4 commit 7507236

4 files changed

Lines changed: 32 additions & 9 deletions

File tree

.github/workflows/publish.yml

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,18 @@ jobs:
3434
- name: Make gradlew executable
3535
run: chmod +x gradlew
3636

37+
- name: Extract version from tag
38+
id: version
39+
run: |
40+
if [[ "$GITHUB_REF" == refs/tags/runtime-v* ]]; then
41+
echo "VERSION=${GITHUB_REF_NAME#runtime-v}" >> $GITHUB_OUTPUT
42+
fi
43+
3744
- name: Build
38-
run: ./gradlew :python-embed-runtime:build
45+
run: ./gradlew :python-embed-runtime:build${{ steps.version.outputs.VERSION && format(' -PreleaseVersion={0}', steps.version.outputs.VERSION) || '' }}
3946

4047
- name: Publish to Maven Central
41-
run: ./gradlew :python-embed-runtime:publishToMavenCentral --no-configuration-cache
48+
run: ./gradlew :python-embed-runtime:publishToMavenCentral --no-configuration-cache${{ steps.version.outputs.VERSION && format(' -PreleaseVersion={0}', steps.version.outputs.VERSION) || '' }}
4249
env:
4350
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
4451
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
@@ -65,11 +72,18 @@ jobs:
6572
- name: Make gradlew executable
6673
run: chmod +x gradlew
6774

75+
- name: Extract version from tag
76+
id: version
77+
run: |
78+
if [[ "$GITHUB_REF" == refs/tags/starter-v* ]]; then
79+
echo "VERSION=${GITHUB_REF_NAME#starter-v}" >> $GITHUB_OUTPUT
80+
fi
81+
6882
- name: Build
69-
run: ./gradlew :python-embed-spring-boot-starter:build
83+
run: ./gradlew :python-embed-spring-boot-starter:build${{ steps.version.outputs.VERSION && format(' -PreleaseVersion={0}', steps.version.outputs.VERSION) || '' }}
7084

7185
- name: Publish to Maven Central
72-
run: ./gradlew :python-embed-spring-boot-starter:publishToMavenCentral --no-configuration-cache
86+
run: ./gradlew :python-embed-spring-boot-starter:publishToMavenCentral --no-configuration-cache${{ steps.version.outputs.VERSION && format(' -PreleaseVersion={0}', steps.version.outputs.VERSION) || '' }}
7387
env:
7488
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
7589
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
@@ -99,11 +113,20 @@ jobs:
99113
- name: Make gradlew executable
100114
run: chmod +x gradlew
101115

116+
- name: Extract version from tag
117+
id: version
118+
run: |
119+
if [[ "$GITHUB_REF" == refs/tags/plugin-v* ]]; then
120+
echo "VERSION=${GITHUB_REF_NAME#plugin-v}" >> $GITHUB_OUTPUT
121+
else
122+
echo "VERSION=1.0.1" >> $GITHUB_OUTPUT
123+
fi
124+
102125
- name: Build
103-
run: ./gradlew build
126+
run: ./gradlew build -PreleaseVersion=${{ steps.version.outputs.VERSION }}
104127

105128
- name: Publish to Gradle Plugin Portal
106-
run: ./gradlew publishPlugins
129+
run: ./gradlew publishPlugins -PreleaseVersion=${{ steps.version.outputs.VERSION }}
107130
env:
108131
GRADLE_PUBLISH_KEY: ${{ secrets.GRADLE_PUBLISH_KEY }}
109132
GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }}

python-embed-gradle-plugin/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ plugins {
33
}
44

55
group = 'io.github.howtis'
6-
version = '1.0.1'
6+
version = project.findProperty('releaseVersion') ?: '1.0.1'
77

88
repositories {
99
mavenCentral()

python-embed-runtime/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ plugins {
22
id 'io.github.howtis.python-embed'
33
}
44

5-
version = '1.0.2-SNAPSHOT'
5+
version = project.findProperty('releaseVersion') ?: '1.0.2-SNAPSHOT'
66

77
dependencies {
88
implementation 'org.msgpack:msgpack-core:0.9.8'

python-embed-spring-boot-starter/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
compileJava.options.encoding = 'UTF-8'
22
compileTestJava.options.encoding = 'UTF-8'
33

4-
version = '1.0.1'
4+
version = project.findProperty('releaseVersion') ?: '1.0.1'
55

66
dependencies {
77
implementation project(':python-embed-runtime')

0 commit comments

Comments
 (0)