Skip to content

add: 添加安装包路径 #79

add: 添加安装包路径

add: 添加安装包路径 #79

Workflow file for this run

name: release
on:
push:
tags:
- '*'
workflow_dispatch:
jobs:
release:
name: Release
permissions:
contents: write
strategy:
fail-fast: false
matrix:
target:
- name: x86_64-unknown-linux-gnu
file_name : "linux-x86_64"
os: ubuntu-22.04
# - name: aarch64-unknown-linux-gnu
# file_name : "linux-aarch64"
# os: ubuntu-22.04
# - name: i686-pc-windows-msvc
# file_name : "windows-x86"
# os: windows-latest
- name: x86_64-pc-windows-msvc
file_name : "windows-x86_64"
os: windows-latest
- name: aarch64-pc-windows-msvc
file_name: "windows-aarch64"
os: windows-latest
- name: x86_64-apple-darwin
file_name : "macos-x86_64"
os: macos-latest
- name: aarch64-apple-darwin
file_name : "macos-aarch64"
os: macos-latest
runs-on: ${{ matrix.target.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target.name }}
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'
- uses: pnpm/action-setup@v2
with:
version: latest
- name: Sync node version and setup cache
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'pnpm' # Set this to npm, yarn or pnpm.
- run: pnpm install
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target.name }}
- name: Install dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y libudev-dev libusb-1.0-0-dev libssl-dev pkg-config
sudo apt install libhidapi-dev -y
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev
- uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: --target ${{ matrix.target.name }}
- name: Windows package # 将编译好的二进制文件打包,如果是Windows就打包exe文件,其它系统打包AirISP*文件
if: runner.os == 'Windows'
run : |
mkdir -p ${{ github.workspace }}/release
cd src-tauri/target/${{ matrix.target.name }}/release
mkdir ${{ github.workspace }}/release/AirISP-next/
cp AirISP-next.exe ${{ github.workspace }}/release/AirISP-next/
cd ${{ github.workspace }}/release
7z a -tzip ${{ github.workspace }}/AirISP-${{ github.ref_name }}-${{ matrix.target.file_name }}.zip AirISP-next
- name: Linux rename
if: runner.os == 'Linux'
run : |
cd src-tauri/target/${{ matrix.target.name }}/release
mv air-isp-next AirISP-next
- name: Package
if: runner.os != 'Windows'
run : |
mkdir -p ${{ github.workspace }}/release
cd src-tauri/target/${{ matrix.target.name }}/release
chmod +x AirISP-next
mkdir ${{ github.workspace }}/release/AirISP-next/
cp AirISP-next ${{ github.workspace }}/release/AirISP-next/
cd ${{ github.workspace }}/release
tar zcvf ${{ github.workspace }}/AirISP-${{ github.ref_name }}-${{ matrix.target.file_name }}.tar.gz AirISP-next
- name: Create Windows release
if: runner.os == 'Windows'
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: "${{ github.workspace }}/AirISP-${{ github.ref_name }}-${{ matrix.target.file_name }}.zip, src-tauri/target/${{ matrix.target.name }}/release/bundle/nsis/*.exe"
- name: Create release
if: runner.os != 'Windows'
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: "${{ github.workspace }}/AirISP-${{ github.ref_name }}-${{ matrix.target.file_name }}.tar.gz, src-tauri/target/${{ matrix.target.name }}/release/bundle/*/*"
release-linux-aarch64:
name: release-linux-aarch64
permissions:
contents: write
strategy:
fail-fast: false
matrix:
target:
- name: aarch64-unknown-linux-gnu
file_name : "linux-aarch64"
os: ubuntu-22.04
runs-on: ${{ matrix.target.os }}
steps:
- uses: actions/checkout@v4
- name: Rust setup
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target.name }}
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './src-tauri -> target'
- uses: pnpm/action-setup@v2
with:
version: latest
- name: Sync node version and setup cache
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'pnpm' # Set this to npm, yarn or pnpm.
- run: pnpm install
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target.name }}
- name: Build
run: |
sudo apt-get update
sudo apt-get install gcc-aarch64-linux-gnu -y
sudo dpkg --add-architecture arm64
sudo rm -rf /etc/apt/sources.list
sudo cp ./.ubuntu-22.04.source /etc/apt/sources.list
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install -y libudev-dev libusb-1.0-0-dev libssl-dev pkg-config
sudo apt install libhidapi-dev -y
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev
sudo apt-get install -y libudev-dev:arm64 libusb-1.0-0-dev:arm64 libssl-dev:arm64
sudo apt-get install -y libgtk-3-dev:arm64 libwebkit2gtk-4.0-dev:arm64 libayatana-appindicator3-dev:arm64 librsvg2-dev:arm64
export PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu/
pnpm install
pnpm tauri build --target aarch64-unknown-linux-gnu
- name: Linux rename
if: runner.os == 'Linux'
run : |
cd src-tauri/target/${{ matrix.target.name }}/release
mv air-isp-next AirISP-next
- name: Package
run : |
mkdir -p ${{ github.workspace }}/release
cd src-tauri/target/${{ matrix.target.name }}/release
chmod +x AirISP-next
mkdir ${{ github.workspace }}/release/AirISP-next/
cp AirISP-next ${{ github.workspace }}/release/AirISP-next/
cd ${{ github.workspace }}/release
tar zcvf ${{ github.workspace }}/AirISP-${{ github.ref_name }}-${{ matrix.target.file_name }}.tar.gz AirISP-next
- name: "release"
uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: "${{ github.workspace }}/AirISP-${{ github.ref_name }}-${{ matrix.target.file_name }}.tar.gz, src-tauri/target/${{ matrix.target.name }}/release/bundle/*/*"