azure-pipelines.yml 2.7 KB

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