Browse Source

build binaries in azure pipeline

Darien Raymond 6 years ago
parent
commit
64f18b4676
2 changed files with 43 additions and 1 deletions
  1. 1 1
      azure-pipelines.template.yml
  2. 42 0
      azure-pipelines.yml

+ 1 - 1
azure-pipelines.template.yml

@@ -22,7 +22,7 @@ jobs:
     workingDirectory: '$(system.defaultWorkingDirectory)'
     displayName: 'Fetch sources'
   - script: |
-      go test -p 1 -timeout 30m -v v2ray.com/core/... 2>&1 | $(GOBIN)/go-junit-report > report.xml
+      go test -p 1 -timeout 30m -v v2ray.com/core/... 2>&1 | $(GOBIN)/go-junit-report -set-exit-code > report.xml
     workingDirectory: '$(system.defaultWorkingDirectory)'
     displayName: 'Test & Generate Report'
     condition: in(variables['Agent.OS'], 'Linux')

+ 42 - 0
azure-pipelines.yml

@@ -1,3 +1,6 @@
+trigger:
+  batch: true
+
 jobs:
 - template: azure-pipelines.template.yml
   parameters:
@@ -28,6 +31,9 @@ jobs:
 
   steps:
   - checkout: none
+  - task: GoTool@0
+    inputs:
+      version: '1.11.5'
   - script: |
       go version
       go get -v -t -d v2ray.com/core/...
@@ -39,3 +45,39 @@ jobs:
       bash ./testing/coverage/coverall
     workingDirectory: '$(system.defaultWorkingDirectory)'
     displayName: 'Coverage'
+
+- job: make_release
+  dependsOn: linux
+  condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
+  timeoutInMinutes: 60
+
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  
+  variables:
+    GOPATH: '$(system.defaultWorkingDirectory)'
+    CODECOV_TOKEN: '$(coverage.token)'
+    BAZEL_VER: '0.22.0'
+
+  steps:
+  - checkout: none
+  - task: GoTool@0
+    inputs:
+      version: '1.11.5'
+  - script: |
+      go version
+      go get -v -t -d v2ray.com/core/...
+      go get -v -t -d v2ray.com/ext/...
+    workingDirectory: '$(system.defaultWorkingDirectory)'
+    displayName: 'Fetch sources'
+  - script: |
+      curl -L -O https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VER}/bazel-${BAZEL_VER}-installer-linux-x86_64.sh
+      chmod +x bazel-${BAZEL_VER}-installer-linux-x86_64.sh
+      ./bazel-${BAZEL_VER}-installer-linux-x86_64.sh
+    workingDirectory: '$(system.defaultWorkingDirectory)'
+    displayName: 'Install Bazel'
+  - script: |
+      cd ./src/v2ray.com/core
+      bazel build --action_env=GOPATH=$GOPATH --action_env=PATH=$PATH --action_env=GPG_PASS=${SIGN_KEY_PASS} //release:all
+    workingDirectory: '$(system.defaultWorkingDirectory)'
+    displayName: 'Build Binaries'