1414 - " java/**"
1515 workflow_dispatch :
1616
17- permissions :
18- contents : read
19-
2017jobs :
2118 test :
2219 permissions :
@@ -50,24 +47,23 @@ jobs:
5047 env :
5148 ROOT_POM : ${{ matrix.root-pom }}
5249 steps :
53- - name : ' Check out repository '
54- uses : actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
50+ - uses : actions/checkout@v4
51+
5552 - name : ' Set up JDK ${{ matrix.java }}'
5653 uses : actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2
5754 with :
5855 java-version : ${{ matrix.java }}
5956 distribution : ' zulu'
6057 cache : ' maven'
61- server-id : sonatype-nexus-snapshots
62- server-username : CI_DEPLOY_USERNAME
63- server-password : CI_DEPLOY_PASSWORD
58+
6459 - uses : actions/setup-python@v5
6560 with :
6661 python-version : ' 3.10'
62+
6763 - name : Install rust nightly toolchain
6864 uses : actions-rs/toolchain@v1
6965 with :
70- toolchain : 1.74
66+ toolchain : 1.77
7167 override : true
7268 components : clippy, rustfmt
7369
@@ -78,20 +74,90 @@ jobs:
7874 sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
7975 # Setup for cargo
8076 echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
77+
8178 - name : ' Test'
8279 shell : bash
8380 working-directory : java
8481 run : make test
82+
8583 - name : ' Build and Deploy'
8684 shell : bash
8785 working-directory : java
88- run : mvn clean install -DskipTests -Dcargo-build.profile=release -Djni.classifier=${{ matrix.classifier }} # && make deploy
89- env :
90- CI_DEPLOY_USERNAME : ${{ secrets.NEXUS_STAGE_DEPLOYER_USER }}
91- CI_DEPLOY_PASSWORD : ${{ secrets.NEXUS_STAGE_DEPLOYER_PW }}
86+ run : |
87+ mvn clean package -DskipTests=true -Djni.classifier=${{ matrix.classifier }} -Dcargo-build.profile=release
88+
9289 - name : ' Upload artifact'
9390 uses : actions/upload-artifact@v3
9491 with :
95- name : java-artifact -${{ matrix.classifier }}
92+ name : kcl-lib -${{ matrix.classifier }}
9693 path : |
97- java/target/*.jar
94+ java/target/classes/native
95+
96+ deploy :
97+ runs-on : ubuntu-latest
98+ permissions :
99+ contents : read
100+ packages : write
101+ needs : [ test ]
102+ steps :
103+ - uses : actions/checkout@v4
104+
105+ - name : Set up JDK 8
106+ uses : actions/setup-java@v4
107+ with :
108+ distribution : ' temurin'
109+ java-version : ' 8'
110+
111+ - name : Download windows x86_64 lib
112+ uses : actions/download-artifact@v3
113+ with :
114+ name : kcl-lib-windows-x86_64
115+ path : java/native
116+
117+ - name : Download linux x86_64 lib
118+ uses : actions/download-artifact@v3
119+ with :
120+ name : kcl-lib-linux-x86_64
121+ path : java/native
122+
123+ - name : Download linux aarch_64 lib
124+ uses : actions/download-artifact@v3
125+ with :
126+ name : kcl-lib-linux-aarch_64
127+ path : java/native
128+
129+ - name : Download darwin x86_64 lib
130+ uses : actions/download-artifact@v3
131+ with :
132+ name : kcl-lib-osx-x86_64
133+ path : java/native
134+
135+ - name : Download darwin aarch_64 lib
136+ uses : actions/download-artifact@v3
137+ with :
138+ name : kcl-lib-osx-aarch_64
139+ path : java/native
140+
141+ - name : Package Java artifact
142+ working-directory : java
143+ run : |
144+ mvn clean package -DskipTests=true
145+
146+ - name : Upload artifact
147+ uses : actions/upload-artifact@v3
148+ with :
149+ name : kcl-lib
150+ path : java/target/*.jar
151+
152+ - name : Deploy to Github Packages
153+ working-directory : java
154+ run : |
155+ mvn clean package deploy \
156+ -DskipTests=true \
157+ -Dcargo-build.profile=release \
158+ -DserverId=github \
159+ -s ../.github/mvn-settings.xml
160+ env :
161+ GITHUB_ACTOR : ${{ secrets.MAVEN_DEPLOY_USER }}
162+ GITHUB_TOKEN : ${{ secrets.DEPLOY_ACCESS_TOKEN }}
163+
0 commit comments