mirror of
https://github.com/BTMuli/TeyvatGuide.git
synced 2025-12-06 08:32:51 +08:00
80 lines
2.5 KiB
YAML
80 lines
2.5 KiB
YAML
name: Build Test
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: "Version to build"
|
|
required: true
|
|
default: "0.1.0"
|
|
|
|
jobs:
|
|
build-tauri:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
settings:
|
|
- platform: windows-latest
|
|
args: "--verbose"
|
|
target: "windows"
|
|
bundlePath: msi/TeyvatGuide_v${{ github.event.inputs.version }}_x64_zh-CN.msi
|
|
- platform: macos-latest
|
|
args: "--target x86_64-apple-darwin"
|
|
target: "macos-intel"
|
|
bundlePath: macos/TeyvatGuide.app
|
|
- platform: macos-latest
|
|
args: "--target aarch64-apple-darwin"
|
|
target: "macos-arm"
|
|
bundlePath: macos/TeyvatGuide.app
|
|
runs-on: ${{ matrix.settings.platform }}
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Setup SSH
|
|
uses: webfactory/ssh-agent@v0.5.3
|
|
with:
|
|
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
|
- name: Add SSH known hosts
|
|
run: ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
|
|
- name: Test SSH connection
|
|
run: ssh -T git@github.com || true
|
|
- name: Add Rust targets(macOS Intel)
|
|
if: matrix.settings.target == 'macos-intel'
|
|
run: rustup target add x86_64-apple-darwin
|
|
- name: Add Rust targets(macOS ARM)
|
|
if: matrix.settings.target == 'macos-arm'
|
|
run: rustup target add aarch64-apple-darwin
|
|
|
|
- name: Rust setup
|
|
uses: dtolnay/rust-toolchain@stable
|
|
- name: Rust cache
|
|
uses: swatinem/rust-cache@v2
|
|
with:
|
|
workspaces: "./src-tauri -> target"
|
|
|
|
- name: setup node
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 23.3.0
|
|
- name: setup pnpm
|
|
uses: pnpm/action-setup@v2
|
|
with:
|
|
version: 9.15.0
|
|
- name: Install frontend dependencies
|
|
run: pnpm install
|
|
|
|
- name: Build app
|
|
run: pnpm tauri build -- ${{ matrix.settings.args }}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
TAURI_DIST_DIR: dist/${{ matrix.settings.target }}
|
|
TAURI_DIST_TARGET: ${{ matrix.settings.target }}
|
|
TAURI_VERSION: ${{ github.event.inputs.version }}
|
|
|
|
- name: Upload Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: TeyvatGuide_v${{ github.event.inputs.version }}_${{ matrix.settings.target }}
|
|
path: src-tauri/target/release/${{ matrix.settings.bundlePath }}
|
|
if-no-files-found: error
|