From c07e810296edde7c7d5d1dea6f3df8765e073619 Mon Sep 17 00:00:00 2001 From: zongz Date: Mon, 22 Apr 2024 23:11:52 +0800 Subject: [PATCH 01/14] chore: add ci to release java lib Signed-off-by: zongz --- .github/mvn-settings.xml | 11 +++++ .github/workflows/java-test.yaml | 84 ++++++++++++++++++++++++++------ java/pom.xml | 45 ++++------------- 3 files changed, 91 insertions(+), 49 deletions(-) create mode 100644 .github/mvn-settings.xml diff --git a/.github/mvn-settings.xml b/.github/mvn-settings.xml new file mode 100644 index 00000000..4a4c1419 --- /dev/null +++ b/.github/mvn-settings.xml @@ -0,0 +1,11 @@ + + + + github + ${env.GITHUB_ACTOR} + ${env.GITHUB_TOKEN} + + + \ No newline at end of file diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index da768b5d..0af311ad 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -14,9 +14,6 @@ on: - "java/**" workflow_dispatch: -permissions: - contents: read - jobs: test: permissions: @@ -50,20 +47,19 @@ jobs: env: ROOT_POM: ${{ matrix.root-pom }} steps: - - name: 'Check out repository' - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab + - uses: actions/checkout@v4 + - name: 'Set up JDK ${{ matrix.java }}' uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 with: java-version: ${{ matrix.java }} distribution: 'zulu' cache: 'maven' - server-id: sonatype-nexus-snapshots - server-username: CI_DEPLOY_USERNAME - server-password: CI_DEPLOY_PASSWORD + - uses: actions/setup-python@v5 with: python-version: '3.10' + - name: Install rust nightly toolchain uses: actions-rs/toolchain@v1 with: @@ -78,20 +74,80 @@ jobs: sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu # Setup for cargo echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV + - name: 'Test' shell: bash working-directory: java run: make test + - name: 'Build and Deploy' shell: bash working-directory: java - run: mvn clean install -DskipTests -Dcargo-build.profile=release -Djni.classifier=${{ matrix.classifier }} # && make deploy - env: - CI_DEPLOY_USERNAME: ${{ secrets.NEXUS_STAGE_DEPLOYER_USER }} - CI_DEPLOY_PASSWORD: ${{ secrets.NEXUS_STAGE_DEPLOYER_PW }} + run: | + mvn clean package -DskipTests=true -Djni.classifier=${{ matrix.classifier }} + - name: 'Upload artifact' uses: actions/upload-artifact@v3 with: - name: java-artifact-${{ matrix.classifier }} + name: kcl-lib-${{ matrix.classifier }} path: | - java/target/*.jar + java/target/classes/native + + deploy: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + needs: [ test ] + steps: + - uses: actions/checkout@v4 + + - name: Set up JDK 8 + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '8' + + - name: Download windows x86_64 lib + uses: actions/download-artifact@v3 + with: + name: kcl-lib-windows-x86_64 + path: java/native/windows-x86_64 + + - name: Download linux x86_64 lib + uses: actions/download-artifact@v3 + with: + name: kcl-lib-linux-x86_64 + path: java/native/linux-x86_64 + + - name: Download linux aarch_64 lib + uses: actions/download-artifact@v3 + with: + name: kcl-lib-linux-aarch_64 + path: java/native/linux-aarch_64 + + - name: Download darwin x86_64 lib + uses: actions/download-artifact@v3 + with: + name: kcl-lib-osx-x86_64 + path: java/native/osx-x86_64 + + - name: Download darwin aarch_64 lib + uses: actions/download-artifact@v3 + with: + name: kcl-lib-osx-aarch_64 + path: java/native/osx-aarch_64 + + - name: Deploy to Github Packages + working-directory: java + run: | + mvn clean package deploy -DskipTests=true -DserverId=github -s ../.github/mvn-settings.xml + env: + GITHUB_ACTOR: ${{ github.actor }} + GITHUB_TOKEN: ${{ github.token }} + + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: kcl-lib + path: java/target/*.jar diff --git a/java/pom.xml b/java/pom.xml index 52cc2d20..66a42bc9 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -100,6 +100,13 @@ + + native + + + native + native + src/main/resources true @@ -158,20 +165,6 @@ - org.apache.maven.plugins maven-jar-plugin @@ -180,19 +173,6 @@ default-jar - - native/** - - - - - - native-jar - - jar - - - ${jni.classifier} **/*.class native/** @@ -266,15 +246,10 @@ - - sonatype-nexus-snapshots - Sonatype Nexus Snapshots - https://oss.sonatype.org/content/repositories/snapshots/ - - sonatype-nexus-staging - Nexus Release Repository - https://oss.sonatype.org/service/local/staging/deploy/maven2/ + github + GitHub Packages + https://maven.pkg.github.com/kcl-lang/lib From 1fdf2c677b4fc38eff38cc6caebe23cda79e8860 Mon Sep 17 00:00:00 2001 From: zongz Date: Tue, 23 Apr 2024 22:32:03 +0800 Subject: [PATCH 02/14] fix: fix test Signed-off-by: zongz --- .github/workflows/java-test.yaml | 36 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index 0af311ad..5a827628 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -1,18 +1,18 @@ name: java-test -on: - push: - branches: - - main - - master - tags: - - '*' - pull_request: - branches: - - main - paths: - - "java/**" - workflow_dispatch: +on: push + # push: + # branches: + # - main + # - master + # tags: + # - '*' + # pull_request: + # branches: + # - main + # paths: + # - "java/**" + # workflow_dispatch: jobs: test: @@ -112,31 +112,31 @@ jobs: uses: actions/download-artifact@v3 with: name: kcl-lib-windows-x86_64 - path: java/native/windows-x86_64 + path: java/native - name: Download linux x86_64 lib uses: actions/download-artifact@v3 with: name: kcl-lib-linux-x86_64 - path: java/native/linux-x86_64 + path: java/native - name: Download linux aarch_64 lib uses: actions/download-artifact@v3 with: name: kcl-lib-linux-aarch_64 - path: java/native/linux-aarch_64 + path: java/native - name: Download darwin x86_64 lib uses: actions/download-artifact@v3 with: name: kcl-lib-osx-x86_64 - path: java/native/osx-x86_64 + path: java/native - name: Download darwin aarch_64 lib uses: actions/download-artifact@v3 with: name: kcl-lib-osx-aarch_64 - path: java/native/osx-aarch_64 + path: java/native - name: Deploy to Github Packages working-directory: java From 3859515f6c29d2ac0f536608f4e827dca228ed8f Mon Sep 17 00:00:00 2001 From: zongz Date: Tue, 23 Apr 2024 23:07:33 +0800 Subject: [PATCH 03/14] fix: recover comments Signed-off-by: zongz --- .github/workflows/java-test.yaml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index 5a827628..84d2d3f6 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -1,18 +1,18 @@ name: java-test -on: push - # push: - # branches: - # - main - # - master - # tags: - # - '*' - # pull_request: - # branches: - # - main - # paths: - # - "java/**" - # workflow_dispatch: +on: + push: + branches: + - main + - master + tags: + - '*' + pull_request: + branches: + - main + paths: + - "java/**" + workflow_dispatch: jobs: test: From 1608022df0469dfa0ec1749b2f61dcececb1f078 Mon Sep 17 00:00:00 2001 From: zongz Date: Wed, 24 Apr 2024 10:22:20 +0800 Subject: [PATCH 04/14] fix: add msvc in java sdk ci Signed-off-by: zongz --- .github/workflows/java-test.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index 84d2d3f6..b4086320 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -74,6 +74,10 @@ jobs: sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu # Setup for cargo echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV + + - name: Setup windows MSVC build tools + if: "contains(matrix.classifier, 'windows-x86_64')" + uses: ilammy/msvc-dev-cmd@v1 - name: 'Test' shell: bash From f99764a741e2a64be18d3b80bd2abbb1f1d17ad8 Mon Sep 17 00:00:00 2001 From: zongz Date: Wed, 24 Apr 2024 13:56:38 +0800 Subject: [PATCH 05/14] fix: bump rust version Signed-off-by: zongz --- .github/workflows/java-test.yaml | 6 +----- .github/workflows/rust-test.yaml | 2 +- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index b4086320..4bee2733 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -63,7 +63,7 @@ jobs: - name: Install rust nightly toolchain uses: actions-rs/toolchain@v1 with: - toolchain: 1.74 + toolchain: 1.77 override: true components: clippy, rustfmt @@ -75,10 +75,6 @@ jobs: # Setup for cargo echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV - - name: Setup windows MSVC build tools - if: "contains(matrix.classifier, 'windows-x86_64')" - uses: ilammy/msvc-dev-cmd@v1 - - name: 'Test' shell: bash working-directory: java diff --git a/.github/workflows/rust-test.yaml b/.github/workflows/rust-test.yaml index d3292c81..e9ff3f64 100644 --- a/.github/workflows/rust-test.yaml +++ b/.github/workflows/rust-test.yaml @@ -25,7 +25,7 @@ jobs: - name: Install rust nightly toolchain uses: actions-rs/toolchain@v1 with: - toolchain: 1.74 + toolchain: 1.77 override: true components: clippy, rustfmt - name: Rust code test From f856a7b95705ff5f6b3b75ceb6e6828a7b847384 Mon Sep 17 00:00:00 2001 From: zongz Date: Thu, 25 Apr 2024 12:09:13 +0800 Subject: [PATCH 06/14] fix: change github token and upload artifact Signed-off-by: zongz --- .github/workflows/java-test.yaml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index 4bee2733..830b2a76 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -138,16 +138,17 @@ jobs: name: kcl-lib-osx-aarch_64 path: java/native + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: kcl-lib + path: java/target/*.jar + - name: Deploy to Github Packages working-directory: java run: | mvn clean package deploy -DskipTests=true -DserverId=github -s ../.github/mvn-settings.xml env: GITHUB_ACTOR: ${{ github.actor }} - GITHUB_TOKEN: ${{ github.token }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Upload artifact - uses: actions/upload-artifact@v3 - with: - name: kcl-lib - path: java/target/*.jar From 7bdf494b5950c7f7addb32b6b37e0ba01188b679 Mon Sep 17 00:00:00 2001 From: zongz Date: Thu, 25 Apr 2024 16:02:00 +0800 Subject: [PATCH 07/14] fix: build jar Signed-off-by: zongz --- .github/workflows/java-test.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index 830b2a76..3d2d1196 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -138,6 +138,11 @@ jobs: name: kcl-lib-osx-aarch_64 path: java/native + - name: Deploy to Github Packages + working-directory: java + run: | + mvn clean package deploy -DskipTests=true + - name: Upload artifact uses: actions/upload-artifact@v3 with: From 24ea5907fa024c93efba95f87395da262733f845 Mon Sep 17 00:00:00 2001 From: zongz Date: Thu, 25 Apr 2024 16:23:06 +0800 Subject: [PATCH 08/14] fix: fix typo Signed-off-by: zongz --- .github/workflows/java-test.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index 3d2d1196..96267cc3 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -138,10 +138,10 @@ jobs: name: kcl-lib-osx-aarch_64 path: java/native - - name: Deploy to Github Packages + - name: Package Java artifact working-directory: java run: | - mvn clean package deploy -DskipTests=true + mvn clean package -DskipTests=true - name: Upload artifact uses: actions/upload-artifact@v3 From 17db8c12396e830bc37625a75c216643a6d17a6d Mon Sep 17 00:00:00 2001 From: zongz Date: Fri, 26 Apr 2024 00:29:16 +0800 Subject: [PATCH 09/14] fix: reduce lib Signed-off-by: zongz --- .github/workflows/java-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index 96267cc3..fc5ac902 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -84,7 +84,7 @@ jobs: shell: bash working-directory: java run: | - mvn clean package -DskipTests=true -Djni.classifier=${{ matrix.classifier }} + mvn clean package -DskipTests=true -Djni.classifier=${{ matrix.classifier }} -Dcargo-build.profile=release - name: 'Upload artifact' uses: actions/upload-artifact@v3 From 051fa8de48b4794ae2337d31e571c25138aafeab Mon Sep 17 00:00:00 2001 From: zongz Date: Fri, 26 Apr 2024 10:18:30 +0800 Subject: [PATCH 10/14] fix: use access token Signed-off-by: zongz --- .github/workflows/java-test.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index fc5ac902..e8168d4c 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -152,8 +152,13 @@ jobs: - name: Deploy to Github Packages working-directory: java run: | - mvn clean package deploy -DskipTests=true -DserverId=github -s ../.github/mvn-settings.xml + mvn clean package deploy \ + -DskipTests=true \ + -Djni.classifier=${{ matrix.classifier }} \ + -Dcargo-build.profile=release \ + -DserverId=github \ + -s ../.github/mvn-settings.xml env: GITHUB_ACTOR: ${{ github.actor }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.DEPLOY_ACCESS_TOKEN }} From 764680a0c713f662c19595244d87b6065cf049a9 Mon Sep 17 00:00:00 2001 From: zongz Date: Fri, 26 Apr 2024 10:45:50 +0800 Subject: [PATCH 11/14] fix: fix typo Signed-off-by: zongz --- .github/workflows/java-test.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index e8168d4c..d218db85 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -154,7 +154,6 @@ jobs: run: | mvn clean package deploy \ -DskipTests=true \ - -Djni.classifier=${{ matrix.classifier }} \ -Dcargo-build.profile=release \ -DserverId=github \ -s ../.github/mvn-settings.xml From d40620e26330fa555df628b12e1591c5592bab5b Mon Sep 17 00:00:00 2001 From: zongz Date: Fri, 26 Apr 2024 11:56:55 +0800 Subject: [PATCH 12/14] fix: make repository_owner as actor Signed-off-by: zongz --- .github/workflows/java-test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index d218db85..5d7f0a12 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -158,6 +158,6 @@ jobs: -DserverId=github \ -s ../.github/mvn-settings.xml env: - GITHUB_ACTOR: ${{ github.actor }} + GITHUB_ACTOR: ${{ github.repository_owner }} GITHUB_TOKEN: ${{ secrets.DEPLOY_ACCESS_TOKEN }} From 8f6ad920e0322c5916a6e5ce3aea59e5d0e31f82 Mon Sep 17 00:00:00 2001 From: zongz Date: Fri, 26 Apr 2024 17:56:02 +0800 Subject: [PATCH 13/14] fix: add log to test Signed-off-by: zongz --- .github/workflows/java-test.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index 5d7f0a12..5d140f03 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -149,6 +149,9 @@ jobs: name: kcl-lib path: java/target/*.jar + - name: Print repository owner + run: echo "Repository owner is ${{ github.repository_owner }} ${{ github.actor }}" + - name: Deploy to Github Packages working-directory: java run: | From e14d83262ada974f30bfed4c309fa6c30e99ff61 Mon Sep 17 00:00:00 2001 From: zongz Date: Fri, 26 Apr 2024 18:04:23 +0800 Subject: [PATCH 14/14] fix: add deploy user Signed-off-by: zongz --- .github/workflows/java-test.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml index 5d140f03..b8fa77e5 100644 --- a/.github/workflows/java-test.yaml +++ b/.github/workflows/java-test.yaml @@ -149,9 +149,6 @@ jobs: name: kcl-lib path: java/target/*.jar - - name: Print repository owner - run: echo "Repository owner is ${{ github.repository_owner }} ${{ github.actor }}" - - name: Deploy to Github Packages working-directory: java run: | @@ -161,6 +158,6 @@ jobs: -DserverId=github \ -s ../.github/mvn-settings.xml env: - GITHUB_ACTOR: ${{ github.repository_owner }} + GITHUB_ACTOR: ${{ secrets.MAVEN_DEPLOY_USER }} GITHUB_TOKEN: ${{ secrets.DEPLOY_ACCESS_TOKEN }}