🎨 Optimize the code structure #49
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build App | |
on: | |
push: | |
# Sequence of patterns matched against refs/tags | |
tags: | |
- "V*" | |
jobs: | |
build: | |
name: build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
build: [linux, windows, macos] | |
include: | |
- build: linux | |
os: ubuntu-20.04 | |
rust: stable | |
target: x86_64-unknown-linux-musl | |
- build: windows | |
os: windows-latest | |
rust: stable-x86_64-msvc | |
target: x86_64-pc-windows-msvc | |
- build: macos | |
os: macos-latest | |
rust: stable | |
target: x86_64-apple-darwin | |
fail-fast: false | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: install node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: ${{ matrix.rust }} | |
target: ${{ matrix.target }} | |
- name: install dependencies (ubuntu only) | |
if: matrix.os == 'ubuntu-20.04' | |
uses: awalsh128/cache-apt-pkgs-action@latest | |
with: | |
packages: libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev gnome-video-effects gnome-video-effects-extra | |
version: 1.1 | |
- name: rust cache restore | |
uses: actions/cache/restore@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
src-tauri/target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: build for Ubuntu | |
if: matrix.os == 'ubuntu-20.04' | |
run: npm run build:all-unix | |
- name: build for MacOS | |
if: matrix.os == 'macos-latest' | |
run: | | |
rustup target add aarch64-apple-darwin | |
npm run build:all-unix | |
- name: build for windows | |
if: matrix.os == 'windows-latest' | |
shell: pwsh | |
run: | | |
npm run build:all-windows | |
- name: Upload files | |
# arg info: https://github.com/ncipollo/release-action#release-action | |
uses: ncipollo/release-action@v1 | |
with: | |
allowUpdates: true | |
artifacts: "output/*/*.*" | |
token: ${{ secrets.GITHUB_TOKEN }} |