-
Notifications
You must be signed in to change notification settings - Fork 2
134 lines (118 loc) · 3.72 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
name: Release
on:
push:
tags:
- "v*"
workflow_dispatch:
jobs:
create-release:
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set output
id: vars
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
# 安装 Node.js
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Generate changelog
id: create_release
run: npx changelogithub --draft --name ${{ steps.vars.outputs.tag }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-app:
needs: create-release
permissions:
contents: write
strategy:
fail-fast: false
matrix:
platform: [macos-latest, macos-12, windows-latest, ubuntu-20.04]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- uses: pnpm/action-setup@v3
with:
version: latest
- name: install dependencies (ubuntu only)
if: matrix.platform == 'ubuntu-20.04'
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev patchelf
# 安装 Rust
- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
# 使用 Rust 缓存,加快安装速度
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: ./src-tauri -> target
# 获取 pnpm 缓存
- name: Sync node version and setup cache
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
# 安装依赖, 前端打包
- name: Install app dependencies and build web
run: pnpm install --frozen-lockfile
# 执行构建,以及推送 github release
- name: Build the app
uses: tauri-apps/tauri-action@v0
env:
CI: false
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tagName: ${{ github.ref_name }}
releaseName: Wallhaven ${{ needs.create-release.outputs.APP_VERSION }}
releaseBody: ""
releaseDraft: true
prerelease: false
# jobs:
# release:
# strategy:
# fail-fast: false
# matrix:
# platform: [macos-latest, ubuntu-20.04, windows-latest]
# runs-on: ${{ matrix.platform }}
# steps:
# - uses: actions/checkout@v4
# - name: setup node
# uses: actions/setup-node@v4
# with:
# node-version: 18
# - name: install pnpm
# uses: pnpm/action-setup@v2
# with:
# version: 9.4.0 # 使用您需要的 pnpm 版本
# - name: install Rust stable
# uses: dtolnay/rust-toolchain@stable
# - name: install dependencies (ubuntu only)
# if: matrix.platform == 'ubuntu-20.04'
# run: |
# sudo apt-get update
# sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
# - name: install frontend dependencies
# run: pnpm install
# - name: build frontend
# run: pnpm build # 确保这个命令与您的 package.json 中的脚本一致
# - uses: tauri-apps/tauri-action@v0
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# tagName: app-v__VERSION__
# releaseName: "App v__VERSION__"
# releaseBody: "See the assets to download this version and install."
# releaseDraft: true
# prerelease: false