Browse Source

Redo Bleeding Edge Release

Shelikhoo 6 years ago
parent
commit
1f8cb7f86c
2 changed files with 59 additions and 12 deletions
  1. 9 12
      azure-pipelines.yml
  2. 50 0
      release/bleedingrelease.sh

+ 9 - 12
azure-pipelines.yml

@@ -35,6 +35,7 @@ jobs:
 
   variables:
     CODECOV_TOKEN: '$(coverage.token)'
+    - group: GithubToken
 
   steps:
   - checkout: self
@@ -104,15 +105,11 @@ jobs:
       cp ./src/v2ray.com/core/bazel-bin/release/*.zip ./release/
     workingDirectory: '$(GOPATH)'
     displayName: 'Dump Binaries'
-
-  - task: GitHubRelease@0
-    inputs:
-      gitHubConnection: v2flybleedingedge
-      repositoryName: v2fly/v2ray-core
-      tagSource: 'manual'
-      tag: '$(Build.SourceVersion)'
-      assets: '$(GOPATH)/release/*'
-      isPreRelease: true
-      releaseNotesSource: 'input'
-      releaseNotes: 'Do not use this release unless you understand what you are doing.'
-    displayName: 'Generate Github Bleeding Edge Release'
+  - script: |
+      ./release/bleedingrelease.sh
+    workingDirectory: '$(GOPATH)'
+    displayName: 'Generate Bleeding Edge Release'
+    env:
+      GITHUB_TOKEN: $(GITHUB_TOKEN)
+      PRERELEASE: true
+      RELEASE_TAG: $(Build.SourceVersion)

+ 50 - 0
release/bleedingrelease.sh

@@ -0,0 +1,50 @@
+#!/bin/bash
+
+
+RELBODY="https://www.v2ray.com/chapter_00/01_versions.html"
+JSON_DATA=$(echo "{}" | jq -c ".tag_name=\"${RELEASE_TAG}\"")
+JSON_DATA=$(echo ${JSON_DATA} | jq -c ".prerelease=${PRERELEASE}")
+JSON_DATA=$(echo ${JSON_DATA} | jq -c ".body=\"${RELBODY}\"")
+RELEASE_ID=$(curl --data "${JSON_DATA}" -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/v2fly/V2FlyBleedingEdgeBinary/releases | jq ".id")
+
+function uploadfile() {
+  FILE=$1
+  CTYPE=$(file -b --mime-type $FILE)
+
+  sleep 1
+  curl -H "Authorization: token ${GITHUB_TOKEN}" -H "Content-Type: ${CTYPE}" --data-binary @$FILE "https://uploads.github.com/repos/v2fly/V2FlyBleedingEdgeBinary/releases/${RELEASE_ID}/assets?name=$(basename $FILE)"
+  sleep 1
+}
+
+function upload() {
+  FILE=$1
+  DGST=$1.dgst
+  openssl dgst -md5 $FILE | sed 's/([^)]*)//g' >> $DGST
+  openssl dgst -sha1 $FILE | sed 's/([^)]*)//g' >> $DGST
+  openssl dgst -sha256 $FILE | sed 's/([^)]*)//g' >> $DGST
+  openssl dgst -sha512 $FILE | sed 's/([^)]*)//g' >> $DGST
+  uploadfile $FILE
+  uploadfile $DGST
+}
+
+ART_ROOT=$GOPATH/src/v2ray.com/core/bazel-bin/release
+
+upload ${ART_ROOT}/v2ray-macos.zip
+upload ${ART_ROOT}/v2ray-windows-64.zip
+upload ${ART_ROOT}/v2ray-windows-32.zip
+upload ${ART_ROOT}/v2ray-linux-64.zip
+upload ${ART_ROOT}/v2ray-linux-32.zip
+upload ${ART_ROOT}/v2ray-linux-arm.zip
+upload ${ART_ROOT}/v2ray-linux-arm64.zip
+upload ${ART_ROOT}/v2ray-linux-mips64.zip
+upload ${ART_ROOT}/v2ray-linux-mips64le.zip
+upload ${ART_ROOT}/v2ray-linux-mips.zip
+upload ${ART_ROOT}/v2ray-linux-mipsle.zip
+upload ${ART_ROOT}/v2ray-linux-ppc64.zip
+upload ${ART_ROOT}/v2ray-linux-ppc64le.zip
+upload ${ART_ROOT}/v2ray-linux-s390x.zip
+upload ${ART_ROOT}/v2ray-freebsd-64.zip
+upload ${ART_ROOT}/v2ray-freebsd-32.zip
+upload ${ART_ROOT}/v2ray-openbsd-64.zip
+upload ${ART_ROOT}/v2ray-openbsd-32.zip
+upload ${ART_ROOT}/v2ray-dragonfly-64.zip