Skip to content

Commit b8db6f2

Browse files
committed
add release yml
1 parent 46cf651 commit b8db6f2

1 file changed

Lines changed: 106 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
build-macos:
10+
runs-on: macos-latest
11+
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
16+
- name: Setup Bun
17+
uses: oven-sh/setup-bun@v2
18+
with:
19+
bun-version: latest
20+
21+
- name: Install dependencies
22+
run: bun install
23+
24+
- name: Rebuild native modules for Electron
25+
run: bun run rebuild
26+
27+
- name: Build and Package (macOS)
28+
run: bun run package --mac
29+
env:
30+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
31+
32+
- name: Upload macOS artifacts
33+
uses: actions/upload-artifact@v4
34+
with:
35+
name: macos-release
36+
path: |
37+
release/*.dmg
38+
release/*.zip
39+
if-no-files-found: error
40+
41+
build-windows:
42+
runs-on: windows-latest
43+
44+
steps:
45+
- name: Checkout repository
46+
uses: actions/checkout@v4
47+
48+
- name: Setup Bun
49+
uses: oven-sh/setup-bun@v2
50+
with:
51+
bun-version: latest
52+
53+
- name: Install dependencies
54+
run: bun install
55+
56+
- name: Rebuild native modules for Electron
57+
run: bun run rebuild
58+
59+
- name: Build and Package (Windows)
60+
run: bun run package --win
61+
env:
62+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
63+
64+
- name: Upload Windows artifacts
65+
uses: actions/upload-artifact@v4
66+
with:
67+
name: windows-release
68+
path: |
69+
release/*.exe
70+
if-no-files-found: error
71+
72+
create-release:
73+
needs: [build-macos, build-windows]
74+
runs-on: ubuntu-latest
75+
permissions:
76+
contents: write
77+
78+
steps:
79+
- name: Checkout repository
80+
uses: actions/checkout@v4
81+
with:
82+
fetch-depth: 0
83+
84+
- name: Download macOS artifacts
85+
uses: actions/download-artifact@v4
86+
with:
87+
name: macos-release
88+
path: release
89+
90+
- name: Download Windows artifacts
91+
uses: actions/download-artifact@v4
92+
with:
93+
name: windows-release
94+
path: release
95+
96+
- name: List release files
97+
run: ls -la release/
98+
99+
- name: Create GitHub Release
100+
uses: softprops/action-gh-release@v2
101+
with:
102+
name: Release ${{ github.ref_name }}
103+
files: release/*
104+
generate_release_notes: true
105+
env:
106+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)