From dabeb4f7dfe8cee20bbc9f4f0be013a7a3ff3838 Mon Sep 17 00:00:00 2001 From: sboukhetta Date: Tue, 6 Aug 2024 12:52:25 +0200 Subject: [PATCH 01/12] ci: add java package --- .github/workflows/publish-edge.yml | 22 ++++++++++++++++++++++ .github/workflows/release.yml | 21 +++++++++++++++++++++ packages/java/pom.xml | 10 ++++++++-- 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-edge.yml b/.github/workflows/publish-edge.yml index ebbcc9ec0..c7c734a96 100644 --- a/.github/workflows/publish-edge.yml +++ b/.github/workflows/publish-edge.yml @@ -250,3 +250,25 @@ jobs: path: packages/cpp/tools/packaging/*.${{ matrix.type }} name: libarmonik.${{ matrix.type }} # TODO Upload to a more permanent storage + + release-java-package: + needs: [version] + runs-on: ubuntu-latest + defaults: + run: + working-directory: packages/java + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + - name: Set up Maven Central Repository + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'temurin' + server-id: ossrh + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + - name: Publish package + run: mvn --batch-mode deploy -Dversion=${{ needs.version.outputs.version }} + env: + MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b41e31fb0..79532655a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -206,6 +206,27 @@ jobs: run: | gh release upload ${{ github.ref_name }} packages/cpp/tools/packaging/*.${{ matrix.type }} + release-java-package: + needs: [verify-versions] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + - name: Set up Maven Central Repository + uses: actions/setup-java@v4 + with: + java-version: '11' + distribution: 'temurin' + server-id: ossrh + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + - name: Publish package + run: | + cd packages/java + mvn --batch-mode deploy + env: + MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} + update-changelog: needs: [verify-versions] runs-on: ubuntu-latest diff --git a/packages/java/pom.xml b/packages/java/pom.xml index 45c41e740..4acae7462 100644 --- a/packages/java/pom.xml +++ b/packages/java/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - org.aneo + fr.aneo armonik-java GRPC java binding for the Armonik orchestrator API 0.1.0 @@ -133,5 +133,11 @@ - + + + ossrh + Central Repository OSSRH + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + From 3df13189e9f11f105ab400c102cdf2acc9fb2b47 Mon Sep 17 00:00:00 2001 From: sboukhetta Date: Tue, 6 Aug 2024 13:14:44 +0200 Subject: [PATCH 02/12] ci: update java version --- .github/workflows/publish-edge.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-edge.yml b/.github/workflows/publish-edge.yml index c7c734a96..2e1890830 100644 --- a/.github/workflows/publish-edge.yml +++ b/.github/workflows/publish-edge.yml @@ -262,7 +262,7 @@ jobs: - name: Set up Maven Central Repository uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'temurin' server-id: ossrh server-username: MAVEN_USERNAME diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 79532655a..0aaada457 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -214,7 +214,7 @@ jobs: - name: Set up Maven Central Repository uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '17' distribution: 'temurin' server-id: ossrh server-username: MAVEN_USERNAME From c36f4f0fca6ec21187fd5b21372606c968d86d4f Mon Sep 17 00:00:00 2001 From: sboukhetta Date: Wed, 7 Aug 2024 16:21:19 +0200 Subject: [PATCH 03/12] ci: use central unstead of ossrh --- .github/workflows/publish-edge.yml | 2 +- .github/workflows/release.yml | 4 ++-- packages/java/pom.xml | 13 +++++++++++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish-edge.yml b/.github/workflows/publish-edge.yml index 2e1890830..5a0d0310a 100644 --- a/.github/workflows/publish-edge.yml +++ b/.github/workflows/publish-edge.yml @@ -264,7 +264,7 @@ jobs: with: java-version: '17' distribution: 'temurin' - server-id: ossrh + server-id: central server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD - name: Publish package diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0aaada457..c6cf81ca0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -216,13 +216,13 @@ jobs: with: java-version: '17' distribution: 'temurin' - server-id: ossrh + server-id: central server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD - name: Publish package run: | cd packages/java - mvn --batch-mode deploy + mvn --batch-mode deploy -DskipTests env: MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} diff --git a/packages/java/pom.xml b/packages/java/pom.xml index 4acae7462..4cf6e1cf2 100644 --- a/packages/java/pom.xml +++ b/packages/java/pom.xml @@ -131,13 +131,22 @@ + + org.sonatype.central + central-publishing-maven-plugin + 0.5.0 + true + + central + + - + From 772914af5686c0de9bbd639cc5557a2404d2e890 Mon Sep 17 00:00:00 2001 From: sboukhetta Date: Fri, 9 Aug 2024 11:10:16 +0200 Subject: [PATCH 04/12] ci: Add gpg signing key to java release --- .github/workflows/publish-edge.yml | 3 ++ .github/workflows/release.yml | 3 ++ packages/java/pom.xml | 55 +++++++++++++++++++++++++++++- 3 files changed, 60 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-edge.yml b/.github/workflows/publish-edge.yml index 5a0d0310a..fc32ae550 100644 --- a/.github/workflows/publish-edge.yml +++ b/.github/workflows/publish-edge.yml @@ -267,8 +267,11 @@ jobs: server-id: central server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD + gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Publish package run: mvn --batch-mode deploy -Dversion=${{ needs.version.outputs.version }} env: MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_SIGNING_KEY_PASSWORD }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c6cf81ca0..f2ba0a0f3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -219,6 +219,8 @@ jobs: server-id: central server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD + gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Publish package run: | cd packages/java @@ -226,6 +228,7 @@ jobs: env: MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} + MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_SIGNING_KEY_PASSWORD }} update-changelog: needs: [verify-versions] diff --git a/packages/java/pom.xml b/packages/java/pom.xml index 4cf6e1cf2..7ee249403 100644 --- a/packages/java/pom.xml +++ b/packages/java/pom.xml @@ -137,9 +137,62 @@ 0.5.0 true - central + central + true + true + + org.apache.maven.plugins + maven-source-plugin + 3.3.0 + + + attach-sources + verify + + jar-no-fork + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.6.3 + + + attach-javadoc + + jar + + + + + java + none + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.1.0 + + + sign-artifacts + verify + + sign + + + + + + --pinentry-mode + loopback + + + From 9722416caceb21326b6220b81b97bc6354b303bf Mon Sep 17 00:00:00 2001 From: sboukhetta Date: Mon, 12 Aug 2024 15:04:00 +0200 Subject: [PATCH 09/12] java: Add Hassan to Developers --- packages/java/pom.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/java/pom.xml b/packages/java/pom.xml index 5ca9ef8a4..226727f62 100644 --- a/packages/java/pom.xml +++ b/packages/java/pom.xml @@ -13,10 +13,14 @@ https://github.com/aneoconsulting/ArmoniK.Api - + Junior DONGO jdongo@aneo.fr + + Hassan EL-MZABI + elmzabi.hassan18@gmail.com + Salah Eddine BOUKHETTA sboukhetta@aneo.fr From 78f5ab2bbb0862c57fe6c85848a72444228f77da Mon Sep 17 00:00:00 2001 From: sboukhetta Date: Mon, 12 Aug 2024 15:53:38 +0200 Subject: [PATCH 10/12] ci: update java release to use the right version --- .github/workflows/publish-edge.yml | 3 +-- packages/java/pom.xml | 7 ++++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish-edge.yml b/.github/workflows/publish-edge.yml index 2afc91c8f..717240725 100644 --- a/.github/workflows/publish-edge.yml +++ b/.github/workflows/publish-edge.yml @@ -253,7 +253,6 @@ jobs: release-java-package: needs: [version] - if: github.ref == 'refs/heads/main' name: Release Java Package runs-on: ubuntu-latest defaults: @@ -272,7 +271,7 @@ jobs: gpg-private-key: ${{ secrets.GPG_SIGNING_KEY }} gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Publish package - run: mvn --batch-mode deploy -Dversion=${{ needs.version.outputs.version }} + run: mvn --batch-mode deploy versions:set -DnewVersion=${{ needs.version.outputs.version }} env: MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} diff --git a/packages/java/pom.xml b/packages/java/pom.xml index 226727f62..9508a3dde 100644 --- a/packages/java/pom.xml +++ b/packages/java/pom.xml @@ -7,7 +7,7 @@ fr.aneo armonik-java GRPC java binding for the Armonik orchestrator API - 0.1.0 + 3.19.0 armonik-java https://github.com/aneoconsulting/ArmoniK.Api @@ -164,6 +164,11 @@ + + org.codehaus.mojo + versions-maven-plugin + 2.17.1 + org.sonatype.central central-publishing-maven-plugin From 37188cd339dd2e2c000fbd21a543f30db25a3558 Mon Sep 17 00:00:00 2001 From: sboukhetta Date: Wed, 11 Sep 2024 16:11:40 +0200 Subject: [PATCH 11/12] Handle versions for java --- scripts/update-versions.ts | 5 +++++ scripts/verify-versions.ts | 4 ++++ scripts/versions/_contants.ts | 3 +++ 3 files changed, 12 insertions(+) diff --git a/scripts/update-versions.ts b/scripts/update-versions.ts index 05a55f902..ec9ee28f6 100644 --- a/scripts/update-versions.ts +++ b/scripts/update-versions.ts @@ -9,6 +9,8 @@ import { csharpPatternVersion, jsFiles, jsPattern, + javaFiles, + javaPattern, } from './versions/_contants' const [, , ...args] = process.argv @@ -36,3 +38,6 @@ jsFiles.forEach(_readAndReplace(jsPattern, `"version": "${version}"`)) consola.info('Updating cpp projects to ', version) cppFiles.forEach(_readAndReplace(cppPattern, `set(version ${version})`)) + +consola.info('Updating java projects to ', version) +javaFiles.forEach(_readAndReplace(javaPattern, `${version}`)) diff --git a/scripts/verify-versions.ts b/scripts/verify-versions.ts index ae7b4ef02..9b0660c96 100644 --- a/scripts/verify-versions.ts +++ b/scripts/verify-versions.ts @@ -8,6 +8,8 @@ import { csharpPatternVersion, jsFiles, jsPattern, + javaFiles, + javaPattern, } from './versions/_contants' import { _readAndFind } from './versions/_readAndFind' @@ -22,6 +24,8 @@ consola.info('Finding C# projects versions') csharpFiles.forEach(_readAndFind(csharpPatternVersion, versions)) consola.info('Finding Cpp projects versions') cppFiles.forEach(_readAndFind(cppPattern, versions)) +consola.info('Finding java projects versions') +javaFiles.forEach(_readAndFind(javaPattern, versions)) const versionsArray = [...versions.values()] const uniqueVersions = [...new Set(versionsArray)] diff --git a/scripts/versions/_contants.ts b/scripts/versions/_contants.ts index 268e4bb8d..8dd403904 100644 --- a/scripts/versions/_contants.ts +++ b/scripts/versions/_contants.ts @@ -12,3 +12,6 @@ export const jsFiles = ['packages/angular/projects/aneoconsultingfr/armonik.api. export const cppPattern = /set\(version (?.*)\)/ export const cppFiles = ['packages/cpp/CMakeLists.txt'] + +export const javaPattern = /(?.*)<\/version>/ +export const javaFiles = ['packages/java/pom.xml'] From fc0eaac77187f6544b60fbc5be618577290db4aa Mon Sep 17 00:00:00 2001 From: sboukhetta Date: Wed, 11 Sep 2024 16:41:58 +0200 Subject: [PATCH 12/12] Fix: correct java version and lintJS --- packages/java/pom.xml | 2 +- scripts/update-versions.ts | 4 ++-- scripts/verify-versions.ts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/java/pom.xml b/packages/java/pom.xml index 9508a3dde..d7ed30526 100644 --- a/packages/java/pom.xml +++ b/packages/java/pom.xml @@ -7,7 +7,7 @@ fr.aneo armonik-java GRPC java binding for the Armonik orchestrator API - 3.19.0 + 3.21.0 armonik-java https://github.com/aneoconsulting/ArmoniK.Api diff --git a/scripts/update-versions.ts b/scripts/update-versions.ts index ec9ee28f6..01f6fd26d 100644 --- a/scripts/update-versions.ts +++ b/scripts/update-versions.ts @@ -7,10 +7,10 @@ import { csharpFiles, csharpPatternPackageVersion, csharpPatternVersion, - jsFiles, - jsPattern, javaFiles, javaPattern, + jsFiles, + jsPattern, } from './versions/_contants' const [, , ...args] = process.argv diff --git a/scripts/verify-versions.ts b/scripts/verify-versions.ts index 9b0660c96..dc51ada28 100644 --- a/scripts/verify-versions.ts +++ b/scripts/verify-versions.ts @@ -6,10 +6,10 @@ import { csharpFiles, csharpPatternPackageVersion, csharpPatternVersion, - jsFiles, - jsPattern, javaFiles, javaPattern, + jsFiles, + jsPattern, } from './versions/_contants' import { _readAndFind } from './versions/_readAndFind'