Skip to content

Commit 71b4efc

Browse files
committed
ci: add dev release workflow (#131)
1 parent 3eb0d79 commit 71b4efc

1 file changed

Lines changed: 85 additions & 0 deletions

File tree

.github/workflows/dev-release.yml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
name: Dev Release
2+
3+
run-name: '🚀 Dev Release'
4+
5+
on:
6+
workflow_dispatch:
7+
inputs:
8+
version:
9+
description: 'Version for dev release (optional)'
10+
required: false
11+
default: ''
12+
platform:
13+
description: 'Target platform for dev release'
14+
required: true
15+
default: macos
16+
type: choice
17+
options:
18+
- macos
19+
- linux
20+
- windows
21+
22+
permissions:
23+
contents: write
24+
pull-requests: read
25+
26+
jobs:
27+
dev-release:
28+
runs-on: ${{ matrix.os }}
29+
strategy:
30+
matrix:
31+
include:
32+
- platform: macos
33+
os: macos-latest
34+
target: --mac
35+
- platform: linux
36+
os: ubuntu-latest
37+
target: --linux
38+
- platform: windows
39+
os: windows-latest
40+
target: --win
41+
if: matrix.platform == github.event.inputs.platform
42+
steps:
43+
- name: Checkout repository
44+
uses: actions/checkout@v4
45+
46+
- name: Setup Node.js
47+
uses: actions/setup-node@v4
48+
with:
49+
node-version: '20'
50+
51+
- name: Setup pnpm
52+
uses: pnpm/action-setup@v3
53+
with:
54+
version: 8
55+
56+
- name: Install dependencies
57+
run: pnpm install
58+
59+
- name: Set version
60+
if: ${{ github.event.inputs.version != '' }}
61+
run: |
62+
node -e "const fs=require('fs');const pkg=JSON.parse(fs.readFileSync('package.json','utf8'));pkg.version='${{ github.event.inputs.version }}';fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2)+'\n');"
63+
64+
- name: Build dev package
65+
run: |
66+
pnpm build
67+
pnpm exec electron-builder ${{ matrix.target }} --publish never
68+
env:
69+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
70+
ELECTRON_BUILDER_CHANNEL: dev
71+
72+
- name: Upload artifacts
73+
uses: actions/upload-artifact@v4
74+
with:
75+
name: ${{ matrix.platform }}-dev-artifacts
76+
path: |
77+
dist/*.exe
78+
dist/*.dmg
79+
dist/*.zip
80+
dist/*.AppImage
81+
dist/*.deb
82+
dist/*.yml
83+
dist/*.yaml
84+
dist/*.blockmap
85+
retention-days: 30

0 commit comments

Comments
 (0)