12
12
jobs :
13
13
create-release :
14
14
runs-on : ubuntu-latest
15
+ outputs :
16
+ release_tag : ${{ steps.vars.outputs.tag }}
15
17
steps :
16
- - uses : actions/checkout@v3
18
+ - uses : actions/checkout@v4
17
19
with :
18
20
fetch-depth : 0
19
21
submodules : recursive
23
25
run : echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
24
26
25
27
- name : Setup node
26
- uses : actions/setup-node@v3
28
+ uses : actions/setup-node@v4
27
29
with :
28
- node-version : 16.x
30
+ node-version : 18
29
31
30
32
- name : Generate changelog
31
33
id : create_release
@@ -42,18 +44,41 @@ jobs:
42
44
43
45
runs-on : ${{ matrix.platform }}
44
46
47
+ env :
48
+ PNPM_VERSION : 8.x.x
49
+ NODE_VERSION : 18
50
+ RUST_TOOLCHAIN : stable
51
+
45
52
steps :
46
53
- name : Checkout repository
47
- uses : actions/checkout@v3
48
- - uses : pnpm/action-setup@v2
54
+ uses : actions/checkout@v4
55
+ with :
56
+ fetch-depth : 1
57
+ submodules : recursive
58
+
59
+ - name : Install pnpm
60
+ uses : pnpm/action-setup@v4
61
+ with :
62
+ version : ${{ env.PNPM_VERSION }}
63
+ run_install : false
64
+
65
+ - name : Setup Node.js
66
+ uses : actions/setup-node@v4
67
+ with :
68
+ node-version : ${{ env.NODE_VERSION }}
69
+ cache : pnpm
70
+
71
+ - name : Install Rust
72
+ uses : dtolnay/rust-toolchain@stable
49
73
with :
50
- version : latest
74
+ toolchain : ${{ env.RUST_TOOLCHAIN }}
51
75
52
- - name : install dependencies (ubuntu only )
76
+ - name : Install system dependencies (Ubuntu )
53
77
if : matrix.platform == 'ubuntu-22.04'
54
78
run : |
55
- sudo apt update
56
- sudo apt install libwebkit2gtk-4.1-dev \
79
+ sudo apt-get update
80
+ sudo apt-get install -y --no-install-recommends \
81
+ libwebkit2gtk-4.1-dev \
57
82
build-essential \
58
83
curl \
59
84
wget \
@@ -63,39 +88,31 @@ jobs:
63
88
libayatana-appindicator3-dev \
64
89
librsvg2-dev
65
90
66
- - name : install dependencies (mac only )
91
+ - name : Install system dependencies (macOS )
67
92
if : matrix.platform == 'macos-latest'
68
93
run : |
94
+ brew install rocksdb llvm
69
95
rustup target add aarch64-apple-darwin
70
- brew install g++
71
-
72
- - name : Install Rust stable
73
- uses : dtolnay/rust-toolchain@stable
74
96
75
- - name : Rust cache
97
+ - name : Cache Rust dependencies
76
98
uses : swatinem/rust-cache@v2
77
99
with :
78
100
workspaces : " ./src-tauri -> target"
101
+ cache-on-failure : true
102
+ shared-key : " ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }}"
79
103
80
- - name : Sync node version and setup cache
81
- uses : actions/setup-node@v3
82
- with :
83
- node-version : " 16"
84
- cache : " pnpm"
85
-
86
- - name : Install app dependencies and build web
87
- run : pnpm install --frozen-lockfile
88
-
89
- - name : submodules install
90
- run : cd it-tools && pnpm install
104
+ - name : Install dependencies
105
+ run : |
106
+ pnpm install --frozen-lockfile
107
+ cd it-tools && pnpm install --frozen-lockfile
91
108
92
109
- name : Build the app
93
110
uses : tauri-apps/tauri-action@v0
94
111
env :
95
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
112
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
96
113
with :
97
- tagName : ${{ github.ref_name }}
98
- releaseName : it-tools-app ${{ needs.create-release.outputs.APP_VERSION }}
114
+ tagName : ${{ needs.create-release.outputs.release_tag }}
115
+ releaseName : " it-tools-app ${{ needs.create-release.outputs.release_tag }}"
99
116
releaseBody : " "
100
117
releaseDraft : true
101
118
prerelease : false
0 commit comments