diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml new file mode 100644 index 0000000..8365855 --- /dev/null +++ b/.github/workflows/dev.yml @@ -0,0 +1,86 @@ +name: Development Test + +on: + workflow_dispatch: +permissions: write-all +env: + CARGO_INCREMENTAL: 0 + RUST_BACKTRACE: short +concurrency: + # only allow per workflow per commit (and not pr) to run at a time + group: "${{ github.workflow }} - ${{ github.head_ref || github.ref }}" + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} + +jobs: + dev: + strategy: + fail-fast: false + matrix: + include: + - os: windows-latest + target: x86_64-pc-windows-msvc + bundle: nsis + - os: macos-latest + target: aarch64-apple-darwin + bundle: dmg + - os: macos-latest + target: x86_64-apple-darwin + bundle: dmg + + runs-on: ${{ matrix.os }} + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Install Rust Stable + uses: dtolnay/rust-toolchain@1.77.0 + + - name: Add Rust Target + run: rustup target add ${{ matrix.target }} + + - name: Rust Cache + uses: Swatinem/rust-cache@v2 + with: + workspaces: src-tauri + cache-all-crates: true + cache-on-failure: true + + - name: Install Node + uses: actions/setup-node@v4 + with: + node-version: "20" + + - uses: pnpm/action-setup@v4 + name: Install pnpm + with: + run_install: false + + - name: Pnpm install and check + run: | + pnpm i + pnpm check ${{ matrix.target }} + + - name: Tauri build + uses: tauri-apps/tauri-action@v0 + env: + NODE_OPTIONS: "--max_old_space_size=4096" + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tauriScript: pnpm + args: --target ${{ matrix.target }} -b ${{ matrix.bundle }} + + - name: Upload Artifacts + if: matrix.os == 'macos-latest' + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.target }} + path: src-tauri/target/${{ matrix.target }}/release/bundle/macos/*.dmg + if-no-files-found: error + + - name: Upload Artifacts + if: matrix.os == 'windows-latest' + uses: actions/upload-artifact@v4 + with: + name: ${{ matrix.target }} + path: src-tauri/target/${{ matrix.target }}/release/bundle/nsis/*.exe + if-no-files-found: error diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a5822de..fe33672 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -264,6 +264,6 @@ jobs: - name: Submit to Winget uses: vedantmgoyal9/winget-releaser@main with: - identifer: ClashVergeRev.ClashVergeRev + identifier: ClashVergeRev.ClashVergeRev installers-regex: '_(arm64|x64|x86)-setup\.exe$' token: ${{ secrets.GITHUB_TOKEN }}