diff --git a/.github/workflows/meta.yml b/.github/workflows/meta.yml new file mode 100644 index 0000000..58c714e --- /dev/null +++ b/.github/workflows/meta.yml @@ -0,0 +1,106 @@ +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 }} + 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@v2 + with: + workspaces: src-tauri + + - name: Install Node + uses: actions/setup-node@v1 + with: + node-version: 16 + + - 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: Delete current release assets + 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: 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: alpha + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} + TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} + VITE_WIN_PORTABLE: 1