1313 strategy :
1414 matrix :
1515 os : [ubuntu-latest, windows-latest, macos-latest]
16+ outputs :
17+ version : ${{ steps.get_version.outputs.VERSION }}
1618
1719 steps :
1820 - name : Checkout Code
@@ -29,47 +31,71 @@ jobs:
2931 run : mvn clean package -Puberjar -DskipTests
3032
3133 - name : Get Project Version
34+ id : get_version
3235 shell : bash
33- run : echo "VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV
36+ run : |
37+ VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
38+ echo "VERSION=$VERSION" >> $GITHUB_ENV
39+ echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
40+
41+ - name : Prepare jpackage Input
42+ shell : bash
43+ run : |
44+ mkdir package-input
45+ cp target/gemini-java-client-uber-${{ env.VERSION }}.jar package-input/
3446
3547 - name : Package Native App (jpackage)
3648 shell : bash
3749 run : |
38- # Create app image (portable folder)
39- jpackage --name "Anahata v1" \
50+ jpackage --name "Anahata-v1" \
4051 --app-version "${{ env.VERSION }}" \
41- --input target \
52+ --input package-input \
4253 --main-jar "gemini-java-client-uber-${{ env.VERSION }}.jar" \
4354 --main-class uno.anahata.ai.swing.Main \
4455 --type app-image \
45- --dest dist
56+ --dest dist \
57+ --verbose
4658
4759 # Zip/Tar the result for distribution
48- cd dist
4960 if [ "${{ matrix.os }}" == "windows-latest" ]; then
50- 7z a "../ Anahata-v1-${{ env.VERSION }}-windows.zip" "Anahata v1"
61+ 7z a "Anahata-v1-${{ env.VERSION }}-windows.zip" "./dist/ Anahata- v1"
5162 elif [ "${{ matrix.os }}" == "macos-latest" ]; then
52- zip -r "../Anahata-v1-${{ env.VERSION }}-macos.zip" "Anahata v1.app"
63+ cd dist && zip -r "../Anahata-v1-${{ env.VERSION }}-macos.zip" "Anahata- v1.app" && cd ..
5364 else
54- tar -czf "../ Anahata-v1-${{ env.VERSION }}-linux.tar.gz" "Anahata v1"
65+ tar -czf "Anahata-v1-${{ env.VERSION }}-linux.tar.gz" -C dist "Anahata- v1"
5566 fi
5667
5768 - name : Upload Artifacts
5869 uses : actions/upload-artifact@v4
5970 with :
60- name : Anahata-v1 -${{ matrix.os }}
71+ name : bin -${{ matrix.os }}
6172 path : |
6273 Anahata-v1-*.zip
6374 Anahata-v1-*.tar.gz
75+ package-input/gemini-java-client-uber-*.jar
76+
77+ release :
78+ name : Create GitHub Release
79+ needs : build
80+ if : startsWith(github.ref, 'refs/tags/')
81+ runs-on : ubuntu-latest
82+ permissions :
83+ contents : write
84+ steps :
85+ - name : Download All Artifacts
86+ uses : actions/download-artifact@v4
87+ with :
88+ path : all-artifacts
89+ pattern : bin-*
90+ merge-multiple : true
6491
6592 - name : Create Release
66- if : startsWith(github.ref, 'refs/tags/')
6793 uses : softprops/action-gh-release@v2
6894 with :
6995 files : |
70- Anahata-v1-*.zip
71- Anahata-v1-*.tar.gz
72- target /gemini-java-client-uber-${{ env.VERSION }} .jar
96+ all-artifacts/ Anahata-v1-*.zip
97+ all-artifacts/ Anahata-v1-*.tar.gz
98+ all-artifacts /gemini-java-client-uber-* .jar
7399 draft : false
74100 prerelease : false
75101 env :
0 commit comments