azure-pipelines.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. trigger:
  2. batch: true
  3. branches:
  4. include:
  5. - master
  6. - dev*
  7. - refs/tags/*
  8. jobs:
  9. - job: make_release
  10. dependsOn: linux
  11. condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
  12. timeoutInMinutes: 60
  13. pool:
  14. vmImage: 'ubuntu-latest'
  15. variables:
  16. - group: GithubToken
  17. - name: GOPATH
  18. value: '$(system.defaultWorkingDirectory)/gopath'
  19. - name: BAZEL_VER
  20. value: '0.23.0'
  21. steps:
  22. - checkout: self
  23. - task: GoTool@0
  24. inputs:
  25. version: '1.14.6'
  26. - script: |
  27. mkdir triggersrc
  28. ls -I "triggersrc" | xargs cp -rf -t triggersrc
  29. mkdir gopath
  30. displayName: Prepare Environment
  31. workingDirectory: '$(system.defaultWorkingDirectory)'
  32. - script: |
  33. sudo apt-get -y update
  34. sudo apt-get -y install jq git file pkg-config zip g++ zlib1g-dev unzip python openssl tree
  35. displayName: Apt Install
  36. - script: |
  37. go version
  38. unset GOPATH
  39. mkdir ./src
  40. mkdir ./src/v2ray.com
  41. ln -s $(pwd)/../triggersrc ./src/v2ray.com/core
  42. go get -v -t -d ./src/v2ray.com/core/...
  43. tree
  44. workingDirectory: '$(GOPATH)'
  45. displayName: 'Fetch sources'
  46. - script: |
  47. mkdir release
  48. cd src
  49. zip -9 -r ../release/src_all.zip * -x '*.git*'
  50. workingDirectory: '$(GOPATH)'
  51. displayName: 'Dump sources'
  52. - script: |
  53. curl -L -o bazel-installer.sh https://github.com/bazelbuild/bazel/releases/download/${BAZEL_VER}/bazel-${BAZEL_VER}-installer-linux-x86_64.sh
  54. chmod +x bazel-installer.sh
  55. ./bazel-installer.sh --user
  56. workingDirectory: '$(GOPATH)'
  57. displayName: 'Install Bazel'
  58. - script: |
  59. cd ./src/v2ray.com/core
  60. ./release/updatedat.sh
  61. $HOME/bin/bazel build --action_env=GOPATH=$GOPATH --action_env=PATH=$PATH --action_env=GPG_PASS=${SIGN_KEY_PASS} --action_env=SPWD=$PWD --action_env=GOCACHE=$(go env GOCACHE) --spawn_strategy local //release:all
  62. workingDirectory: '$(GOPATH)'
  63. displayName: 'Build Binaries'
  64. - script: |
  65. cp ./src/v2ray.com/core/bazel-bin/release/*.zip ./release/
  66. workingDirectory: '$(GOPATH)'
  67. displayName: 'Dump Binaries'
  68. - script: |
  69. cd ./src/v2ray.com/core
  70. echo $RELEASE_TAG
  71. ./release/bleedingrelease.sh
  72. workingDirectory: '$(GOPATH)'
  73. displayName: 'Generate Bleeding Edge Release'
  74. env:
  75. GITHUB_TOKEN: $(GITHUB_TOKEN)
  76. PRERELEASE: true
  77. RELEASE_TAG: unstable-$(Build.SourceVersion)
  78. RELEASE_SHA: $(Build.SourceVersion)
  79. TRIGGER_REASON: $(Build.SourceBranch)
  80. GITHUB_REPO_OWNER: v2fly
  81. GITHUB_REPO_NAME: v2ray-core
  82. - script: |
  83. cd ./src/v2ray.com/core
  84. echo $RELEASE_TAG
  85. ./release/tagrelease.sh
  86. workingDirectory: '$(GOPATH)'
  87. displayName: 'Generate Tag Release'
  88. env:
  89. GITHUB_TOKEN: $(GITHUB_TOKEN)
  90. PRERELEASE: true
  91. RELEASE_TAG: unstable-$(Build.SourceVersion)
  92. TRIGGER_REASON: $(Build.SourceBranch)