Skip to content

Commit 77ac9d6

Browse files
Merge pull request #249 from ricardozanini/release-workflow
Introduce Release Workflow
2 parents 46a6900 + 6e894cd commit 77ac9d6

File tree

13 files changed

+586
-341
lines changed

13 files changed

+586
-341
lines changed

.github/project.yml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
release:
2+
current-version: 5.0.0
3+
next-version: 6.0.0-SNAPSHOT

.github/workflows/maven-deploy.yml

-26
This file was deleted.

.github/workflows/maven-verify.yml

+13-15
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# This workflow will build a Java project with Maven
22
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
33

4-
name: Verify JAVA SDK
4+
name: sdk-java Verify
55

66
on:
77
push:
@@ -14,17 +14,15 @@ jobs:
1414
build:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@v2
18-
- name: Set up JDK 11
19-
uses: actions/setup-java@v1
20-
with:
21-
java-version: 11
22-
- name: Cache Maven packages
23-
uses: actions/cache@v2
24-
with:
25-
path: ~/.m2
26-
key: ${{ runner.os }}-m2-${{ hashFiles('pom.xml') }}
27-
restore-keys: ${{ runner.os }}-m2
28-
- name: Verify with Maven
29-
run: |
30-
mvn -B -f pom.xml clean install verify
17+
- uses: actions/checkout@v2
18+
19+
- name: Set up JDK 11
20+
uses: actions/setup-java@v3
21+
with:
22+
distribution: temurin
23+
java-version: 11
24+
cache: 'maven'
25+
26+
- name: Verify with Maven
27+
run: |
28+
mvn -B -f pom.xml clean install verify

.github/workflows/pre-release.yml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: sdk-java Pre Release
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- '.github/project.yml'
7+
8+
jobs:
9+
release:
10+
runs-on: ubuntu-latest
11+
name: pre release
12+
13+
steps:
14+
- uses: radcortez/project-metadata-action@master
15+
name: retrieve project metadata
16+
id: metadata
17+
with:
18+
github-token: ${{secrets.GITHUB_TOKEN}}
19+
metadata-file-path: '.github/project.yml'
20+
21+
- name: Validate version
22+
if: contains(steps.metadata.outputs.current-version, 'SNAPSHOT')
23+
run: |
24+
echo '::error::Cannot release a SNAPSHOT version.'
25+
exit 1

.github/workflows/release.yml

+58
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: sdk-java Release
2+
3+
on:
4+
pull_request:
5+
types: [closed]
6+
paths:
7+
- '.github/project.yml'
8+
9+
jobs:
10+
release:
11+
runs-on: ubuntu-latest
12+
name: release
13+
if: ${{github.event.pull_request.merged == true}}
14+
15+
steps:
16+
- uses: radcortez/project-metadata-action@main
17+
name: Retrieve project metadata
18+
id: metadata
19+
with:
20+
github-token: ${{secrets.GITHUB_TOKEN}}
21+
metadata-file-path: '.github/project.yml'
22+
23+
- uses: actions/checkout@v3
24+
25+
- name: Import GPG key
26+
id: import_gpg
27+
uses: crazy-max/ghaction-import-gpg@v5
28+
with:
29+
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
30+
passphrase: ${{ secrets.GPG_PASSPHRASE }}
31+
32+
- name: Set up JDK 11
33+
uses: actions/setup-java@v3
34+
with:
35+
distribution: temurin
36+
java-version: 11
37+
cache: 'maven'
38+
server-id: ossrh
39+
server-username: MAVEN_USERNAME
40+
server-password: MAVEN_PASSWORD
41+
42+
- name: Configure Git author
43+
run: |
44+
git config --local user.email "[email protected]"
45+
git config --local user.name "GitHub Action"
46+
47+
- name: Maven release ${{steps.metadata.outputs.current-version}}
48+
run: |
49+
mvn -B release:prepare -Prelease -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}}
50+
mvn -B release:perform -Darguments=-DperformRelease -DperformRelease -Prelease
51+
env:
52+
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
53+
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
54+
55+
- name: Push changes to ${{github.base_ref}} branch
56+
run: |
57+
git push
58+
git push origin ${{steps.metadata.outputs.current-version}}

api/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@
144144
</executions>
145145
</plugin>
146146
<plugin>
147-
<groupId>com.coveo</groupId>
147+
<groupId>com.spotify.fmt</groupId>
148148
<artifactId>fmt-maven-plugin</artifactId>
149149
<configuration>
150150
<sourceDirectory>src/main/java</sourceDirectory>

api/src/test/java/io/serverlessworkflow/api/test/MarkupToWorkflowTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import io.serverlessworkflow.api.workflow.*;
4242
import java.util.List;
4343
import java.util.Map;
44-
4544
import org.junit.jupiter.params.ParameterizedTest;
4645
import org.junit.jupiter.params.provider.ValueSource;
4746

@@ -263,7 +262,8 @@ public void testTransitions(String workflowLocation) {
263262
assertNotNull(cond2.getTransition().getProduceEvents());
264263
assertEquals(1, cond2.getTransition().getProduceEvents().size());
265264
assertNotNull(cond2.getTransition().getProduceEvents().get(0).getContextAttributes());
266-
Map<String, String> contextAttributes = cond2.getTransition().getProduceEvents().get(0).getContextAttributes();
265+
Map<String, String> contextAttributes =
266+
cond2.getTransition().getProduceEvents().get(0).getContextAttributes();
267267
assertEquals(2, contextAttributes.size());
268268
assertEquals("IN", contextAttributes.get("order_location"));
269269
assertEquals("online", contextAttributes.get("order_type"));

diagram/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@
130130
</executions>
131131
</plugin>
132132
<plugin>
133-
<groupId>com.coveo</groupId>
133+
<groupId>com.spotify.fmt</groupId>
134134
<artifactId>fmt-maven-plugin</artifactId>
135135
<configuration>
136136
<sourceDirectory>src/main/java</sourceDirectory>

0 commit comments

Comments
 (0)