Skip to content

Commit ca5097d

Browse files
authored
Create build_chat.yml
1 parent 208a63f commit ca5097d

File tree

1 file changed

+104
-0
lines changed

1 file changed

+104
-0
lines changed

.github/workflows/build_chat.yml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
name: Release App
2+
3+
on:
4+
workflow_dispatch:
5+
release:
6+
types: [published]
7+
8+
jobs:
9+
create-release:
10+
permissions:
11+
contents: write
12+
runs-on: ubuntu-latest
13+
outputs:
14+
release_id: ${{ steps.create-release.outputs.result }}
15+
16+
steps:
17+
- uses: actions/checkout@v3
18+
- name: setup node
19+
uses: actions/setup-node@v3
20+
with:
21+
node-version: 18
22+
- name: get version
23+
run: echo "PACKAGE_VERSION=$(node -p "require('./src-tauri/tauri.conf.json').package.version")" >> $GITHUB_ENV
24+
- name: create release
25+
id: create-release
26+
uses: actions/github-script@v6
27+
with:
28+
script: |
29+
const { data } = await github.rest.repos.getLatestRelease({
30+
owner: context.repo.owner,
31+
repo: context.repo.repo,
32+
})
33+
return data.id
34+
build-tauri:
35+
needs: create-release
36+
permissions:
37+
contents: write
38+
strategy:
39+
fail-fast: false
40+
matrix:
41+
config:
42+
- os: ubuntu-latest
43+
arch: x86_64
44+
rust_target: x86_64-unknown-linux-gnu
45+
- os: macos-latest
46+
arch: x86_64
47+
rust_target: x86_64-apple-darwin
48+
- os: macos-latest
49+
arch: aarch64
50+
rust_target: aarch64-apple-darwin
51+
- os: windows-latest
52+
arch: x86_64
53+
rust_target: x86_64-pc-windows-msvc
54+
55+
runs-on: ${{ matrix.config.os }}
56+
steps:
57+
- uses: actions/checkout@v3
58+
- name: setup node
59+
uses: actions/setup-node@v3
60+
with:
61+
node-version: 18
62+
- name: install Rust stable
63+
uses: dtolnay/rust-toolchain@stable
64+
with:
65+
targets: ${{ matrix.config.rust_target }}
66+
- uses: Swatinem/rust-cache@v2
67+
with:
68+
key: ${{ matrix.config.rust_target }}
69+
- name: install dependencies (ubuntu only)
70+
if: matrix.config.os == 'ubuntu-latest'
71+
run: |
72+
sudo apt-get update
73+
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf
74+
- name: install frontend dependencies
75+
run: yarn install # change this to npm or pnpm depending on which one you use
76+
- uses: tauri-apps/tauri-action@v0
77+
env:
78+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
79+
TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
80+
TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
81+
with:
82+
releaseId: ${{ needs.create-release.outputs.release_id }}
83+
84+
publish-release:
85+
permissions:
86+
contents: write
87+
runs-on: ubuntu-latest
88+
needs: [create-release, build-tauri]
89+
90+
steps:
91+
- name: publish release
92+
id: publish-release
93+
uses: actions/github-script@v6
94+
env:
95+
release_id: ${{ needs.create-release.outputs.release_id }}
96+
with:
97+
script: |
98+
github.rest.repos.updateRelease({
99+
owner: context.repo.owner,
100+
repo: context.repo.repo,
101+
release_id: process.env.release_id,
102+
draft: false,
103+
prerelease: false
104+
})

0 commit comments

Comments
 (0)