Skip to content

Commit 04a702b

Browse files
committed
Revert "ci: require lint+build before deployment, remove duplicate workflows"
This reverts commit 7d2e693.
1 parent 7d2e693 commit 04a702b

3 files changed

Lines changed: 235 additions & 27 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,7 @@ concurrency:
1111
cancel-in-progress: true
1212

1313
jobs:
14-
lint:
15-
runs-on: ubuntu-latest
16-
steps:
17-
- name: Checkout
18-
uses: actions/checkout@v4
19-
20-
- name: Setup pnpm
21-
uses: pnpm/action-setup@v4
22-
23-
- name: Setup Node
24-
uses: actions/setup-node@v4
25-
with:
26-
node-version: 22
27-
cache: pnpm
28-
29-
- name: Install dependencies
30-
run: pnpm install --frozen-lockfile --strict-peer-dependencies
31-
32-
- name: Lint
33-
run: npx eslint .
34-
35-
- name: Build
36-
run: pnpm run build
37-
3814
release:
39-
needs: lint
4015
if: github.ref == 'refs/heads/master'
4116
runs-on: ubuntu-latest
4217
outputs:
@@ -93,8 +68,8 @@ jobs:
9368

9469
tauri:
9570
name: Build Tauri (${{ matrix.platform }})
96-
needs: [lint, release]
97-
if: ${{ !cancelled() && needs.lint.result == 'success' && (needs.release.result == 'success' || needs.release.result == 'skipped') }}
71+
needs: release
72+
if: ${{ !cancelled() && (needs.release.result == 'success' || needs.release.result == 'skipped') }}
9873
runs-on: ${{ matrix.os }}
9974

10075
strategy:
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Build and Deploy for Develop (Unstable Release)
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
8+
concurrency:
9+
group: deploy-develop-${{ github.ref }}
10+
cancel-in-progress: true
11+
12+
jobs:
13+
tauri:
14+
name: Build Tauri (${{ matrix.platform }})
15+
runs-on: ${{ matrix.os }}
16+
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
include:
21+
- os: ubuntu-latest
22+
platform: linux
23+
zip_name: gamevault-tauri-linux.zip
24+
- os: windows-latest
25+
platform: windows
26+
zip_name: gamevault-tauri-windows.zip
27+
- os: macos-latest
28+
platform: macos
29+
zip_name: gamevault-tauri-macos.zip
30+
31+
steps:
32+
- name: Checkout
33+
uses: actions/checkout@v4
34+
35+
- name: Install Linux system dependencies
36+
if: matrix.os == 'ubuntu-latest'
37+
run: |
38+
sudo apt update
39+
sudo apt install -y \
40+
libwebkit2gtk-4.1-dev \
41+
libappindicator3-dev \
42+
librsvg2-dev \
43+
patchelf
44+
45+
- name: Setup Rust
46+
uses: dtolnay/rust-toolchain@stable
47+
48+
- name: Rust cache
49+
uses: swatinem/rust-cache@v2
50+
with:
51+
workspaces: src-tauri
52+
53+
- name: Setup pnpm
54+
uses: pnpm/action-setup@v4
55+
56+
- name: Setup Node
57+
uses: actions/setup-node@v4
58+
with:
59+
node-version: 22
60+
cache: pnpm
61+
62+
- name: Install dependencies
63+
run: pnpm install --frozen-lockfile --strict-peer-dependencies
64+
65+
- name: Build Tauri
66+
run: pnpm tauri build
67+
68+
- name: Zip bundle (Linux/macOS)
69+
if: matrix.os != 'windows-latest'
70+
run: |
71+
cd src-tauri/target/release/bundle
72+
zip -r ${{ matrix.zip_name }} .
73+
mv ${{ matrix.zip_name }} $GITHUB_WORKSPACE/
74+
75+
- name: Zip bundle (Windows)
76+
if: matrix.os == 'windows-latest'
77+
run: |
78+
cd src-tauri/target/release/bundle
79+
powershell Compress-Archive -Path * -DestinationPath $env:GITHUB_WORKSPACE\${{ matrix.zip_name }}
80+
81+
- name: Upload to unstable release
82+
uses: svenstaro/upload-release-action@v2
83+
with:
84+
repo_token: ${{ secrets.GITHUB_TOKEN }}
85+
file: ${{ matrix.zip_name }}
86+
asset_name: ${{ matrix.zip_name }}
87+
tag: unstable
88+
overwrite: true
89+
prerelease: true
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
name: Build and Deploy for Master
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
8+
concurrency:
9+
group: deploy-master-${{ github.ref }}
10+
cancel-in-progress: true
11+
12+
jobs:
13+
release:
14+
runs-on: ubuntu-latest
15+
outputs:
16+
version: ${{ steps.package-version.outputs.current-version }}
17+
upload_url: ${{ steps.release.outputs.upload_url }}
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v4
21+
22+
- name: Fetch Current Package Version
23+
id: package-version
24+
uses: martinbeentjes/npm-get-version-action@v1.3.1
25+
26+
- name: Setup pnpm
27+
uses: pnpm/action-setup@v4
28+
29+
- name: Setup Node
30+
uses: actions/setup-node@v4
31+
with:
32+
node-version: 22
33+
cache: pnpm
34+
35+
- name: Install dependencies
36+
run: pnpm install --frozen-lockfile --strict-peer-dependencies
37+
38+
- name: Build
39+
run: pnpm run build
40+
41+
- name: Zip dist folder
42+
run: zip -r gamevault-frontend.zip dist
43+
44+
- name: Create Github Tag & Release
45+
id: release
46+
uses: CupOfTea696/gh-action-auto-release@v1.0.2
47+
env:
48+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49+
50+
- name: Upload Release Artifact
51+
uses: actions/upload-release-asset@v1
52+
with:
53+
asset_path: gamevault-frontend.zip
54+
asset_name: gamevault-frontend.zip
55+
asset_content_type: application/zip
56+
upload_url: ${{ steps.release.outputs.upload_url }}
57+
env:
58+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59+
60+
- name: Send Discord Notification
61+
uses: Ilshidur/action-discord@master
62+
env:
63+
DISCORD_WEBHOOK: ${{ secrets.DISCORD_RELEASE_BOT_WEBHOOK }}
64+
with:
65+
args: "<@&1128857090090340382> New Release: {{ EVENT_PAYLOAD.repository.full_name }} v${{ steps.package-version.outputs.current-version }} has been deployed. Here are the changes: https://github.com/{{ EVENT_PAYLOAD.repository.full_name }}/releases/tag/${{ steps.package-version.outputs.current-version }}"
66+
67+
tauri:
68+
name: Build Tauri (${{ matrix.platform }})
69+
needs: release
70+
runs-on: ${{ matrix.os }}
71+
72+
strategy:
73+
fail-fast: false
74+
matrix:
75+
include:
76+
- os: ubuntu-latest
77+
platform: linux
78+
zip_name: gamevault-tauri-linux
79+
- os: windows-latest
80+
platform: windows
81+
zip_name: gamevault-tauri-windows
82+
- os: macos-latest
83+
platform: macos
84+
zip_name: gamevault-tauri-macos
85+
86+
steps:
87+
- name: Checkout
88+
uses: actions/checkout@v4
89+
90+
- name: Install Linux system dependencies
91+
if: matrix.os == 'ubuntu-latest'
92+
run: |
93+
sudo apt update
94+
sudo apt install -y \
95+
libwebkit2gtk-4.1-dev \
96+
libappindicator3-dev \
97+
librsvg2-dev \
98+
patchelf
99+
100+
- name: Setup Rust
101+
uses: dtolnay/rust-toolchain@stable
102+
103+
- name: Rust cache
104+
uses: swatinem/rust-cache@v2
105+
with:
106+
workspaces: src-tauri
107+
108+
- name: Setup pnpm
109+
uses: pnpm/action-setup@v4
110+
111+
- name: Setup Node
112+
uses: actions/setup-node@v4
113+
with:
114+
node-version: 22
115+
cache: pnpm
116+
117+
- name: Install dependencies
118+
run: pnpm install --frozen-lockfile --strict-peer-dependencies
119+
120+
- name: Build Tauri
121+
run: pnpm tauri build
122+
123+
- name: Zip bundle (Linux/macOS)
124+
if: matrix.os != 'windows-latest'
125+
run: |
126+
cd src-tauri/target/release/bundle
127+
zip -r ${{ matrix.zip_name }}-v${{ needs.release.outputs.version }}.zip .
128+
mv ${{ matrix.zip_name }}-v${{ needs.release.outputs.version }}.zip $GITHUB_WORKSPACE/
129+
130+
- name: Zip bundle (Windows)
131+
if: matrix.os == 'windows-latest'
132+
run: |
133+
cd src-tauri/target/release/bundle
134+
powershell Compress-Archive -Path * -DestinationPath $env:GITHUB_WORKSPACE\${{ matrix.zip_name }}-v${{ needs.release.outputs.version }}.zip
135+
136+
- name: Upload Tauri artifact to release
137+
uses: actions/upload-release-asset@v1
138+
with:
139+
asset_path: ${{ matrix.zip_name }}-v${{ needs.release.outputs.version }}.zip
140+
asset_name: ${{ matrix.zip_name }}-v${{ needs.release.outputs.version }}.zip
141+
asset_content_type: application/zip
142+
upload_url: ${{ needs.release.outputs.upload_url }}
143+
env:
144+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)