From e8162e055b27b39c363bb78cee7725ef5394fba6 Mon Sep 17 00:00:00 2001 From: gsvic Date: Thu, 18 Jun 2020 16:35:23 +0300 Subject: [PATCH] GitHub Release --- azure-pipelines.yml | 177 +++++++++++++++++++++++------------ build.gradle | 2 +- ci/tiledb-java-final-jar.yml | 22 ++--- 3 files changed, 125 insertions(+), 76 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 59d11889..b388f458 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -13,65 +13,124 @@ trigger: - "*" stages: -# - stage: CI -# condition: not(startsWith(variables['Build.SourceBranch'], 'refs/tags')) -# jobs: -# - job: Windows -# strategy: -# matrix: -# VS2019: -# imageName: 'windows-2019' -# TILEDB_S3: ON -# pool: -# vmImage: $(imageName) -# steps: -# - task: Gradle@2 -# inputs: -# workingDirectory: '' -# gradleWrapperFile: 'gradlew.bat' -# gradleOptions: '-Xmx3072m' -# javaHomeOption: 'JDKVersion' -# jdkVersionOption: 'default' -# tasks: 'checkFormat assemble test' -# -# - job: Linux_OSX -# strategy: -# matrix: -# ubuntu_18: -# imageName: 'ubuntu-18.04' -# macOS: -# imageName: 'macOS-10.14' -# pool: -# vmImage: $(imageName) -# steps: -# - template: ci/tiledb-java-linux_osx.yml -# -# - stage: BuildNativeLibs -# condition: or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/tags')) -# jobs: -# - job: Linux_OSX -# strategy: -# matrix: -# ubuntu_18: -# imageName: 'ubuntu-18.04' -# macOS: -# imageName: 'macOS-10.14' -# pool: -# vmImage: $(imageName) -# steps: -# - template: ci/tiledb-java-linux_osx-release.yml -# - job: Windows -# strategy: -# matrix: -# windows_19: -# imageName: 'windows-2019' -# pool: -# vmImage: $(imageName) -# steps: -# - template: ci/tiledb-java-windows-release.yml - - - stage: Release - condition: or(eq(startsWith(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/tags')) + - stage: CI + condition: not(startsWith(variables['Build.SourceBranch'], 'refs/tags')) + jobs: + - job: Windows + strategy: + matrix: + VS2019: + imageName: 'windows-2019' + TILEDB_S3: ON + pool: + vmImage: $(imageName) + steps: + - task: Gradle@2 + inputs: + workingDirectory: '' + gradleWrapperFile: 'gradlew.bat' + gradleOptions: '-Xmx3072m' + javaHomeOption: 'JDKVersion' + jdkVersionOption: 'default' + tasks: 'checkFormat assemble test' + + - job: Linux_OSX + strategy: + matrix: + ubuntu_18: + imageName: 'ubuntu-18.04' + macOS: + imageName: 'macOS-10.14' + pool: + vmImage: $(imageName) + steps: + - template: ci/tiledb-java-linux_osx.yml + + - stage: BuildNativeLibs + condition: or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/tags')) + jobs: + - job: Linux_OSX + strategy: + matrix: + ubuntu_18: + imageName: 'ubuntu-18.04' + macOS: + imageName: 'macOS-10.14' + pool: + vmImage: $(imageName) + steps: + - template: ci/tiledb-java-linux_osx-release.yml + - job: Windows + strategy: + matrix: + windows_19: + imageName: 'windows-2019' + pool: + vmImage: $(imageName) + steps: + - template: ci/tiledb-java-windows-release.yml + + - stage: GitHubRelease + condition: startsWith(variables['Build.SourceBranch'], 'refs/tags') + jobs: + - job: All_OS + strategy: + matrix: + ubuntu_18: + imageName: 'ubuntu-18.04' + pool: + vmImage: $(imageName) + + steps: + - download: current + patterns: '**/*.tar.gz' + + - bash: | + unset SYSTEM + set +e + + mv ../libraries/* . + + mkdir -p ./build/install/lib + mkdir ./build/install/lib64 + mkdir ./build/tiledb_jni/ + mkdir ./build/tiledb_jni/Release + mkdir ./build/install/bin + + for arch in $(ls | grep .tar.gz) + do + tar -xf $arch + done + + # OSX + mv libtiledb.dylib ./build/install/lib + mv libtiledbjni.dylib ./build/tiledb_jni + + # Linux + cp libtiledb.so ./build/install/lib + mv libtiledb.so ./build/install/lib64 + mv libtiledbjni.so ./build/tiledb_jni + + # Windows + mv tbb.dll ./build/install/bin + mv tiledb.dll ./build/install/bin + mv tiledbjni.dll ./build/tiledb_jni/Release + + ./gradlew assemble + + cp build/libs/*.jar $BUILD_BINARIESDIRECTORY + + - task: GithubRelease@0 + displayName: 'GitHub Release' + inputs: + gitHubConnection: github_tiledb + repositoryName: TileDB-Inc/TileDB-Java + tag: $(Build.SourceBranchName) + action: "edit" + assets: $(Build.BinariesDirectory)/jars/*.jar + + - stage: FinalJar + condition: or( eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/tags')) jobs: - job: All_OS strategy: diff --git a/build.gradle b/build.gradle index c6dcbb43..3f207a17 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ plugins { } group 'io.tiledb' -version '0.0.1' +version '0.2.8-SNAPSHOT' repositories { jcenter() diff --git a/ci/tiledb-java-final-jar.yml b/ci/tiledb-java-final-jar.yml index 0053d6c8..6caf5ed7 100644 --- a/ci/tiledb-java-final-jar.yml +++ b/ci/tiledb-java-final-jar.yml @@ -6,7 +6,7 @@ steps: unset SYSTEM set +e - #mv ../libraries/* . + mv ../libraries/* . mkdir -p ./build/install/lib mkdir ./build/install/lib64 @@ -35,8 +35,6 @@ steps: ./gradlew assemble - PROJECT_VERSION=$(./gradlew properties -q | grep "version:" | awk '{print $2}') - cp build/libs/*.jar $BUILD_BINARIESDIRECTORY displayName: 'Building the Fat Jar' @@ -55,20 +53,12 @@ steps: condition: failed() # only run this job if the build step failed displayName: "Print log files (failed build only)" -# - task: PublishBuildArtifacts@1 -# inputs: -# pathtoPublish: $(Build.BinariesDirectory) -# artifactName: final-jar -# condition: succeeded() - - - task: GithubRelease@0 - displayName: 'GitHub Release' - condition: startsWith(variables['Build.SourceBranch'], 'refs/tags') + - task: PublishBuildArtifacts@1 inputs: - gitHubConnection: github_tiledb - repositoryName: TileDB-Inc/TileDB-Java - action: "create" - assets: $(Build.BinariesDirectory)/*.jar + pathtoPublish: $(Build.BinariesDirectory) + artifactName: final-jar + condition: succeeded() + - bash: | ./ci/upload_to_maven.sh