Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ concurrency:
jobs:
version-consistency:
name: Version Consistency
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
Expand All @@ -35,7 +35,7 @@ jobs:
fail-fast: false
matrix:
os:
- ubuntu-latest
- ubuntu-22.04
- macos-latest
- windows-latest
steps:
Expand All @@ -50,29 +50,28 @@ jobs:

verify-linux:
name: Verify Linux Runtime
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: version-consistency
env:
CODER_STUDIO_START_TIMEOUT_MS: 45000
CODER_STUDIO_RUST_TARGET: x86_64-unknown-linux-musl
steps:
- uses: actions/checkout@v4
- name: Install Linux runtime dependencies
- name: Install Linux build dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
curl \
file \
libayatana-appindicator3-dev \
libssl-dev \
libwebkit2gtk-4.1-dev \
librsvg2-dev \
patchelf \
musl-tools \
xvfb \
wget
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Install Linux musl target
run: rustup target add x86_64-unknown-linux-musl
- uses: Swatinem/rust-cache@v2
with:
workspaces: apps/server -> .build/server/target
Expand Down
38 changes: 22 additions & 16 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ concurrency:
jobs:
preflight:
name: Release Preflight
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -41,7 +41,7 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
- os: ubuntu-22.04
package_slug: coder-studio-linux-x64
- os: macos-latest
package_slug: coder-studio-darwin-arm64
Expand All @@ -52,20 +52,19 @@ jobs:
steps:
- uses: actions/checkout@v4
- if: startsWith(matrix.os, 'ubuntu')
name: Install Linux runtime dependencies
name: Install Linux build dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
curl \
file \
libayatana-appindicator3-dev \
libssl-dev \
libwebkit2gtk-4.1-dev \
librsvg2-dev \
patchelf \
musl-tools \
wget
- uses: dtolnay/rust-toolchain@stable
- if: startsWith(matrix.os, 'ubuntu')
name: Install Linux musl target
run: rustup target add x86_64-unknown-linux-musl
- uses: Swatinem/rust-cache@v2
with:
workspaces: apps/server -> .build/server/target
Expand All @@ -75,6 +74,9 @@ jobs:
node-version: 22
cache: pnpm
registry-url: 'https://registry.npmjs.org'
- if: startsWith(matrix.os, 'ubuntu')
name: Use Linux musl release target
run: echo "CODER_STUDIO_RUST_TARGET=x86_64-unknown-linux-musl" >> "$GITHUB_ENV"
- run: pnpm install --no-frozen-lockfile
- run: pnpm release:check
- run: 'node -e "require(''fs'').mkdirSync(''.artifacts'', { recursive: true })"'
Expand All @@ -94,28 +96,32 @@ jobs:
needs:
- preflight
- publish-platform
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install Linux runtime dependencies
- name: Install Linux build dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
curl \
file \
libayatana-appindicator3-dev \
libssl-dev \
libwebkit2gtk-4.1-dev \
librsvg2-dev \
patchelf \
musl-tools \
wget
- uses: dtolnay/rust-toolchain@stable
- name: Install Linux musl target
run: rustup target add x86_64-unknown-linux-musl
- uses: Swatinem/rust-cache@v2
with:
workspaces: apps/server -> .build/server/target
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
registry-url: 'https://registry.npmjs.org'
- name: Use Linux musl release target
run: echo "CODER_STUDIO_RUST_TARGET=x86_64-unknown-linux-musl" >> "$GITHUB_ENV"
- run: pnpm install --no-frozen-lockfile
- run: pnpm release:check
- run: 'node -e "require(''fs'').mkdirSync(''.artifacts'', { recursive: true })"'
Expand All @@ -135,7 +141,7 @@ jobs:
needs:
- publish-platform
- publish-main
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
Expand Down
12 changes: 7 additions & 5 deletions README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,13 @@ This keeps maintainable source, publish templates, and generated artifacts out o

## Run

### Option 1: Tauri shell development mode (recommended)
### Option 1: Combined development mode (recommended)

```bash
pnpm tauri dev
pnpm dev:stack
```

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

### Option 2: Split frontend/server debugging

Expand Down Expand Up @@ -156,10 +156,12 @@ CLI build:
pnpm build:cli
```

Tauri shell build:
Full runtime build:

```bash
pnpm tauri build
pnpm build:web
pnpm build:server
pnpm build:cli
```

## Public Deployment
Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,13 +106,13 @@ coder-studio completion uninstall bash

## 运行

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

```bash
pnpm tauri dev
pnpm dev:stack
```

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

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

Expand Down Expand Up @@ -155,10 +155,12 @@ pnpm build:server
pnpm build:cli
```

构建 Tauri 壳层
构建完整运行时

```bash
pnpm tauri build
pnpm build:web
pnpm build:server
pnpm build:cli
```

## 公开部署
Expand Down
Loading
Loading