Skip to content

Commit b919671

Browse files
authored
Merge pull request #1 from spencerkit/feature/v0.2
refactor: remove tauri runtime and harden linux compatibility
2 parents c607367 + d16e4a2 commit b919671

45 files changed

Lines changed: 1217 additions & 5139 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ concurrency:
1616
jobs:
1717
version-consistency:
1818
name: Version Consistency
19-
runs-on: ubuntu-latest
19+
runs-on: ubuntu-22.04
2020
steps:
2121
- uses: actions/checkout@v4
2222
- uses: pnpm/action-setup@v4
@@ -35,7 +35,7 @@ jobs:
3535
fail-fast: false
3636
matrix:
3737
os:
38-
- ubuntu-latest
38+
- ubuntu-22.04
3939
- macos-latest
4040
- windows-latest
4141
steps:
@@ -50,29 +50,28 @@ jobs:
5050

5151
verify-linux:
5252
name: Verify Linux Runtime
53-
runs-on: ubuntu-latest
53+
runs-on: ubuntu-22.04
5454
needs: version-consistency
5555
env:
5656
CODER_STUDIO_START_TIMEOUT_MS: 45000
57+
CODER_STUDIO_RUST_TARGET: x86_64-unknown-linux-musl
5758
steps:
5859
- uses: actions/checkout@v4
59-
- name: Install Linux runtime dependencies
60+
- name: Install Linux build dependencies
6061
run: |
6162
sudo apt-get update
6263
sudo apt-get install -y \
6364
build-essential \
6465
curl \
6566
file \
66-
libayatana-appindicator3-dev \
67-
libssl-dev \
68-
libwebkit2gtk-4.1-dev \
69-
librsvg2-dev \
70-
patchelf \
67+
musl-tools \
7168
xvfb \
7269
wget
7370
- uses: dtolnay/rust-toolchain@stable
7471
with:
7572
components: rustfmt, clippy
73+
- name: Install Linux musl target
74+
run: rustup target add x86_64-unknown-linux-musl
7675
- uses: Swatinem/rust-cache@v2
7776
with:
7877
workspaces: apps/server -> .build/server/target

.github/workflows/release.yml

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ concurrency:
1616
jobs:
1717
preflight:
1818
name: Release Preflight
19-
runs-on: ubuntu-latest
19+
runs-on: ubuntu-22.04
2020
steps:
2121
- uses: actions/checkout@v4
2222
with:
@@ -41,7 +41,7 @@ jobs:
4141
fail-fast: false
4242
matrix:
4343
include:
44-
- os: ubuntu-latest
44+
- os: ubuntu-22.04
4545
package_slug: coder-studio-linux-x64
4646
- os: macos-latest
4747
package_slug: coder-studio-darwin-arm64
@@ -52,20 +52,19 @@ jobs:
5252
steps:
5353
- uses: actions/checkout@v4
5454
- if: startsWith(matrix.os, 'ubuntu')
55-
name: Install Linux runtime dependencies
55+
name: Install Linux build dependencies
5656
run: |
5757
sudo apt-get update
5858
sudo apt-get install -y \
5959
build-essential \
6060
curl \
6161
file \
62-
libayatana-appindicator3-dev \
63-
libssl-dev \
64-
libwebkit2gtk-4.1-dev \
65-
librsvg2-dev \
66-
patchelf \
62+
musl-tools \
6763
wget
6864
- uses: dtolnay/rust-toolchain@stable
65+
- if: startsWith(matrix.os, 'ubuntu')
66+
name: Install Linux musl target
67+
run: rustup target add x86_64-unknown-linux-musl
6968
- uses: Swatinem/rust-cache@v2
7069
with:
7170
workspaces: apps/server -> .build/server/target
@@ -75,6 +74,9 @@ jobs:
7574
node-version: 22
7675
cache: pnpm
7776
registry-url: 'https://registry.npmjs.org'
77+
- if: startsWith(matrix.os, 'ubuntu')
78+
name: Use Linux musl release target
79+
run: echo "CODER_STUDIO_RUST_TARGET=x86_64-unknown-linux-musl" >> "$GITHUB_ENV"
7880
- run: pnpm install --no-frozen-lockfile
7981
- run: pnpm release:check
8082
- run: 'node -e "require(''fs'').mkdirSync(''.artifacts'', { recursive: true })"'
@@ -94,28 +96,32 @@ jobs:
9496
needs:
9597
- preflight
9698
- publish-platform
97-
runs-on: ubuntu-latest
99+
runs-on: ubuntu-22.04
98100
steps:
99101
- uses: actions/checkout@v4
100-
- name: Install Linux runtime dependencies
102+
- name: Install Linux build dependencies
101103
run: |
102104
sudo apt-get update
103105
sudo apt-get install -y \
104106
build-essential \
105107
curl \
106108
file \
107-
libayatana-appindicator3-dev \
108-
libssl-dev \
109-
libwebkit2gtk-4.1-dev \
110-
librsvg2-dev \
111-
patchelf \
109+
musl-tools \
112110
wget
111+
- uses: dtolnay/rust-toolchain@stable
112+
- name: Install Linux musl target
113+
run: rustup target add x86_64-unknown-linux-musl
114+
- uses: Swatinem/rust-cache@v2
115+
with:
116+
workspaces: apps/server -> .build/server/target
113117
- uses: pnpm/action-setup@v4
114118
- uses: actions/setup-node@v4
115119
with:
116120
node-version: 22
117121
cache: pnpm
118122
registry-url: 'https://registry.npmjs.org'
123+
- name: Use Linux musl release target
124+
run: echo "CODER_STUDIO_RUST_TARGET=x86_64-unknown-linux-musl" >> "$GITHUB_ENV"
119125
- run: pnpm install --no-frozen-lockfile
120126
- run: pnpm release:check
121127
- run: 'node -e "require(''fs'').mkdirSync(''.artifacts'', { recursive: true })"'
@@ -135,7 +141,7 @@ jobs:
135141
needs:
136142
- publish-platform
137143
- publish-main
138-
runs-on: ubuntu-latest
144+
runs-on: ubuntu-22.04
139145
steps:
140146
- uses: actions/checkout@v4
141147
- uses: pnpm/action-setup@v4

README.en.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,13 @@ This keeps maintainable source, publish templates, and generated artifacts out o
107107

108108
## Run
109109

110-
### Option 1: Tauri shell development mode (recommended)
110+
### Option 1: Combined development mode (recommended)
111111

112112
```bash
113-
pnpm tauri dev
113+
pnpm dev:stack
114114
```
115115

116-
This is the closest workflow to the Tauri shell development experience.
116+
This starts the frontend dev server, the local server runtime, and the linked development flow used by local E2E.
117117

118118
### Option 2: Split frontend/server debugging
119119

@@ -156,10 +156,12 @@ CLI build:
156156
pnpm build:cli
157157
```
158158

159-
Tauri shell build:
159+
Full runtime build:
160160

161161
```bash
162-
pnpm tauri build
162+
pnpm build:web
163+
pnpm build:server
164+
pnpm build:cli
163165
```
164166

165167
## Public Deployment

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,13 @@ coder-studio completion uninstall bash
106106

107107
## 运行
108108

109-
### 方式 1:Tauri 壳层开发模式(推荐)
109+
### 方式 1:联动开发模式(推荐)
110110

111111
```bash
112-
pnpm tauri dev
112+
pnpm dev:stack
113113
```
114114

115-
这是最接近 Tauri 壳层联调的运行方式
115+
这会同时拉起前端开发服务器、本地 server 和开发态 E2E 所需的联动环境
116116

117117
### 方式 2:前后端分离调试
118118

@@ -155,10 +155,12 @@ pnpm build:server
155155
pnpm build:cli
156156
```
157157

158-
构建 Tauri 壳层
158+
构建完整运行时
159159

160160
```bash
161-
pnpm tauri build
161+
pnpm build:web
162+
pnpm build:server
163+
pnpm build:cli
162164
```
163165

164166
## 公开部署

0 commit comments

Comments
 (0)