Browse Source

Added Signing Request

Shelikhoo 5 years ago
parent
commit
40e21fde1d
3 changed files with 70 additions and 0 deletions
  1. 37 0
      .github/workflows/sign.yml
  2. 28 0
      release/requestsign.sh
  3. 5 0
      release/requestsign_github.sh

+ 37 - 0
.github/workflows/sign.yml

@@ -0,0 +1,37 @@
+# This is a basic workflow to help you get started with Actions
+
+name: Sign
+
+# Controls when the action will run. Triggers the workflow on push or pull request
+# events but only for the master branch
+on:
+  release:
+    types: [released]
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+  # This workflow contains a single job called "build"
+  build:
+    # The type of runner that the job will run on
+    runs-on: ubuntu-latest
+
+    # Steps represent a sequence of tasks that will be executed as part of the job
+    steps:
+      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+      - uses: actions/checkout@v2
+
+      # Invoke release signing
+      - name: make it run
+        run: chmod +x $GITHUB_WORKSPACE/release/requestsign_github.sh
+
+      # Invoke release signing
+      - name: make it run
+        run: chmod +x $GITHUB_WORKSPACE/release/requestsign.sh
+
+      # Invoke release signing
+      - name: Invoke release signing
+        env:
+          SIGN_SERVICE_PASSWORD: ${{ secrets.SIGN_SERVICE_PASSWORD }}
+          SIGN_SERIVCE_URL: ${{ secrets.SIGN_SERIVCE_URL }}
+          GITHUB_TOKEN:  ${{ secrets.GITHUB_TOKEN }}
+        run: $GITHUB_WORKSPACE/release/requestsign_github.sh

+ 28 - 0
release/requestsign.sh

@@ -0,0 +1,28 @@
+#!/bin/bash
+
+RELEASE_DATA=$(curl --data "version=${SIGN_VERSION}" --data "password=${SIGN_SERVICE_PASSWORD}" -X POST "${SIGN_SERIVCE_URL}" )
+echo $RELEASE_DATA
+RELEASE_ID=$(echo $RELEASE_DATA| jq -r ".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/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
+}
+
+curl "https://raw.githubusercontent.com/v2fly/Release/master/v2fly/${SIGN_VERSION}.Release" > Release
+upload Release

+ 5 - 0
release/requestsign_github.sh

@@ -0,0 +1,5 @@
+#!/bin/bash
+
+export SIGN_VERSION=$(cat $GITHUB_EVENT_PATH| jq -r ".release.tag_name")
+
+echo $SIGN_VERSION