From e4e16999c8d4c93642ddbe67b66f8af6711d4e70 Mon Sep 17 00:00:00 2001
From: GyDi <zzzgydi@gmail.com>
Date: Tue, 22 Nov 2022 00:16:30 +0800
Subject: [PATCH] chore: alpha release add portable

---
 .github/workflows/alpha.yml | 13 +++++----
 scripts/portable.mjs        | 56 ++-----------------------------------
 2 files changed, 10 insertions(+), 59 deletions(-)

diff --git a/.github/workflows/alpha.yml b/.github/workflows/alpha.yml
index 8f9d454..95600ca 100644
--- a/.github/workflows/alpha.yml
+++ b/.github/workflows/alpha.yml
@@ -78,9 +78,10 @@ jobs:
           includeDebug: ${{ github.event.inputs.debug }}
           prerelease: true
 
-      # - name: Portable Bundle
-      #   if: matrix.os == 'windows-latest'
-      #   run: |
-      #     yarn run portable
-      #   env:
-      #     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+      - name: Portable Bundle
+        if: matrix.os == 'windows-latest'
+        run: |
+          yarn run portable
+        env:
+          TAG_NAME: alpha
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/scripts/portable.mjs b/scripts/portable.mjs
index 08796e6..b523a50 100644
--- a/scripts/portable.mjs
+++ b/scripts/portable.mjs
@@ -4,8 +4,6 @@ import AdmZip from "adm-zip";
 import { createRequire } from "module";
 import { getOctokit, context } from "@actions/github";
 
-const META = process.argv.includes("--meta"); // use Clash.Meta
-
 /// Script for ci
 /// 打包绿色版/便携版 (only Windows)
 async function resolvePortable() {
@@ -41,58 +39,11 @@ async function resolvePortable() {
   const options = { owner: context.repo.owner, repo: context.repo.repo };
   const github = getOctokit(process.env.GITHUB_TOKEN);
 
-  const { data: release } = await github.rest.repos.getReleaseByTag({
-    ...options,
-    tag: `v${version}`,
-  });
-
-  console.log(release.name);
-
-  await github.rest.repos.uploadReleaseAsset({
-    ...options,
-    release_id: release.id,
-    name: zipFile,
-    data: zip.toBuffer(),
-  });
-}
-
-/// 打包包含Clash.Meta的 (only Windows)
-async function resolvePortableMeta() {
-  if (process.platform !== "win32") return;
-
-  const releaseDir = "./src-tauri/target/release";
-
-  if (!(await fs.pathExists(releaseDir))) {
-    throw new Error("could not found the release dir");
-  }
-
-  const zip = new AdmZip();
-
-  zip.addLocalFile(path.join(releaseDir, "Clash Verge.exe"));
-  zip.addLocalFile(path.join(releaseDir, "clash.exe"));
-  zip.addLocalFile(path.join(releaseDir, "clash-meta.exe"));
-  zip.addLocalFolder(path.join(releaseDir, "resources"), "resources");
-
-  const require = createRequire(import.meta.url);
-  const packageJson = require("../package.json");
-  const { version } = packageJson;
-
-  const zipFile = `Clash.Verge.Meta_${version}_x64_portable.zip`;
-  zip.writeZip(zipFile);
-
-  console.log("[INFO]: create portable zip successfully");
-
-  // push release assets
-  if (process.env.GITHUB_TOKEN === undefined) {
-    throw new Error("GITHUB_TOKEN is required");
-  }
-
-  const options = { owner: context.repo.owner, repo: context.repo.repo };
-  const github = getOctokit(process.env.GITHUB_TOKEN);
+  console.log("[INFO]: upload to ", process.env.TAG_NAME || `v${version}`);
 
   const { data: release } = await github.rest.repos.getReleaseByTag({
     ...options,
-    tag: `v${version}`,
+    tag: process.env.TAG_NAME || `v${version}`,
   });
 
   console.log(release.name);
@@ -105,5 +56,4 @@ async function resolvePortableMeta() {
   });
 }
 
-if (META) resolvePortableMeta().catch(console.error);
-else resolvePortable().catch(console.error);
+resolvePortable().catch(console.error);
-- 
GitLab