diff --git a/.github/workflows/alpha.yml b/.github/workflows/alpha.yml new file mode 100644 index 0000000..a31ca54 --- /dev/null +++ b/.github/workflows/alpha.yml @@ -0,0 +1,100 @@ +name: Release CI + +on: + push: + branches: [alpha] + pull_request: + branches: [alpha] + +env: + CARGO_INCREMENTAL: 0 + RUST_BACKTRACE: short + +jobs: + release: + strategy: + matrix: + os: [windows-latest, ubuntu-latest, macos-latest] + runs-on: ${{ matrix.os }} + if: startsWith(github.repository, 'zzzgydi') + 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@ce325b60658c1b38465c06cc965b79baf32c1e72 + + - name: Install Node + uses: actions/setup-node@v1 + with: + node-version: 14 + + - name: Install Dependencies (ubuntu only) + if: matrix.os == 'ubuntu-latest' + 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: 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 + # # enable cache even though failed + # continue-on-error: true + # 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" + # releaseDraft: false + # prerelease: true + + # - name: Green zip bundle + # if: matrix.os == 'windows-latest' + # run: | + # yarn run portable + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Tauri build Meta + uses: tauri-apps/tauri-action@v0 + # enable cache even though failed + # continue-on-error: true + env: + VITE_MULTI_CORE: 1 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} + TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} + with: + tagName: alpha + tauriScript: "yarn build:meta" + releaseName: "Clash Verge Alpha" + releaseBody: "Alpha Version" + releaseDraft: false + prerelease: true diff --git a/package.json b/package.json index e670c94..e2b7092 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "dev:diff": "tauri dev -f verge-dev -c src-tauri/tauri.diff.json", "dev:core": "cross-env VITE_MULTI_CORE=1 yarn dev:diff", "build": "tauri build", + "build:meta": "cross-env VITE_MULTI_CORE=1 tauri build -c src-tauri/tauri.meta.json", "tauri": "tauri", "web:dev": "vite", "web:build": "tsc && vite build", diff --git a/src-tauri/tauri.meta.json b/src-tauri/tauri.meta.json new file mode 100644 index 0000000..9f4bb77 --- /dev/null +++ b/src-tauri/tauri.meta.json @@ -0,0 +1,7 @@ +{ + "tauri": { + "bundle": { + "externalBin": ["sidecar/clash", "sidecar/clash-meta"] + } + } +}