mirror of
https://github.com/atdunbg/Nekosonic-Music.git
synced 2026-06-22 00:58:51 +08:00
80 lines
2.1 KiB
YAML
80 lines
2.1 KiB
YAML
name: Release with Updater
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
jobs:
|
|
publish:
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-latest
|
|
platform: linux
|
|
- os: windows-latest
|
|
platform: windows
|
|
- os: macos-latest
|
|
platform: macos
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
|
|
- name: Setup Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Install Linux dependencies
|
|
if: matrix.os == 'ubuntu-latest'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
libasound2-dev \
|
|
libwebkit2gtk-4.0-dev \
|
|
build-essential \
|
|
curl \
|
|
wget \
|
|
file \
|
|
libssl-dev \
|
|
libgtk-3-dev \
|
|
libayatana-appindicator3-dev \
|
|
librsvg2-dev
|
|
|
|
- name: Install npm dependencies
|
|
run: npm install
|
|
|
|
- name: Extract release notes for version
|
|
id: release_notes
|
|
shell: bash
|
|
run: |
|
|
VERSION="${{ github.ref_name }}"
|
|
# 从 CHANGELOG.md 中提取 "## v0.3.0" 到下一个 "## " 之间的内容
|
|
NOTES=$(awk -v ver="## $VERSION" '$0 ~ ver {flag=1; next} /^## / && flag {exit} flag' CHANGELOG.md)
|
|
|
|
# 如果没有提取到内容,使用默认文本
|
|
if [ -z "$NOTES" ]; then
|
|
NOTES="See CHANGELOG.md for details."
|
|
fi
|
|
|
|
# 将多行内容写入环境变量(GitHub Actions 支持多行输入)
|
|
{
|
|
echo 'NOTES<<EOF'
|
|
echo "$NOTES"
|
|
echo EOF
|
|
} >> $GITHUB_ENV
|
|
|
|
- name: Build and publish with Tauri Action
|
|
uses: tauri-apps/tauri-action@v0
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
|
with:
|
|
tagName: ${{ github.ref_name }}
|
|
releaseName: 'v__VERSION__'
|
|
releaseBody: ${{ env.NOTES }}
|
|
releaseDraft: false
|
|
prerelease: false
|