Skip to content

Commit 593af52

Browse files
authored
Deployment workflow for Tauri builds
Updated GitHub Actions workflow to build Tauri for multiple platforms and zip the output accordingly.
1 parent 19dc481 commit 593af52

1 file changed

Lines changed: 55 additions & 22 deletions

File tree

.github/workflows/deployment-develop.yml

Lines changed: 55 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,46 +6,79 @@ on:
66
- develop
77

88
jobs:
9-
deploy:
10-
runs-on: ubuntu-latest
9+
tauri:
10+
name: Build Tauri (${{ matrix.platform }})
11+
runs-on: ${{ matrix.os }}
12+
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
include:
17+
- os: ubuntu-latest
18+
platform: linux
19+
zip_name: gamevault-tauri-linux.zip
20+
- os: windows-latest
21+
platform: windows
22+
zip_name: gamevault-tauri-windows.zip
23+
- os: macos-latest
24+
platform: macos
25+
zip_name: gamevault-tauri-macos.zip
26+
1127
steps:
1228
- name: Checkout
1329
uses: actions/checkout@v3
1430

31+
# Linux system deps
32+
- name: Install Linux system dependencies
33+
if: matrix.os == 'ubuntu-latest'
34+
run: |
35+
sudo apt update
36+
sudo apt install -y \
37+
libwebkit2gtk-4.1-dev \
38+
libappindicator3-dev \
39+
librsvg2-dev \
40+
patchelf
41+
42+
- name: Setup Rust
43+
uses: dtolnay/rust-toolchain@stable
44+
1545
- name: Setup pnpm
1646
uses: pnpm/action-setup@v4
1747
with:
1848
version: latest
1949

50+
- name: Setup Node
51+
uses: actions/setup-node@v4
52+
with:
53+
node-version: 20
54+
2055
- name: Install dependencies
2156
run: pnpm install --frozen-lockfile --strict-peer-dependencies
2257

23-
- name: Build
24-
run: pnpm run build
58+
- name: Build Tauri
59+
run: pnpm tauri build
60+
61+
# Zip for Linux & macOS
62+
- name: Zip bundle (Linux/macOS)
63+
if: matrix.os != 'windows-latest'
64+
run: |
65+
cd src-tauri/target/release/bundle
66+
zip -r ${{ matrix.zip_name }} .
67+
mv ${{ matrix.zip_name }} $GITHUB_WORKSPACE/
2568
26-
- name: Zip dist folder
69+
# Zip for Windows
70+
- name: Zip bundle (Windows)
71+
if: matrix.os == 'windows-latest'
2772
run: |
28-
zip -r gamevault-frontend.zip dist/*
73+
cd src-tauri/target/release/bundle
74+
powershell Compress-Archive -Path * -DestinationPath $env:GITHUB_WORKSPACE\${{ matrix.zip_name }}
2975
30-
- name: Upload gamevault-frontend.zip to unstable release
76+
- name: Upload to unstable release
3177
uses: svenstaro/upload-release-action@v2
3278
with:
3379
repo_token: ${{ secrets.GITHUB_TOKEN }}
34-
file: gamevault-frontend.zip
35-
asset_name: gamevault-frontend.zip
80+
file: ${{ matrix.zip_name }}
81+
asset_name: ${{ matrix.zip_name }}
3682
tag: unstable
3783
overwrite: true
3884
prerelease: true
39-
# sonarcloud:
40-
# name: SonarCloud
41-
# runs-on: ubuntu-latest
42-
# steps:
43-
# - uses: actions/checkout@v3
44-
# with:
45-
# fetch-depth: 0
46-
#
47-
# - name: SonarCloud Scan
48-
# uses: SonarSource/sonarcloud-github-action@master
49-
# env:
50-
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
51-
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

0 commit comments

Comments
 (0)