mirror of
https://github.com/v2fly/v2ray-core.git
synced 2025-02-20 23:47:21 -05:00
Merge branch 'master' into v5
This commit is contained in:
commit
e35d04f557
81
.github/workflows/release.yml
vendored
Normal file
81
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [prereleased]
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- v*
|
||||
- dev*
|
||||
paths:
|
||||
- "**/*.go"
|
||||
- "go.mod"
|
||||
- "go.sum"
|
||||
- ".github/workflows/*.yml"
|
||||
- ".github/workflows/*.yaml"
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
paths:
|
||||
- "**/*.go"
|
||||
- "go.mod"
|
||||
- "go.sum"
|
||||
- ".github/workflows/*.yml"
|
||||
- ".github/workflows/*.yaml"
|
||||
|
||||
jobs:
|
||||
release:
|
||||
if: github.repository != 'v2ray/v2ray-core'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set up Go 1.x
|
||||
uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: 1.15
|
||||
|
||||
- name: Checkout codebase
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Get project dependencies
|
||||
run: go mod download
|
||||
|
||||
- name: Set variables
|
||||
run: |
|
||||
echo "BleedingReleaseTag=$(date +%Y%m%d%H%M%S)" >> $GITHUB_ENV
|
||||
echo "TagReleaseTag=$(git describe --tags $(git rev-list --tags --max-count=1))" >> $GITHUB_ENV
|
||||
shell: bash
|
||||
|
||||
- name: Build binaries
|
||||
run: bazel build --action_env=PATH=$PATH --action_env=GOPATH=$(go env GOPATH) --action_env=GOCACHE=$(go env GOCACHE) --action_env=SPWD=$(pwd) --spawn_strategy local //release:all
|
||||
|
||||
- name: Upload binaries to repo "v2fly/V2FlyBleedingEdgeBinary"
|
||||
if: github.event_name != 'release' && github.repository == 'v2fly/v2ray-core'
|
||||
env:
|
||||
IsBleedingRelease: true
|
||||
WORKDIR: ${{ github.workspace }}
|
||||
PRERELEASE: true
|
||||
RELEASE_SHA: ${{ github.sha }}
|
||||
RELEASE_TAG: ${{ env.BleedingReleaseTag }}
|
||||
UPLOAD_REPO: v2fly/V2FlyBleedingEdgeBinary
|
||||
PERSONAL_TOKEN: ${{ secrets.BLEEDINGEDGEBINARY_REPO_TOKEN }}
|
||||
COMMENT_TARGETTED_REPO_OWNER: v2fly
|
||||
COMMENT_TARGETTED_REPO_NAME: v2ray-core
|
||||
run: |
|
||||
chmod u+x ./release/release.sh
|
||||
./release/release.sh
|
||||
|
||||
- name: Upload binaries to current repo
|
||||
if: github.event_name == 'release'
|
||||
env:
|
||||
IsBleedingRelease: false
|
||||
WORKDIR: ${{ github.workspace }}
|
||||
PRERELEASE: true
|
||||
RELEASE_SHA: ${{ github.sha }}
|
||||
RELEASE_TAG: ${{ env.TagReleaseTag }}
|
||||
UPLOAD_REPO: ${{ github.repository }}
|
||||
PERSONAL_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
chmod u+x ./release/release.sh
|
||||
./release/release.sh
|
@ -1,54 +0,0 @@
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- master
|
||||
- dev*
|
||||
- refs/tags/*
|
||||
|
||||
pool:
|
||||
vmImage: "ubuntu-latest"
|
||||
|
||||
variables:
|
||||
- group: GithubToken
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
- task: GoTool@0
|
||||
inputs:
|
||||
version: "1.15.5"
|
||||
- script: |
|
||||
go version
|
||||
go mod download
|
||||
workingDirectory: $(system.defaultWorkingDirectory)
|
||||
displayName: "Fetch sources"
|
||||
- script: |
|
||||
bazel build --action_env=PATH=$PATH --action_env=GOPATH=$(go env GOPATH) --action_env=GOCACHE=$(go env GOCACHE) --action_env=SPWD=$(pwd) --spawn_strategy local //release:all
|
||||
workingDirectory: $(system.defaultWorkingDirectory)
|
||||
displayName: "Build Binaries"
|
||||
- script: |
|
||||
echo $RELEASE_TAG
|
||||
./release/bleedingrelease.sh
|
||||
workingDirectory: $(system.defaultWorkingDirectory)
|
||||
displayName: "Generate Bleeding Edge Release"
|
||||
env:
|
||||
WORKDIR: $(system.defaultWorkingDirectory)
|
||||
PERSONAL_TOKEN: $(GITHUB_TOKEN)
|
||||
PRERELEASE: true
|
||||
RELEASE_TAG: unstable-$(Build.SourceVersion)
|
||||
RELEASE_SHA: $(Build.SourceVersion)
|
||||
TRIGGER_REASON: $(Build.SourceBranch)
|
||||
COMMENT_TARGETTED_REPO_OWNER: v2fly
|
||||
COMMENT_TARGETTED_REPO_NAME: v2ray-core
|
||||
- script: |
|
||||
echo $RELEASE_TAG
|
||||
./release/tagrelease.sh
|
||||
workingDirectory: $(system.defaultWorkingDirectory)
|
||||
displayName: "Generate Tag Release"
|
||||
env:
|
||||
WORKDIR: $(system.defaultWorkingDirectory)
|
||||
PERSONAL_TOKEN: $(GITHUB_TOKEN)
|
||||
PRERELEASE: true
|
||||
RELEASE_TAG: unstable-$(Build.SourceVersion)
|
||||
RELEASE_SHA: $(Build.SourceVersion)
|
||||
TRIGGER_REASON: $(Build.SourceBranch)
|
12
go.mod
12
go.mod
@ -6,19 +6,19 @@ require (
|
||||
github.com/dgryski/go-metro v0.0.0-20200812162917-85c65e2d0165 // indirect
|
||||
github.com/golang/mock v1.4.4
|
||||
github.com/golang/protobuf v1.4.3
|
||||
github.com/google/go-cmp v0.5.3
|
||||
github.com/google/go-cmp v0.5.4
|
||||
github.com/gorilla/websocket v1.4.2
|
||||
github.com/lucas-clemente/quic-go v0.19.2
|
||||
github.com/miekg/dns v1.1.35
|
||||
github.com/pires/go-proxyproto v0.3.2
|
||||
github.com/seiflotfy/cuckoofilter v0.0.0-20201009151232-afb285a456ab
|
||||
github.com/stretchr/testify v1.6.1
|
||||
github.com/v2fly/VSign v0.0.0-20201107160721-6e7f92656885
|
||||
go.starlark.net v0.0.0-20201014215153-dff0ae5b4820
|
||||
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897
|
||||
golang.org/x/net v0.0.0-20201031054903-ff519b6c9102
|
||||
github.com/v2fly/VSign v0.0.0-20201108000810-e2adc24bf848
|
||||
go.starlark.net v0.0.0-20201118183435-e55f603d8c79
|
||||
golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392
|
||||
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9
|
||||
golang.org/x/sys v0.0.0-20201107080550-4d91cf3a1aaf
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68
|
||||
google.golang.org/grpc v1.33.2
|
||||
google.golang.org/protobuf v1.25.0
|
||||
h12.io/socks v1.0.1
|
||||
|
28
go.sum
28
go.sum
@ -69,8 +69,8 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw
|
||||
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.3 h1:x95R7cp+rSeeqAMI2knLtQ0DKlaBhv2NrtrOvafPHRo=
|
||||
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
|
||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ=
|
||||
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
||||
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
|
||||
@ -169,14 +169,14 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P
|
||||
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/tarm/serial v0.0.0-20180830185346-98f6abe2eb07/go.mod h1:kDXzergiv9cbyO7IOYJZWg1U88JhDg3PB6klq9Hg2pA=
|
||||
github.com/v2fly/VSign v0.0.0-20201107160721-6e7f92656885 h1:nbFN1ZhtcffOD3ZWx0LVG7IkHX6/g+slFLShZRNUWJ0=
|
||||
github.com/v2fly/VSign v0.0.0-20201107160721-6e7f92656885/go.mod h1:p80Bv154ZtrGpXMN15slDCqc9UGmfBuUzheDFBYaW/M=
|
||||
github.com/v2fly/VSign v0.0.0-20201108000810-e2adc24bf848 h1:p1UzXK6VAutXFFQMnre66h7g1BjRKUnLv0HfmmRoz7w=
|
||||
github.com/v2fly/VSign v0.0.0-20201108000810-e2adc24bf848/go.mod h1:p80Bv154ZtrGpXMN15slDCqc9UGmfBuUzheDFBYaW/M=
|
||||
github.com/viant/assertly v0.4.8/go.mod h1:aGifi++jvCrUaklKEKT0BU95igDNaqkvz+49uaYMPRU=
|
||||
github.com/viant/toolbox v0.24.0/go.mod h1:OxMCG57V0PXuIP2HNQrtJf2CjqdmbrOx5EkMILuUhzM=
|
||||
go.opencensus.io v0.18.0/go.mod h1:vKdFvxhtzZ9onBp9VKHK8z/sRpBMnKAsufL7wlDrCOA=
|
||||
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||
go.starlark.net v0.0.0-20201014215153-dff0ae5b4820 h1:GsJfRMJ3pXl+Pa5CkSQKIA1hNIo1u0M7I2+ff3RCCME=
|
||||
go.starlark.net v0.0.0-20201014215153-dff0ae5b4820/go.mod h1:f0znQkUKRrkk36XxWbGjMqQM8wGv/xHBVE2qc3B5oFU=
|
||||
go.starlark.net v0.0.0-20201118183435-e55f603d8c79 h1:JPjLPz44y2N9mkzh2N344kTk1Y4/V4yJAjTrXGmzv8I=
|
||||
go.starlark.net v0.0.0-20201118183435-e55f603d8c79/go.mod h1:5YFcFnRptTN+41758c2bMPiqpGg4zBfYji1IQz8wNFk=
|
||||
go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE=
|
||||
golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw=
|
||||
golang.org/x/crypto v0.0.0-20181030102418-4d3f4d9ffa16/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
@ -185,8 +185,8 @@ golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACk
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 h1:pLI5jrR7OSLijeIDcmRxNmw2api+jEfxLoykJVice/E=
|
||||
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392 h1:xYJJ3S178yv++9zXV/hnr29plCAGO9vAFG9dorqaFQc=
|
||||
golang.org/x/crypto v0.0.0-20201124201722-c8d3bf9c5392/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
@ -207,8 +207,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
|
||||
golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
golang.org/x/net v0.0.0-20201031054903-ff519b6c9102 h1:42cLlJJdEh+ySyeUUbEQ5bsTiq8voBeTuweGVkY6Puw=
|
||||
golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
|
||||
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
@ -232,14 +232,16 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201107080550-4d91cf3a1aaf h1:kt3wY1Lu5MJAnKTfoMR52Cu4gwvna4VTzNOiT8tY73s=
|
||||
golang.org/x/sys v0.0.0-20201107080550-4d91cf3a1aaf/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
|
||||
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
|
@ -1,94 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
RELBODY="https://github.com/v2fly/v2ray-core/commit/${RELEASE_SHA}"
|
||||
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_DATA=$(curl --data "${JSON_DATA}" -H "Authorization: token ${PERSONAL_TOKEN}" -X POST https://api.github.com/repos/v2fly/V2FlyBleedingEdgeBinary/releases)
|
||||
echo $RELEASE_DATA
|
||||
RELEASE_ID=$(echo $RELEASE_DATA | jq ".id")
|
||||
|
||||
function uploadfile() {
|
||||
FILE=$1
|
||||
CTYPE=$(file -b --mime-type $FILE)
|
||||
|
||||
sleep 1
|
||||
curl -H "Authorization: token ${PERSONAL_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=${WORKDIR}/bazel-bin/release
|
||||
|
||||
pushd ${ART_ROOT}
|
||||
{
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen version ${RELEASE_TAG}
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen project "v2flyunstable"
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-macos-64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-windows-64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-windows-32.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-windows-arm32-v7a.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-32.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-arm64-v8a.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v7a.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v6.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v5.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-mips64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-mips64le.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-mips32.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-mips32le.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-ppc64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-ppc64le.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-riscv64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-s390x.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-freebsd-64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-freebsd-32.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-openbsd-64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-openbsd-32.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-dragonfly-64.zip
|
||||
} >Release.unsigned.unsorted
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen sort < Release.unsigned.unsorted > Release.unsigned
|
||||
|
||||
{
|
||||
echo "Build Finished"
|
||||
echo "https://github.com/v2fly/V2FlyBleedingEdgeBinary/releases/tag/${RELEASE_TAG}"
|
||||
} > buildcomment
|
||||
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil post commit "${RELEASE_SHA}" < buildcomment
|
||||
popd
|
||||
|
||||
upload ${ART_ROOT}/v2ray-macos-64.zip
|
||||
upload ${ART_ROOT}/v2ray-windows-64.zip
|
||||
upload ${ART_ROOT}/v2ray-windows-32.zip
|
||||
upload ${ART_ROOT}/v2ray-windows-arm32-v7a.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-64.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-32.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-arm64-v8a.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-arm32-v7a.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-arm32-v6.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-arm32-v5.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-mips64.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-mips64le.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-mips32.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-mips32le.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-ppc64.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-ppc64le.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-riscv64.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
|
||||
upload ${ART_ROOT}/Release.unsigned
|
68
release/release.sh
Normal file
68
release/release.sh
Normal file
@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
ART_ROOT=${WORKDIR}/bazel-bin/release
|
||||
|
||||
pushd ${ART_ROOT} || exit 1
|
||||
|
||||
# Generate Release.unsigned.unsorted file
|
||||
{
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen version ${RELEASE_TAG}
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen project "v2fly"
|
||||
for zip in $(find -L . -type f -name "*.zip"); do
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file ${zip}
|
||||
done
|
||||
} >Release.unsigned.unsorted
|
||||
|
||||
# Generate Release.unsigned file
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen sort < Release.unsigned.unsorted > Release.unsigned
|
||||
rm -f Release.unsigned.unsorted
|
||||
|
||||
# Test if is bleeding edge release
|
||||
if [[ "$IsBleedingRelease" == true ]]; then
|
||||
# If it is a bleeding edge release
|
||||
# Prepare JSON data, create a release and get release id
|
||||
RELBODY="https://github.com/${COMMENT_TARGETTED_REPO_OWNER}/${COMMENT_TARGETTED_REPO_NAME}/commit/${RELEASE_SHA}"
|
||||
JSON_DATA=$(echo "{}" | jq -c ".tag_name=\"${RELEASE_TAG}\"")
|
||||
JSON_DATA=$(echo ${JSON_DATA} | jq -c ".name=\"${RELEASE_TAG}\"")
|
||||
JSON_DATA=$(echo ${JSON_DATA} | jq -c ".prerelease=${PRERELEASE}")
|
||||
JSON_DATA=$(echo ${JSON_DATA} | jq -c ".body=\"${RELBODY}\"")
|
||||
RELEASE_DATA=$(curl -X POST --data "${JSON_DATA}" -H "Authorization: token ${PERSONAL_TOKEN}" "https://api.github.com/repos/${UPLOAD_REPO}/releases")
|
||||
echo "Bleeding Edge Release data:"
|
||||
echo $RELEASE_DATA
|
||||
RELEASE_ID=$(echo $RELEASE_DATA | jq ".id")
|
||||
|
||||
# Prepare commit comment message and post it
|
||||
echo "Build Finished" > buildcomment
|
||||
echo "https://github.com/${UPLOAD_REPO}/releases/tag/${RELEASE_TAG}" >> buildcomment
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil post commit "${RELEASE_SHA}" < buildcomment
|
||||
rm -f buildcomment
|
||||
else
|
||||
# If is a tag release then get the release id
|
||||
RELEASE_DATA=$(curl -X GET -H "Authorization: token ${PERSONAL_TOKEN}" "https://api.github.com/repos/${UPLOAD_REPO}/releases/tags/${RELEASE_TAG}")
|
||||
echo "Tag Release data:"
|
||||
echo $RELEASE_DATA
|
||||
RELEASE_ID=$(echo $RELEASE_DATA | jq ".id")
|
||||
fi
|
||||
|
||||
function uploadfile() {
|
||||
FILE=$1
|
||||
CTYPE=$(file -b --mime-type $FILE)
|
||||
|
||||
curl -H "Authorization: token ${PERSONAL_TOKEN}" -H "Content-Type: ${CTYPE}" --data-binary @$FILE "https://uploads.github.com/repos/${UPLOAD_REPO}/releases/${RELEASE_ID}/assets?name=$(basename $FILE)"
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
# Upload all files to release assets
|
||||
for asset in $(find -L . -type f -name "*.zip" -or -type f -name "*.unsigned"); do
|
||||
upload ${asset}
|
||||
done
|
@ -1,108 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
CONST_refs="refs"
|
||||
|
||||
TRIGGER_REASON_A=${TRIGGER_REASON:0:${#CONST_refs}}
|
||||
|
||||
if [ $TRIGGER_REASON_A != $CONST_refs ]; then
|
||||
echo "not a tag: $TRIGGER_REASON_A"
|
||||
exit
|
||||
fi
|
||||
|
||||
CONST_refsB="refs/tags/"
|
||||
|
||||
TRIGGER_REASON_B=${TRIGGER_REASON:0:${#CONST_refsB}}
|
||||
|
||||
if [ $TRIGGER_REASON_B != $CONST_refsB ]; then
|
||||
echo "not a tag (B)"
|
||||
exit
|
||||
fi
|
||||
|
||||
GITHUB_RELEASE_TAG=${TRIGGER_REASON:${#CONST_refsB}:25}
|
||||
|
||||
echo ${GITHUB_RELEASE_TAG}
|
||||
|
||||
RELEASE_DATA=$(curl -H "Authorization: token ${PERSONAL_TOKEN}" -X GET https://api.github.com/repos/v2fly/v2ray-core/releases/tags/${GITHUB_RELEASE_TAG})
|
||||
echo $RELEASE_DATA
|
||||
RELEASE_ID=$(echo $RELEASE_DATA | jq ".id")
|
||||
|
||||
echo $RELEASE_ID
|
||||
|
||||
function uploadfile() {
|
||||
FILE=$1
|
||||
CTYPE=$(file -b --mime-type $FILE)
|
||||
|
||||
sleep 1
|
||||
curl -H "Authorization: token ${PERSONAL_TOKEN}" -H "Content-Type: ${CTYPE}" --data-binary @$FILE "https://uploads.github.com/repos/v2fly/v2ray-core/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=${WORKDIR}/bazel-bin/release
|
||||
|
||||
pushd ${ART_ROOT}
|
||||
{
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen version "${GITHUB_RELEASE_TAG}"
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen project "v2fly"
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-macos-64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-windows-64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-windows-32.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-windows-arm32-v7a.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-32.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-arm64-v8a.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v7a.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v6.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-arm32-v5.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-mips64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-mips64le.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-mips32.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-mips32le.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-ppc64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-ppc64le.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-riscv64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-linux-s390x.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-freebsd-64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-freebsd-32.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-openbsd-64.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-openbsd-32.zip
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen file v2ray-dragonfly-64.zip
|
||||
} >Release.unsigned.unsorted
|
||||
go run github.com/v2fly/V2BuildAssist/v2buildutil gen sort <Release.unsigned.unsorted >Release.unsigned
|
||||
|
||||
popd
|
||||
|
||||
upload ${ART_ROOT}/v2ray-macos-64.zip
|
||||
upload ${ART_ROOT}/v2ray-windows-64.zip
|
||||
upload ${ART_ROOT}/v2ray-windows-32.zip
|
||||
upload ${ART_ROOT}/v2ray-windows-arm32-v7a.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-64.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-32.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-arm64-v8a.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-arm32-v7a.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-arm32-v6.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-arm32-v5.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-mips64.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-mips64le.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-mips32.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-mips32le.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-ppc64.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-ppc64le.zip
|
||||
upload ${ART_ROOT}/v2ray-linux-riscv64.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
|
||||
upload ${ART_ROOT}/Release.unsigned
|
Loading…
x
Reference in New Issue
Block a user