-
Notifications
You must be signed in to change notification settings - Fork 40
132 lines (107 loc) · 4.28 KB
/
on-workflow-dispatch-tauri.yaml
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
name: 🚀 Tauri Dekstop App
on:
workflow_dispatch:
inputs:
branchName:
description: 'Branch Name you are releasing from'
required: true
version:
description: 'Version tag for the Github Release and the .dmg for MacOS'
required: true
release_as_draft:
description: 'Release as Draft'
required: false
default: true
type: boolean
jobs:
publish-tauri:
permissions: write-all
strategy:
fail-fast: false
matrix:
platform: [macos-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: View branch name
run: |
echo "Branch name: ${{ github.event.inputs.branchName }}"
- name: View version
run: |
echo "Tag: ${{ github.event.inputs.version }}"
- name: Version as Number
id: next_version
run: |
tag=${{ github.event.inputs.version }}
echo "version=${tag:1}" >> $GITHUB_OUTPUT
- name: Checkout code
uses: actions/checkout@v3
- name: Rust setup
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 missing Rust target for universal Mac build
if: matrix.platform == 'macos-latest'
run: rustup target add aarch64-apple-darwin
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: "./src-tauri -> target"
- name: Sync node version and setup cache
uses: actions/setup-node@v3
with:
node-version: "lts/*"
cache: "npm"
- name: Install frontend dependencies
run: npm install
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: ^1.20.1
id: go
- name: Install dasel
run: |
go install github.com/tomwright/dasel/cmd/dasel@latest
- name: Update with latest branch
run: |
git config --local user.email "$(git log --format='%ae' HEAD^!)"
git config --local user.name "$(git log --format='%an' HEAD^!)"
git config pull.rebase true
git stash
git fetch origin ${{ github.event.inputs.branchName }}
git pull origin ${{ github.event.inputs.branchName }}
git stash pop || true
- name: Increment version
run: |
dasel put string -f package.json ".version" "${{ steps.next_version.outputs.version }}"
dasel put string -f src-tauri/tauri.conf.json ".package.version" "${{ steps.next_version.outputs.version }}"
dasel put string -f src-tauri/Cargo.toml ".package.version" "${{ steps.next_version.outputs.version }}"
- name: Build the app
uses: tauri-apps/tauri-action@dev
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
ENABLE_CODE_SIGNING: ${{ secrets.APPLE_CERTIFICATE }}
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
with:
tagName: ${{ github.event.inputs.version }}
releaseName: "PremAI App ${{ github.event.inputs.version }}"
releaseBody: "See the assets to download and install this version."
releaseDraft: ${{ github.event.inputs.release_as_draft }}
includeDebug: true
updaterJsonKeepUniversal: true
args: ${{matrix.platform == 'ubuntu-20.04' && '--target x86_64-unknown-linux-gnu' || '--target universal-apple-darwin'}}
# Commit package.json, tauri.conf.json and Cargo.toml to master
- name: Commit & Push
continue-on-error: true
run: |
git add .
git commit -m "${{ github.event.inputs.version }}"
git push origin HEAD:${{ github.event.inputs.branchName }}