Skip to content

Commit c57a2e7

Browse files
authored
Merge pull request tensorflow#3 from tensorflow/master
Sync with master tensorflow on upstream
2 parents c86d09b + cb5fa96 commit c57a2e7

File tree

85 files changed

+4711
-430
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+4711
-430
lines changed

.github/workflows/ci.yml

+34-22
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@ on:
33
push:
44
branches:
55
- master
6+
- r[0-9]+.*
67
pull_request:
78
branches:
89
- master
910
types: [opened, reopened, synchronize, labeled, unlabeled]
11+
env:
12+
STAGING_PROFILE_ID: 46f80d0729c92d
13+
NATIVE_BUILD_PROJECTS: tensorflow-core/tensorflow-core-generator,tensorflow-core/tensorflow-core-api
1014
jobs:
1115
quick-build:
1216
if: github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'CI build')
@@ -19,10 +23,27 @@ jobs:
1923
git --version
2024
mvn -version
2125
mvn clean install -Pdev -B -U -e
26+
prepare:
27+
runs-on: ubuntu-latest
28+
outputs:
29+
stagingRepositoryId: ${{ steps.staging.outputs.stagingRepositoryId }}
30+
steps:
31+
- name: Create staging repository
32+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/heads/r')
33+
id: staging
34+
run: |
35+
echo "Creating staging repository with profile $STAGING_PROFILE_ID"
36+
echo "<promoteRequest><data><description>Releasing TF Java - created by CI build</description></data></promoteRequest>" > request.xml
37+
curl -X POST -d @request.xml -s -o response.xml -u ${{ secrets.CI_DEPLOY_USERNAME }}:${{ secrets.CI_DEPLOY_PASSWORD }} -H "Content-Type:application/xml" \
38+
https://oss.sonatype.org/service/local/staging/profiles/$STAGING_PROFILE_ID/start
39+
STAGING_REPOSITORY_ID=`awk -F'[<>]' '/stagedRepositoryId/{print $3}' response.xml`
40+
echo "Staging repository created: $STAGING_REPOSITORY_ID"
41+
echo "::set-output name=stagingRepositoryId::$STAGING_REPOSITORY_ID"
2242
linux-x86_64:
2343
if: github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'CI build')
2444
runs-on: ubuntu-latest
2545
container: centos:7
46+
needs: prepare
2647
strategy:
2748
matrix:
2849
ext: ["", -mkl, -gpu, -mkl-gpu]
@@ -66,11 +87,12 @@ jobs:
6687
[[ "${{ github.event_name }}" == "push" ]] && MAVEN_PHASE=deploy || MAVEN_PHASE=install
6788
echo "<settings><servers><server><id>ossrh</id><username>${{ secrets.CI_DEPLOY_USERNAME }}</username><password>${{ secrets.CI_DEPLOY_PASSWORD }}</password></server></servers></settings>" > $HOME/.m2/settings.xml
6889
echo Executing Maven $MAVEN_PHASE
69-
mvn clean $MAVEN_PHASE -Possrh -B -U -e -Djavacpp.platform=linux-x86_64 -Djavacpp.platform.extension=${{ matrix.ext }}
90+
mvn clean $MAVEN_PHASE -B -U -e -Djavacpp.platform=linux-x86_64 -Djavacpp.platform.extension=${{ matrix.ext }} -pl $NATIVE_BUILD_PROJECTS -am -DstagingRepositoryId=${{ needs.prepare.outputs.stagingRepositoryId }}
7091
df -h
7192
macosx-x86_64:
7293
if: github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'CI build')
7394
runs-on: macos-latest
95+
needs: prepare
7496
strategy:
7597
matrix:
7698
ext: ["", -mkl]
@@ -95,14 +117,15 @@ jobs:
95117
echo "<settings><servers><server><id>ossrh</id><username>${{ secrets.CI_DEPLOY_USERNAME }}</username><password>${{ secrets.CI_DEPLOY_PASSWORD }}</password></server></servers></settings>" > $HOME/.m2/settings.xml
96118
df -h
97119
echo Executing Maven $MAVEN_PHASE
98-
mvn clean $MAVEN_PHASE -Possrh -B -U -e -Djavacpp.platform=macosx-x86_64 -Djavacpp.platform.extension=${{ matrix.ext }}
120+
mvn clean $MAVEN_PHASE -B -U -e -Djavacpp.platform=macosx-x86_64 -Djavacpp.platform.extension=${{ matrix.ext }} -pl $NATIVE_BUILD_PROJECTS -am -DstagingRepositoryId=${{ needs.prepare.outputs.stagingRepositoryId }}
99121
df -h
100122
windows-x86_64:
101123
if: github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'CI build')
102124
runs-on: windows-latest
103-
# strategy:
104-
# matrix:
105-
# ext: ["", -mkl, -gpu, -mkl-gpu]
125+
needs: prepare
126+
strategy:
127+
matrix:
128+
ext: ["", -mkl] # -gpu, -mkl-gpu]
106129
steps:
107130
- name: Configure page file
108131
uses: al-cheb/[email protected]
@@ -153,29 +176,18 @@ jobs:
153176
df -h
154177
wmic pagefile list /format:list
155178
echo Executing Maven %MAVEN_PHASE%
156-
call mvn clean %MAVEN_PHASE% -Possrh -B -U -e -Djavacpp.platform=windows-x86_64 -Djavacpp.platform.extension=${{ matrix.ext }}
179+
call mvn clean %MAVEN_PHASE% -B -U -e -Djavacpp.platform=windows-x86_64 -Djavacpp.platform.extension=${{ matrix.ext }} -pl %NATIVE_BUILD_PROJECTS% -am -DstagingRepositoryId=${{ needs.prepare.outputs.stagingRepositoryId }}
157180
if ERRORLEVEL 1 exit /b
158181
df -h
159182
wmic pagefile list /format:list
160-
redeploy:
161-
if: github.event_name == 'push'
183+
deploy:
184+
if: github.event_name == 'push' && contains(github.ref, 'master')
162185
needs: [linux-x86_64, macosx-x86_64, windows-x86_64]
163186
runs-on: ubuntu-latest
164187
steps:
165188
- name: Checkout repository
166189
uses: actions/checkout@v1
167-
- name: Redeploy snapshot artifacts
190+
- name: Deploy snapshot artifacts
168191
run: |
169-
cd tensorflow-core
170-
mvn dependency:resolve -Possrh -Predeploy -N -B -U -e
171-
cp $HOME/.m2/repository/org/tensorflow/tensorflow-core-api/*-SNAPSHOT/tensorflow-core-api-*-SNAPSHOT*.jar .
172-
for f in *.jar; do
173-
if [[ $f =~ tensorflow-core-api-.*SNAPSHOT-(.*).jar ]]; then
174-
[[ -n $FILES ]] && FILES=$FILES,$f || FILES=$f
175-
[[ -n $TYPES ]] && TYPES=$TYPES,jar || TYPES=jar
176-
[[ -n $CLASSIFIERS ]] && CLASSIFIERS=$CLASSIFIERS,${BASH_REMATCH[1]} || CLASSIFIERS=${BASH_REMATCH[1]}
177-
fi
178-
done
179-
echo "<settings><servers><server><id>ossrh</id><username>${{ secrets.CI_DEPLOY_USERNAME }}</username><password>${{ secrets.CI_DEPLOY_PASSWORD }}</password></server></servers></settings>" > $HOME/.m2/settings.xml
180-
unzip -o tensorflow-core-api-*-SNAPSHOT.jar META-INF/maven/org.tensorflow/tensorflow-core-api/pom.xml
181-
mvn clean deploy -Possrh -Predeploy -N -B -U -e -Dfiles=$FILES -Dtypes=$TYPES -Dclassifiers=$CLASSIFIERS
192+
echo "<settings><servers><server><id>ossrh</id><username>${{ secrets.CI_DEPLOY_USERNAME }}</username><password>${{ secrets.CI_DEPLOY_PASSWORD }}</password></server></servers></settings>" > settings.xml
193+
bash deploy.sh

README.md

+12-10
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,12 @@ systems, you should add the following dependencies:
8585
<dependency>
8686
<groupId>org.tensorflow</groupId>
8787
<artifactId>tensorflow-core-api</artifactId>
88-
<version>0.2.0-SNAPSHOT</version>
88+
<version>0.2.0</version>
8989
</dependency>
9090
<dependency>
9191
<groupId>org.tensorflow</groupId>
9292
<artifactId>tensorflow-core-api</artifactId>
93-
<version>0.2.0-SNAPSHOT</version>
93+
<version>0.2.0</version>
9494
<classifier>linux-x86_64${javacpp.platform.extension}</classifier>
9595
</dependency>
9696
```
@@ -101,24 +101,24 @@ native dependencies as follows:
101101
<dependency>
102102
<groupId>org.tensorflow</groupId>
103103
<artifactId>tensorflow-core-api</artifactId>
104-
<version>0.2.0-SNAPSHOT</version>
104+
<version>0.2.0</version>
105105
</dependency>
106106
<dependency>
107107
<groupId>org.tensorflow</groupId>
108108
<artifactId>tensorflow-core-api</artifactId>
109-
<version>0.2.0-SNAPSHOT</version>
109+
<version>0.2.0</version>
110110
<classifier>linux-x86_64${javacpp.platform.extension}</classifier>
111111
</dependency>
112112
<dependency>
113113
<groupId>org.tensorflow</groupId>
114114
<artifactId>tensorflow-core-api</artifactId>
115-
<version>0.2.0-SNAPSHOT</version>
115+
<version>0.2.0</version>
116116
<classifier>macosx-x86_64${javacpp.platform.extension}</classifier>
117117
</dependency>
118118
<dependency>
119119
<groupId>org.tensorflow</groupId>
120120
<artifactId>tensorflow-core-api</artifactId>
121-
<version>0.2.0-SNAPSHOT</version>
121+
<version>0.2.0</version>
122122
<classifier>windows-x86_64${javacpp.platform.extension}</classifier>
123123
</dependency>
124124
```
@@ -131,7 +131,7 @@ artifact includes transitively all the artifacts above as a single dependency:
131131
<dependency>
132132
<groupId>org.tensorflow</groupId>
133133
<artifactId>tensorflow-core-platform${javacpp.platform.extension}</artifactId>
134-
<version>0.2.0-SNAPSHOT</version>
134+
<version>0.2.0</version>
135135
</dependency>
136136
```
137137

@@ -143,7 +143,7 @@ the conventions established on this page:
143143

144144
### Snapshots
145145

146-
Artifacts resulting from this repository are actually only available as snapshots and to retrieve them, you need
146+
Snapshots of TensorFlow Java artifacts are automatically distributed after each update in the code. To use them, you need
147147
to add Sonatype OSS repository in your pom.xml, like the following
148148

149149
```xml
@@ -161,7 +161,7 @@ to add Sonatype OSS repository in your pom.xml, like the following
161161
<dependency>
162162
<groupId>org.tensorflow</groupId>
163163
<artifactId>tensorflow-core-platform</artifactId>
164-
<version>0.2.0-SNAPSHOT</version>
164+
<version>0.3.0-SNAPSHOT</version>
165165
</dependency>
166166
</dependencies>
167167
```
@@ -173,7 +173,9 @@ This table shows the mapping between different version of TensorFlow for Java an
173173
| TensorFlow Java Version | TensorFlow Version |
174174
| ------------- | ------------- |
175175
| 0.1.0-SNAPSHOT | 2.2.0 |
176-
| 0.2.0-SNAPSHOT | 2.3.0 |
176+
| 0.2.0-SNAPSHOT | 2.3.1 |
177+
| 0.2.0 | 2.3.1 |
178+
| 0.3.0-SNAPSHOT | 2.3.1 |
177179

178180
## How to Contribute?
179181

0 commit comments

Comments
 (0)