From 7bac8188f167283b3701ab6f6afbe97f3e2c2330 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 26 Nov 2020 04:41:21 +0800 Subject: [PATCH 1/3] Bump github.com/google/go-cmp from 0.5.3 to 0.5.4 (#455) Bumps [github.com/google/go-cmp](https://github.com/google/go-cmp) from 0.5.3 to 0.5.4. - [Release notes](https://github.com/google/go-cmp/releases) - [Commits](https://github.com/google/go-cmp/compare/v0.5.3...v0.5.4) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3ca770671..24e6a7767 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ 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 diff --git a/go.sum b/go.sum index f28ecc826..6e364bd54 100644 --- a/go.sum +++ b/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= From b93f69fb482fd4744c3424fd4fac51039dd48346 Mon Sep 17 00:00:00 2001 From: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com> Date: Thu, 26 Nov 2020 05:32:04 +0800 Subject: [PATCH 2/3] Update dependencies (#458) --- go.mod | 10 +++++----- go.sum | 24 +++++++++++++----------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/go.mod b/go.mod index 24e6a7767..f3597d562 100644 --- a/go.mod +++ b/go.mod @@ -13,12 +13,12 @@ require ( 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 diff --git a/go.sum b/go.sum index 6e364bd54..6aa05ddfb 100644 --- a/go.sum +++ b/go.sum @@ -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= From ea0210acee1375ab13e70baa615b8da536904811 Mon Sep 17 00:00:00 2001 From: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com> Date: Thu, 26 Nov 2020 16:30:17 +0800 Subject: [PATCH 3/3] Migrate release from Azure Pipelines to GitHub Actions (#453) --- .github/workflows/release.yml | 81 +++++++++++++++++++++++++ azure-pipelines.yml | 54 ----------------- release/bleedingrelease.sh | 94 ----------------------------- release/release.sh | 68 +++++++++++++++++++++ release/tagrelease.sh | 108 ---------------------------------- 5 files changed, 149 insertions(+), 256 deletions(-) create mode 100644 .github/workflows/release.yml delete mode 100644 azure-pipelines.yml delete mode 100755 release/bleedingrelease.sh create mode 100644 release/release.sh delete mode 100755 release/tagrelease.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..0997130a8 --- /dev/null +++ b/.github/workflows/release.yml @@ -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 diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 92bb6593b..000000000 --- a/azure-pipelines.yml +++ /dev/null @@ -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) diff --git a/release/bleedingrelease.sh b/release/bleedingrelease.sh deleted file mode 100755 index 913105d9d..000000000 --- a/release/bleedingrelease.sh +++ /dev/null @@ -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 diff --git a/release/release.sh b/release/release.sh new file mode 100644 index 000000000..2637d95ed --- /dev/null +++ b/release/release.sh @@ -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 diff --git a/release/tagrelease.sh b/release/tagrelease.sh deleted file mode 100755 index c08f339ab..000000000 --- a/release/tagrelease.sh +++ /dev/null @@ -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 - -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