mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 14:43:45 +08:00
refactor: Remove unnecessary changes
This commit is contained in:
parent
8de2712652
commit
f08ce82c3f
101
.github/workflows/compatible.yml
vendored
101
.github/workflows/compatible.yml
vendored
@ -1,101 +0,0 @@
|
|||||||
name: Compatible CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
# push:
|
|
||||||
# tags:
|
|
||||||
# - v**
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_INCREMENTAL: 0
|
|
||||||
RUST_BACKTRACE: short
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
targets:
|
|
||||||
- tag: macOS-10.15
|
|
||||||
os: macos-10.15
|
|
||||||
- tag: Ubuntu18
|
|
||||||
os: ubuntu-18.04
|
|
||||||
- tag: Ubuntu22
|
|
||||||
os: ubuntu-22.04
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.targets.os }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install Rust
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
profile: minimal
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: Rust Cache
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
with:
|
|
||||||
workspaces: src-tauri
|
|
||||||
|
|
||||||
- name: Install Node
|
|
||||||
uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
|
|
||||||
# - name: Install Dependencies (ubuntu18 only)
|
|
||||||
# if: matrix.targets.os == 'ubuntu-18.04'
|
|
||||||
# run: |
|
|
||||||
# sudo apt-get update
|
|
||||||
# sudo apt-get install -y libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libappindicator3-dev librsvg2-dev libayatana-appindicator3-dev
|
|
||||||
|
|
||||||
- name: Install Dependencies (ubuntu22 only)
|
|
||||||
if: startsWith(matrix.targets.os, 'ubuntu-')
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf
|
|
||||||
|
|
||||||
- name: Get yarn cache dir path
|
|
||||||
id: yarn-cache-dir-path
|
|
||||||
run: echo "::set-output name=dir::$(yarn cache dir)"
|
|
||||||
|
|
||||||
- name: Yarn Cache
|
|
||||||
uses: actions/cache@v2
|
|
||||||
id: yarn-cache
|
|
||||||
with:
|
|
||||||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
|
||||||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-yarn-
|
|
||||||
|
|
||||||
- name: Yarn install and check
|
|
||||||
run: |
|
|
||||||
yarn install --network-timeout 1000000
|
|
||||||
yarn run check
|
|
||||||
|
|
||||||
- name: Tauri build
|
|
||||||
uses: tauri-apps/tauri-action@v0
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
|
||||||
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
|
||||||
with:
|
|
||||||
tagName: ${{ matrix.targets.tag }}
|
|
||||||
releaseName: "Compatible For ${{ matrix.targets.tag }}"
|
|
||||||
releaseBody: "More new features are now supported."
|
|
||||||
releaseDraft: false
|
|
||||||
prerelease: false
|
|
||||||
|
|
||||||
# - name: Portable Bundle
|
|
||||||
# if: matrix.os == 'windows-latest'
|
|
||||||
# # rebuild with env settings
|
|
||||||
# run: |
|
|
||||||
# yarn build
|
|
||||||
# yarn run portable
|
|
||||||
# env:
|
|
||||||
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
# TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
|
||||||
# TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
|
||||||
# VITE_WIN_PORTABLE: 1
|
|
97
.github/workflows/dev.yaml
vendored
97
.github/workflows/dev.yaml
vendored
@ -1,97 +0,0 @@
|
|||||||
name: Dev Build
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- dev
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_INCREMENTAL: 0
|
|
||||||
RUST_BACKTRACE: short
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
release:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [windows-latest, ubuntu-latest, macos-latest]
|
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: install Rust stable
|
|
||||||
uses: dtolnay/rust-toolchain@stable
|
|
||||||
|
|
||||||
- name: Rust Cache
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
with:
|
|
||||||
workspaces: src-tauri
|
|
||||||
|
|
||||||
- name: Install Node
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "20"
|
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2
|
|
||||||
name: Install pnpm
|
|
||||||
with:
|
|
||||||
version: 8
|
|
||||||
run_install: false
|
|
||||||
|
|
||||||
- name: Delete current release assets
|
|
||||||
if: startsWith(matrix.os, 'ubuntu-')
|
|
||||||
uses: mknejp/delete-release-assets@v1
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
tag: dev
|
|
||||||
fail-if-no-assets: false
|
|
||||||
fail-if-no-release: false
|
|
||||||
assets: |
|
|
||||||
*.zip
|
|
||||||
*.gz
|
|
||||||
*.AppImage
|
|
||||||
*.deb
|
|
||||||
*.dmg
|
|
||||||
*.msi
|
|
||||||
*.sig
|
|
||||||
*.exe
|
|
||||||
*.json
|
|
||||||
|
|
||||||
- name: Install Dependencies (Ubuntu Only)
|
|
||||||
if: startsWith(matrix.os, 'ubuntu-')
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf openssl
|
|
||||||
|
|
||||||
- name: Pnpm install and check
|
|
||||||
run: |
|
|
||||||
pnpm i
|
|
||||||
pnpm check
|
|
||||||
|
|
||||||
- name: Tauri build
|
|
||||||
uses: tauri-apps/tauri-action@v0
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
|
||||||
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
|
||||||
with:
|
|
||||||
tagName: dev
|
|
||||||
releaseName: "Clash Verge Dev"
|
|
||||||
releaseBody: "More new features are now supported."
|
|
||||||
releaseDraft: false
|
|
||||||
prerelease: true
|
|
||||||
tauriScript: pnpm
|
|
||||||
args: -f default-meta
|
|
||||||
|
|
||||||
- name: Portable Bundle
|
|
||||||
if: matrix.os == 'windows-latest'
|
|
||||||
run: |
|
|
||||||
pnpm portable
|
|
||||||
env:
|
|
||||||
TAG_NAME: dev
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
|
||||||
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
|
||||||
VITE_WIN_PORTABLE: 1
|
|
106
.github/workflows/meta.yml
vendored
106
.github/workflows/meta.yml
vendored
@ -1,106 +0,0 @@
|
|||||||
name: Meta CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- v**
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_INCREMENTAL: 0
|
|
||||||
RUST_BACKTRACE: short
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
release:
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
os: [windows-latest, ubuntu-latest, macos-latest]
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
|
|
||||||
- name: Install Rust
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
profile: minimal
|
|
||||||
override: true
|
|
||||||
|
|
||||||
- name: Rust Cache
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
with:
|
|
||||||
workspaces: src-tauri
|
|
||||||
|
|
||||||
- name: Install Node
|
|
||||||
uses: actions/setup-node@v1
|
|
||||||
with:
|
|
||||||
node-version: 16
|
|
||||||
|
|
||||||
- name: Delete current release assets
|
|
||||||
if: matrix.os == 'ubuntu-latest'
|
|
||||||
uses: mknejp/delete-release-assets@v1
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
tag: meta
|
|
||||||
fail-if-no-assets: false
|
|
||||||
fail-if-no-release: false
|
|
||||||
assets: |
|
|
||||||
*.zip
|
|
||||||
*.gz
|
|
||||||
*.AppImage
|
|
||||||
*.deb
|
|
||||||
*.dmg
|
|
||||||
*.msi
|
|
||||||
*.sig
|
|
||||||
|
|
||||||
- name: Install Dependencies (ubuntu only)
|
|
||||||
if: startsWith(matrix.os, 'ubuntu-')
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf openssl
|
|
||||||
|
|
||||||
- name: Get yarn cache dir path
|
|
||||||
id: yarn-cache-dir-path
|
|
||||||
run: echo "::set-output name=dir::$(yarn cache dir)"
|
|
||||||
|
|
||||||
- name: Yarn Cache
|
|
||||||
uses: actions/cache@v2
|
|
||||||
id: yarn-cache
|
|
||||||
with:
|
|
||||||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
|
||||||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-yarn-
|
|
||||||
|
|
||||||
- name: Yarn install and check
|
|
||||||
run: |
|
|
||||||
yarn install --network-timeout 1000000
|
|
||||||
yarn run check
|
|
||||||
|
|
||||||
- name: Tauri build
|
|
||||||
uses: tauri-apps/tauri-action@v0
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
|
||||||
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
|
||||||
with:
|
|
||||||
tagName: meta
|
|
||||||
releaseName: "Clash Verge Meta"
|
|
||||||
releaseBody: ""
|
|
||||||
releaseDraft: false
|
|
||||||
prerelease: true
|
|
||||||
args: -f default-meta
|
|
||||||
|
|
||||||
- name: Portable Bundle
|
|
||||||
if: matrix.os == 'windows-latest'
|
|
||||||
run: |
|
|
||||||
yarn build -f default-meta
|
|
||||||
yarn run portable
|
|
||||||
env:
|
|
||||||
TAG_NAME: meta
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
|
||||||
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
|
||||||
VITE_WIN_PORTABLE: 1
|
|
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@ -110,7 +110,7 @@ jobs:
|
|||||||
releaseDraft: false
|
releaseDraft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
tauriScript: pnpm
|
tauriScript: pnpm
|
||||||
args: -f default-meta --target ${{ matrix.target }}
|
args: --target ${{ matrix.target }}
|
||||||
|
|
||||||
- name: Tauri build (Ubuntu Arm64)
|
- name: Tauri build (Ubuntu Arm64)
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.target,'aarch64')
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.target,'aarch64')
|
||||||
@ -131,7 +131,7 @@ jobs:
|
|||||||
releaseDraft: false
|
releaseDraft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
tauriScript: pnpm
|
tauriScript: pnpm
|
||||||
args: -f default-meta --target ${{ matrix.target }} -b deb,updater
|
args: --target ${{ matrix.target }} -b deb,updater
|
||||||
|
|
||||||
- name: Tauri build (Ubuntu Armv7)
|
- name: Tauri build (Ubuntu Armv7)
|
||||||
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.target,'armv7')
|
if: startsWith(matrix.os, 'ubuntu') && startsWith(matrix.target,'armv7')
|
||||||
@ -152,7 +152,7 @@ jobs:
|
|||||||
releaseDraft: false
|
releaseDraft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
tauriScript: pnpm
|
tauriScript: pnpm
|
||||||
args: -f default-meta --target ${{ matrix.target }} -b deb,updater
|
args: --target ${{ matrix.target }} -b deb,updater
|
||||||
|
|
||||||
- name: Portable Bundle
|
- name: Portable Bundle
|
||||||
if: matrix.os == 'windows-latest'
|
if: matrix.os == 'windows-latest'
|
||||||
|
75
.github/workflows/test.yml
vendored
75
.github/workflows/test.yml
vendored
@ -1,75 +0,0 @@
|
|||||||
name: Test CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
os:
|
|
||||||
description: "Runs on OS"
|
|
||||||
required: true
|
|
||||||
default: windows-latest
|
|
||||||
type: choice
|
|
||||||
options:
|
|
||||||
- windows-latest
|
|
||||||
- ubuntu-latest
|
|
||||||
- macos-latest
|
|
||||||
- ubuntu-18.04
|
|
||||||
- ubuntu-20.04
|
|
||||||
- ubuntu-22.04
|
|
||||||
- macos-10.15
|
|
||||||
- macos-11
|
|
||||||
- macos-12
|
|
||||||
- windows-2019
|
|
||||||
- windows-2022
|
|
||||||
|
|
||||||
env:
|
|
||||||
CARGO_INCREMENTAL: 0
|
|
||||||
RUST_BACKTRACE: short
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
release:
|
|
||||||
runs-on: ${{ github.event.inputs.os }}
|
|
||||||
steps:
|
|
||||||
- name: System Version
|
|
||||||
run: |
|
|
||||||
echo ${{ github.event.inputs.os }}
|
|
||||||
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: install Rust stable
|
|
||||||
uses: dtolnay/rust-toolchain@stable
|
|
||||||
|
|
||||||
- name: Rust Cache
|
|
||||||
uses: Swatinem/rust-cache@v2
|
|
||||||
with:
|
|
||||||
workspaces: src-tauri
|
|
||||||
|
|
||||||
- name: Install Node
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: "16"
|
|
||||||
cache: "yarn"
|
|
||||||
|
|
||||||
- name: Install Dependencies (ubuntu only)
|
|
||||||
if: startsWith(github.event.inputs.os, 'ubuntu-')
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
|
|
||||||
|
|
||||||
- name: Yarn install and check
|
|
||||||
run: |
|
|
||||||
yarn install --network-timeout 1000000 --frozen-lockfile
|
|
||||||
yarn run check
|
|
||||||
|
|
||||||
- name: Tauri build
|
|
||||||
uses: tauri-apps/tauri-action@v0
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
|
||||||
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
|
||||||
with:
|
|
||||||
tagName: alpha
|
|
||||||
releaseName: "Clash Verge Alpha"
|
|
||||||
releaseBody: "Alpha Version (include debug)"
|
|
||||||
releaseDraft: false
|
|
||||||
includeUpdaterJson: false
|
|
@ -3,17 +3,14 @@
|
|||||||
"version": "1.4.3",
|
"version": "1.4.3",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "tauri dev -f default-meta",
|
"dev": "tauri dev",
|
||||||
"dev:diff": "tauri dev -f verge-dev",
|
"build": "tauri build",
|
||||||
"build": "tauri build -f default-meta",
|
|
||||||
"tauri": "tauri",
|
"tauri": "tauri",
|
||||||
"web:dev": "vite",
|
"web:dev": "vite",
|
||||||
"web:build": "tsc && vite build",
|
"web:build": "tsc && vite build",
|
||||||
"web:serve": "vite preview",
|
"web:serve": "vite preview",
|
||||||
"aarch": "node scripts/aarch.mjs",
|
|
||||||
"check": "node scripts/check.mjs",
|
"check": "node scripts/check.mjs",
|
||||||
"updater": "node scripts/updater.mjs",
|
"updater": "node scripts/updater.mjs",
|
||||||
"publish": "node scripts/publish.mjs",
|
|
||||||
"portable": "node scripts/portable.mjs",
|
"portable": "node scripts/portable.mjs",
|
||||||
"prepare": "husky install"
|
"prepare": "husky install"
|
||||||
},
|
},
|
||||||
|
@ -1,119 +0,0 @@
|
|||||||
/**
|
|
||||||
* Build and upload assets
|
|
||||||
* for macOS(aarch)
|
|
||||||
*/
|
|
||||||
import fs from "fs-extra";
|
|
||||||
import path from "path";
|
|
||||||
import { exit } from "process";
|
|
||||||
import { execSync } from "child_process";
|
|
||||||
import { createRequire } from "module";
|
|
||||||
import { getOctokit, context } from "@actions/github";
|
|
||||||
|
|
||||||
// to `meta` tag
|
|
||||||
const META = process.argv.includes("--meta");
|
|
||||||
// to `alpha` tag
|
|
||||||
const ALPHA = process.argv.includes("--alpha");
|
|
||||||
|
|
||||||
const require = createRequire(import.meta.url);
|
|
||||||
|
|
||||||
async function resolve() {
|
|
||||||
if (!process.env.GITHUB_TOKEN) {
|
|
||||||
throw new Error("GITHUB_TOKEN is required");
|
|
||||||
}
|
|
||||||
if (!process.env.GITHUB_REPOSITORY) {
|
|
||||||
throw new Error("GITHUB_REPOSITORY is required");
|
|
||||||
}
|
|
||||||
if (!process.env.TAURI_PRIVATE_KEY) {
|
|
||||||
throw new Error("TAURI_PRIVATE_KEY is required");
|
|
||||||
}
|
|
||||||
if (!process.env.TAURI_KEY_PASSWORD) {
|
|
||||||
throw new Error("TAURI_KEY_PASSWORD is required");
|
|
||||||
}
|
|
||||||
|
|
||||||
const { version } = require("../package.json");
|
|
||||||
|
|
||||||
const tag = META ? "meta" : ALPHA ? "alpha" : `v${version}`;
|
|
||||||
const buildCmd = META ? `pnpm build -f default-meta` : `pnpm build`;
|
|
||||||
|
|
||||||
console.log(`[INFO]: Upload to tag "${tag}"`);
|
|
||||||
console.log(`[INFO]: Building app. "${buildCmd}"`);
|
|
||||||
|
|
||||||
execSync(buildCmd);
|
|
||||||
|
|
||||||
const cwd = process.cwd();
|
|
||||||
const bundlePath = path.join(cwd, "src-tauri/target/release/bundle");
|
|
||||||
const join = (p) => path.join(bundlePath, p);
|
|
||||||
|
|
||||||
const appPathList = [
|
|
||||||
join("macos/Clash Verge.aarch64.app.tar.gz"),
|
|
||||||
join("macos/Clash Verge.aarch64.app.tar.gz.sig"),
|
|
||||||
];
|
|
||||||
|
|
||||||
for (const appPath of appPathList) {
|
|
||||||
if (fs.pathExistsSync(appPath)) {
|
|
||||||
fs.removeSync(appPath);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fs.copyFileSync(join("macos/Clash Verge.app.tar.gz"), appPathList[0]);
|
|
||||||
fs.copyFileSync(join("macos/Clash Verge.app.tar.gz.sig"), appPathList[1]);
|
|
||||||
|
|
||||||
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,
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!release.id) throw new Error("failed to find the release");
|
|
||||||
|
|
||||||
await uploadAssets(release.id, [
|
|
||||||
join(`dmg/Clash Verge_${version}_aarch64.dmg`),
|
|
||||||
...appPathList,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// From tauri-apps/tauri-action
|
|
||||||
// https://github.com/tauri-apps/tauri-action/blob/dev/packages/action/src/upload-release-assets.ts
|
|
||||||
async function uploadAssets(releaseId, assets) {
|
|
||||||
const github = getOctokit(process.env.GITHUB_TOKEN);
|
|
||||||
|
|
||||||
// Determine content-length for header to upload asset
|
|
||||||
const contentLength = (filePath) => fs.statSync(filePath).size;
|
|
||||||
|
|
||||||
for (const assetPath of assets) {
|
|
||||||
const headers = {
|
|
||||||
"content-type": "application/zip",
|
|
||||||
"content-length": contentLength(assetPath),
|
|
||||||
};
|
|
||||||
|
|
||||||
const ext = path.extname(assetPath);
|
|
||||||
const filename = path.basename(assetPath).replace(ext, "");
|
|
||||||
const assetName = path.dirname(assetPath).includes(`target${path.sep}debug`)
|
|
||||||
? `${filename}-debug${ext}`
|
|
||||||
: `${filename}${ext}`;
|
|
||||||
|
|
||||||
console.log(`[INFO]: Uploading ${assetName}...`);
|
|
||||||
|
|
||||||
try {
|
|
||||||
await github.rest.repos.uploadReleaseAsset({
|
|
||||||
headers,
|
|
||||||
name: assetName,
|
|
||||||
data: fs.readFileSync(assetPath),
|
|
||||||
owner: context.repo.owner,
|
|
||||||
repo: context.repo.repo,
|
|
||||||
release_id: releaseId,
|
|
||||||
});
|
|
||||||
} catch (error) {
|
|
||||||
console.log(error.message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (process.platform === "darwin" && process.arch === "arm64") {
|
|
||||||
resolve();
|
|
||||||
} else {
|
|
||||||
console.error("invalid");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
@ -1,53 +0,0 @@
|
|||||||
import fs from "fs-extra";
|
|
||||||
import { createRequire } from "module";
|
|
||||||
import { execSync } from "child_process";
|
|
||||||
import { resolveUpdateLog } from "./updatelog.mjs";
|
|
||||||
|
|
||||||
const require = createRequire(import.meta.url);
|
|
||||||
|
|
||||||
// publish
|
|
||||||
async function resolvePublish() {
|
|
||||||
const flag = process.argv[2] ?? "patch";
|
|
||||||
const packageJson = require("../package.json");
|
|
||||||
const tauriJson = require("../src-tauri/tauri.conf.json");
|
|
||||||
|
|
||||||
let [a, b, c] = packageJson.version.split(".").map(Number);
|
|
||||||
|
|
||||||
if (flag === "major") {
|
|
||||||
a += 1;
|
|
||||||
b = 0;
|
|
||||||
c = 0;
|
|
||||||
} else if (flag === "minor") {
|
|
||||||
b += 1;
|
|
||||||
c = 0;
|
|
||||||
} else if (flag === "patch") {
|
|
||||||
c += 1;
|
|
||||||
} else throw new Error(`invalid flag "${flag}"`);
|
|
||||||
|
|
||||||
const nextVersion = `${a}.${b}.${c}`;
|
|
||||||
packageJson.version = nextVersion;
|
|
||||||
tauriJson.package.version = nextVersion;
|
|
||||||
|
|
||||||
// 发布更新前先写更新日志
|
|
||||||
const nextTag = `v${nextVersion}`;
|
|
||||||
await resolveUpdateLog(nextTag);
|
|
||||||
|
|
||||||
await fs.writeFile(
|
|
||||||
"./package.json",
|
|
||||||
JSON.stringify(packageJson, undefined, 2)
|
|
||||||
);
|
|
||||||
await fs.writeFile(
|
|
||||||
"./src-tauri/tauri.conf.json",
|
|
||||||
JSON.stringify(tauriJson, undefined, 2)
|
|
||||||
);
|
|
||||||
|
|
||||||
execSync("git add ./package.json");
|
|
||||||
execSync("git add ./src-tauri/tauri.conf.json");
|
|
||||||
execSync(`git commit -m "v${nextVersion}"`);
|
|
||||||
execSync(`git tag -a v${nextVersion} -m "v${nextVersion}"`);
|
|
||||||
execSync(`git push`);
|
|
||||||
execSync(`git push origin v${nextVersion}`);
|
|
||||||
console.log(`Publish Successfully...`);
|
|
||||||
}
|
|
||||||
|
|
||||||
resolvePublish();
|
|
@ -59,8 +59,6 @@ features = ["global-shortcut-all", "process-all", "shell-all", "system-tray", "u
|
|||||||
[features]
|
[features]
|
||||||
default = ["custom-protocol"]
|
default = ["custom-protocol"]
|
||||||
custom-protocol = ["tauri/custom-protocol"]
|
custom-protocol = ["tauri/custom-protocol"]
|
||||||
verge-dev = []
|
|
||||||
default-meta = []
|
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
panic = "abort"
|
panic = "abort"
|
||||||
|
@ -24,29 +24,12 @@ impl IClashTemp {
|
|||||||
pub fn template() -> Self {
|
pub fn template() -> Self {
|
||||||
let mut map = Mapping::new();
|
let mut map = Mapping::new();
|
||||||
|
|
||||||
map.insert(
|
map.insert("mixed-port".into(), 7890.into());
|
||||||
"mixed-port".into(),
|
|
||||||
match cfg!(feature = "default-meta") {
|
|
||||||
false => 7890.into(),
|
|
||||||
true => 7898.into(),
|
|
||||||
},
|
|
||||||
);
|
|
||||||
map.insert("log-level".into(), "info".into());
|
map.insert("log-level".into(), "info".into());
|
||||||
map.insert("allow-lan".into(), false.into());
|
map.insert("allow-lan".into(), false.into());
|
||||||
map.insert("mode".into(), "rule".into());
|
map.insert("mode".into(), "rule".into());
|
||||||
map.insert(
|
map.insert("external-controller".into(), "127.0.0.1:9090".into());
|
||||||
"external-controller".into(),
|
|
||||||
match cfg!(feature = "default-meta") {
|
|
||||||
false => "127.0.0.1:9090".into(),
|
|
||||||
true => "127.0.0.1:9098".into(),
|
|
||||||
},
|
|
||||||
);
|
|
||||||
map.insert("secret".into(), "".into());
|
map.insert("secret".into(), "".into());
|
||||||
#[cfg(feature = "default-meta")]
|
|
||||||
map.insert("unified-delay".into(), true.into());
|
|
||||||
#[cfg(feature = "default-meta")]
|
|
||||||
map.insert("tcp-concurrent".into(), true.into());
|
|
||||||
// map.insert("ipv6".into(), false.into());
|
|
||||||
|
|
||||||
Self(map)
|
Self(map)
|
||||||
}
|
}
|
||||||
|
@ -55,12 +55,7 @@ impl IProfiles {
|
|||||||
|
|
||||||
pub fn template() -> Self {
|
pub fn template() -> Self {
|
||||||
Self {
|
Self {
|
||||||
valid: Some(vec![
|
valid: Some(vec!["dns".into()]),
|
||||||
"dns".into(),
|
|
||||||
"sub-rules".into(),
|
|
||||||
"unified-delay".into(),
|
|
||||||
"tcp-concurrent".into(),
|
|
||||||
]),
|
|
||||||
items: Some(vec![]),
|
items: Some(vec![]),
|
||||||
..Self::default()
|
..Self::default()
|
||||||
}
|
}
|
||||||
|
@ -130,14 +130,8 @@ impl IVerge {
|
|||||||
|
|
||||||
pub fn template() -> Self {
|
pub fn template() -> Self {
|
||||||
Self {
|
Self {
|
||||||
clash_core: match cfg!(feature = "default-meta") {
|
clash_core: Some("clash-meta".into()),
|
||||||
false => Some("clash".into()),
|
language: Some("zh".into()),
|
||||||
true => Some("clash-meta".into()),
|
|
||||||
},
|
|
||||||
language: match cfg!(feature = "default-meta") {
|
|
||||||
false => Some("en".into()),
|
|
||||||
true => Some("zh".into()),
|
|
||||||
},
|
|
||||||
theme_mode: Some("system".into()),
|
theme_mode: Some("system".into()),
|
||||||
theme_blur: Some(false),
|
theme_blur: Some(false),
|
||||||
traffic_graph: Some(true),
|
traffic_graph: Some(true),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user