-
-
Notifications
You must be signed in to change notification settings - Fork 13
130 lines (125 loc) · 3.94 KB
/
bundle.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
name: Bundle
on:
push:
branches: ['main']
pull_request:
branches: ['main']
concurrency:
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
jobs:
bundle_deb:
name: Bundle DEB (${{ matrix.target }})
strategy:
fail-fast: false
matrix:
# target: ['aarch64-unknown-linux-gnu', 'x86_64-unknown-linux-gnu']
target: ['x86_64-unknown-linux-gnu']
runs-on: ubuntu-latest
container:
image: ivangabriele/tauri:debian-bookworm-22
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install core build requirements
run: make setup-debian
# - if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}
# name: Install ARM64 build requirements
# run: |
# make setup-debian-arm64
# ln -sf /usr/bin/pkg-config /usr/bin/aarch64-linux-gnu-pkg-config
# echo "PKG_CONFIG_ALLOW_CROSS=1" >> $GITHUB_ENV
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: 'cargo,clippy,rust-docs,rust-src,rustc,rustfmt'
rustflags: ''
target: ${{ matrix.target }}
toolchain: '1.80'
- name: Setup Node.js
uses: actions/setup-node@v4
with:
cache: yarn
node-version: 22
- name: Prepare
run: yarn --frozen-lockfile
- name: Bundle
run: yarn bundle:deb --target ${{ matrix.target }}
env:
TARGET: ${{ matrix.target }}
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target }}.deb
path: src-tauri/target/${{ matrix.target }}/release/bundle/deb/*.deb
retention-days: 1
bundle_dmg:
name: Bundle DMG (${{ matrix.target }})
strategy:
fail-fast: false
matrix:
target: ['aarch64-apple-darwin', 'x86_64-apple-darwin']
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install core build requirements
run: make setup-macos
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: 'cargo,clippy,rust-docs,rust-src,rustc,rustfmt'
target: ${{ matrix.target }}
rustflags: ''
toolchain: '1.80'
- name: Setup Node.js
uses: actions/setup-node@v4
with:
cache: yarn
node-version: 22
- name: Prepare
run: yarn --frozen-lockfile
- name: Bundle
run: yarn bundle:dmg --target ${{ matrix.target }}
env:
TARGET: ${{ matrix.target }}
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target }}.dmg
path: src-tauri/target/${{ matrix.target }}/release/bundle/dmg/*.dmg
retention-days: 1
bundle_msi:
name: Bundle MSI (${{ matrix.target }})
strategy:
fail-fast: false
matrix:
target: ['aarch64-pc-windows-msvc', 'x86_64-pc-windows-msvc']
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: 'cargo,clippy,rust-docs,rust-src,rustc,rustfmt'
rustflags: ''
target: ${{ matrix.target }}
toolchain: '1.80'
- name: Setup Node.js
uses: actions/setup-node@v4
with:
cache: yarn
node-version: 22
- name: Prepare
run: yarn --frozen-lockfile
- name: Bundle
run: yarn bundle:msi --target ${{ matrix.target }}
env:
TARGET: ${{ matrix.target }}
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.target }}.msi
path: src-tauri/target/${{ matrix.target }}/release/bundle/msi/*.msi
retention-days: 1