diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 19c425eacf0..d43027f4c10 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -89,10 +89,17 @@ jobs:
mvn -version
echo "central${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml
mvn clean install -pl '!tensorflow-framework' -B -U -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }}
- - name: Deploy native artifact
+ - name: Build native artifact
if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true'
-# run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy:deploy-file@native-only -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} -Durl=${{ needs.prepare.outputs.repositoryUrl }}
run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }}
+ - name: Upload native artifact
+ if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true'
+ uses: actions/upload-artifact@v4
+ with:
+ name: native-artifact-${{ github.job }}${{ matrix.ext }}
+ path: tensorflow-core/tensorflow-core-native/target/*.zip
+ if-no-files-found: error
+ retention-days: 1
linux-x86_64:
runs-on: ubuntu-22.04
needs: prepare
@@ -113,10 +120,17 @@ jobs:
mvn -version
echo "central${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml
mvn clean install -pl '!tensorflow-framework' -B -U -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }}
- - name: Deploy native artifact
+ - name: Build native artifact
if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true'
- # run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy:deploy-file@native-only -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} -Durl=${{ needs.prepare.outputs.repositoryUrl }}
run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }}
+ - name: Upload native artifact
+ if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true'
+ uses: actions/upload-artifact@v4
+ with:
+ name: native-artifact-${{ github.job }}${{ matrix.ext }}
+ path: tensorflow-core/tensorflow-core-native/target/*.zip
+ if-no-files-found: error
+ retention-days: 1
macosx-arm64:
runs-on: macos-14
needs: prepare
@@ -138,10 +152,18 @@ jobs:
mvn -version
echo "central${{ secrets.CI_DEPLOY_USERNAME }}${{ secrets.CI_DEPLOY_PASSWORD }}" > $HOME/.m2/settings.xml
mvn clean install -pl '!tensorflow-framework' -B -U -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }}
- - name: Deploy native artifact
+ - name: Build native artifact
if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true'
- # run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy:deploy-file@native-only -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }} -Durl=${{ needs.prepare.outputs.repositoryUrl }}
run: mvn -f tensorflow-core/tensorflow-core-native/pom.xml deploy -B -e -Djavacpp.platform=${{ github.job }} -Djavacpp.platform.extension=${{ matrix.ext }}
+ - name: Upload native artifact
+ if: env.DEPLOY_RELEASE == 'true' || env.DEPLOY_SNAPSHOT == 'true'
+ uses: actions/upload-artifact@v4
+ with:
+ name: native-artifact-${{ github.job }}${{ matrix.ext }}
+ path: tensorflow-core/tensorflow-core-native/target/*.zip
+ if-no-files-found: error
+ retention-days: 1
+
deploy:
if: ${{ github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/staging') }} # DEPLOY_SNAPSHOT (releases should be signed and deployed manually from local machine)
needs: [linux-x86_64, macosx-arm64, linux-arm64]
@@ -154,6 +176,12 @@ jobs:
java-version: '11'
- name: Checkout repository
uses: actions/checkout@v6
+ - name: Download native artifacts
+ uses: actions/download-artifact@v8
+ with:
+ pattern: native-artifact-*
+ path: tensorflow-core/tensorflow-core-native/target
+ merge-multiple: true
- name: Build project
run: |
java -version
diff --git a/pom.xml b/pom.xml
index 198ee0f3b5a..e0bf50f0909 100644
--- a/pom.xml
+++ b/pom.xml
@@ -601,12 +601,6 @@
org.sonatype.central
central-publishing-maven-plugin
- 0.10.0
- true
-
- central
- true
-
@@ -628,6 +622,15 @@
false
+
+ org.sonatype.central
+ central-publishing-maven-plugin
+ 0.10.0
+ true
+
+ central
+
+
diff --git a/tensorflow-core/tensorflow-core-native/pom.xml b/tensorflow-core/tensorflow-core-native/pom.xml
index db40c870bd8..fe96d310402 100644
--- a/tensorflow-core/tensorflow-core-native/pom.xml
+++ b/tensorflow-core/tensorflow-core-native/pom.xml
@@ -85,51 +85,51 @@
-
- maven-dependency-plugin
- 3.6.1
-
-
- copy-native-artifacts
- validate
-
- copy
-
-
- ${project.build.directory}
- true
- true
- true
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${javacpp.platform.linux-x86_64}
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${javacpp.platform.linux-x86_64}-gpu
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${javacpp.platform.macosx-arm64}
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${javacpp.platform.linux-arm64}
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
org.codehaus.mojo
build-helper-maven-plugin
@@ -565,32 +565,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- maven-deploy-plugin
- 3.1.1
-
-
-
- native-only
-
- deploy-file
-
-
-
- ${project.build.directory}/${project.artifactId}-${project.version}-${native.classifier}.jar
- central
- ${project.groupId}
- ${project.artifactId}
- ${native.classifier}
- pom.xml
- false
-
-
-
+ org.sonatype.central
+ central-publishing-maven-plugin
+
+ true
+ ${project.artifactId}-${project.version}-${native.classifier}.zip
+