Skip to content

Commit f2ee9d8

Browse files
authored
Merge pull request #17 from qianmoQ/dev-25.0.0
chore(发布): 发布 25.0.0
2 parents 4a5ba84 + 5dc13cb commit f2ee9d8

File tree

3 files changed

+244
-0
lines changed

3 files changed

+244
-0
lines changed

.github/workflows/release.yml

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
name: Release
2+
3+
on:
4+
# 新发布触发
5+
release:
6+
types: [ published ]
7+
8+
# 手动触发
9+
workflow_dispatch:
10+
inputs:
11+
tag:
12+
description: 'Release tag (e.g., v1.0.0)'
13+
required: true
14+
type: string
15+
16+
env:
17+
CARGO_TERM_COLOR: always
18+
NODE_VERSION: '18'
19+
RUST_VERSION: '1.85.0'
20+
PNPM_VERSION: '8'
21+
22+
jobs:
23+
# 构建发布版本
24+
build-release:
25+
name: Build Release
26+
runs-on: ${{ matrix.platform }}
27+
28+
strategy:
29+
fail-fast: false
30+
matrix:
31+
platform: [ macos-latest, windows-latest ]
32+
include:
33+
- platform: macos-latest
34+
os: macos
35+
target: universal-apple-darwin
36+
- platform: windows-latest
37+
os: windows
38+
target: x86_64-pc-windows-msvc
39+
40+
steps:
41+
- name: Checkout repository
42+
uses: actions/checkout@v4
43+
44+
- name: Setup Node.js
45+
uses: actions/setup-node@v4
46+
with:
47+
node-version: ${{ env.NODE_VERSION }}
48+
49+
- name: Setup pnpm
50+
uses: pnpm/action-setup@v2
51+
with:
52+
version: ${{ env.PNPM_VERSION }}
53+
54+
- name: Setup Rust
55+
uses: dtolnay/rust-toolchain@stable
56+
with:
57+
toolchain: ${{ env.RUST_VERSION }}
58+
59+
- name: Add Rust targets (macOS)
60+
if: matrix.platform == 'macos-latest'
61+
run: |
62+
rustup target add aarch64-apple-darwin
63+
rustup target add x86_64-apple-darwin
64+
65+
- name: Rust Cache
66+
uses: Swatinem/rust-cache@v2
67+
with:
68+
workspaces: src-tauri
69+
70+
- name: Install frontend dependencies
71+
run: |
72+
if [ -f "pnpm-lock.yaml" ]; then
73+
pnpm install --frozen-lockfile
74+
else
75+
pnpm install
76+
fi
77+
shell: bash
78+
79+
- name: Build application
80+
run: pnpm tauri build --target ${{ matrix.target }}
81+
82+
- name: List build output (debug)
83+
run: |
84+
echo "=== Build output structure ==="
85+
find src-tauri/target -name "*.dmg" -o -name "*.app" -o -name "*.msi" -o -name "*.exe" | grep -E "\.(dmg|app|msi)$|CodeForge.*\.exe$" | head -20
86+
echo "=== Target directories ==="
87+
ls -la src-tauri/target/ || echo "Target directory not found"
88+
echo "=== Bundle directories ==="
89+
find src-tauri/target -name "bundle" -type d | head -10
90+
shell: bash
91+
92+
- name: Upload build artifacts (macOS)
93+
if: matrix.platform == 'macos-latest'
94+
uses: actions/upload-artifact@v4
95+
with:
96+
name: release-${{ matrix.os }}
97+
path: |
98+
src-tauri/target/universal-apple-darwin/release/bundle/dmg/*.dmg
99+
src-tauri/target/universal-apple-darwin/release/bundle/macos/*.app
100+
retention-days: 30
101+
102+
- name: Upload build artifacts (Windows)
103+
if: matrix.platform == 'windows-latest'
104+
uses: actions/upload-artifact@v4
105+
with:
106+
name: release-${{ matrix.os }}
107+
path: |
108+
src-tauri/target/x86_64-pc-windows-msvc/release/bundle/msi/*.msi
109+
src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/*.exe
110+
retention-days: 30
111+
112+
# 创建或更新 GitHub Release
113+
create-release:
114+
name: Create Release
115+
needs: build-release
116+
runs-on: ubuntu-latest
117+
if: github.event_name == 'workflow_dispatch'
118+
119+
steps:
120+
- name: Download all artifacts
121+
uses: actions/download-artifact@v4
122+
with:
123+
path: artifacts
124+
125+
- name: Prepare release assets
126+
run: |
127+
mkdir -p release-assets
128+
find artifacts -name "*.dmg" -exec cp {} release-assets/ \;
129+
find artifacts -name "*.msi" -exec cp {} release-assets/ \;
130+
find artifacts -name "*.exe" -exec cp {} release-assets/ \;
131+
132+
- name: Create Release
133+
uses: softprops/action-gh-release@v1
134+
with:
135+
tag_name: ${{ github.event.inputs.tag }}
136+
name: Release ${{ github.event.inputs.tag }}
137+
files: release-assets/*
138+
env:
139+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
140+
141+
# 更新现有 Release
142+
update-release:
143+
name: Update Release
144+
needs: build-release
145+
runs-on: ubuntu-latest
146+
if: github.event_name == 'release'
147+
148+
steps:
149+
- name: Download all artifacts
150+
uses: actions/download-artifact@v4
151+
with:
152+
path: artifacts
153+
154+
- name: Prepare release assets
155+
run: |
156+
mkdir -p release-assets
157+
find artifacts -name "*.dmg" -exec cp {} release-assets/ \;
158+
find artifacts -name "*.msi" -exec cp {} release-assets/ \;
159+
find artifacts -name "*.exe" -exec cp {} release-assets/ \;
160+
161+
- name: Upload to existing release
162+
uses: softprops/action-gh-release@v1
163+
with:
164+
tag_name: ${{ github.event.release.tag_name }}
165+
files: release-assets/*
166+
env:
167+
GH_TOKEN: ${{ secrets.GH_TOKEN }}

docs/content/release/25.0.0.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
title: 25.0.0
3+
---
4+
5+
我们激动地宣布 **CodeForge v25.0.0** 正式发布!这是 CodeForge 项目的首个正式版本,标志着这款轻量级、高性能桌面代码执行器正式与大家见面。
6+
7+
CodeForge 专为开发者、学生和编程爱好者设计,致力于提供简洁高效的代码执行体验。
8+
9+
---
10+
11+
## 📦 项目信息
12+
13+
- **项目地址**https://github.com/devlive-community/codeforge
14+
- **官方网站**https://codeforge.devlive.org/
15+
- **版本号**:v25.0.0
16+
- **发布日期**:2025年8月11日
17+
18+
---
19+
20+
## ✨ 核心功能特性
21+
22+
### 🔧 核心执行引擎
23+
- **多语言支持**:内置 Python2/Python3 支持,插件化架构可扩展更多语言
24+
- **实时代码执行**:支持代码实时运行和输出显示
25+
- **执行控制**:支持代码执行中断和超时控制
26+
- **结果复制**:一键复制执行结果到剪贴板
27+
28+
### 🎨 用户界面
29+
- **现代化编辑器**:集成代码高亮功能,提升编码体验
30+
- **组件化设计**:模块化的 UI 组件,包括 Tabs、Modal、Button、Toast、Select 等
31+
- **语言切换**:直观的语言选择界面,支持语言 Logo 显示
32+
- **关于页面**:完整的应用信息展示
33+
34+
### ⚙️ 系统配置
35+
- **插件系统**:支持插件定制配置和排序
36+
- **日志管理**:分级日志记录,支持独立文件存储
37+
- **配置更新**:支持语言配置动态更新
38+
- **执行环境**:自定义执行目录和编译前命令
39+
40+
### 🛠️ 开发体验
41+
- **快捷键支持**:完整的编辑器快捷键支持
42+
- **右键菜单**:优化的上下文菜单体验
43+
- **错误处理**:完善的错误提示和异常处理机制
44+
45+
---
46+
47+
## 🔄 技术架构
48+
49+
- **跨平台支持**:基于 Rust + Tauri 构建,支持 Windows、macOS
50+
- **模块化设计**:核心功能拆分为独立模块,便于维护和扩展
51+
- **插件架构**:支持第三方语言插件开发
52+
- **现代化工具链**:使用最新的 Rust 1.85.0 和现代前端技术栈
53+
54+
---
55+
56+
## 🎯 适用场景
57+
58+
- **学习编程**:学生练习代码、验证算法逻辑
59+
- **快速验证**:开发者测试代码片段、调试问题
60+
- **教学演示**:教师课堂代码演示和讲解
61+
- **原型开发**:快速构建和测试代码原型
62+
63+
---
64+
65+
## 📥 立即体验
66+
67+
访问我们的 [GitHub 仓库](https://github.com/devlive-community/codeforge) 下载最新版本,或访问 [官方网站](https://codeforge.devlive.org/) 了解更多信息。
68+
69+
---
70+
71+
## 🤝 参与贡献
72+
73+
CodeForge 是一个开源项目,我们欢迎社区的贡献!无论是代码提交、Bug 反馈还是功能建议,都将帮助 CodeForge 变得更加完善。

docs/pageforge.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,7 @@ footer:
1919
github:
2020
title: GitHub
2121
href: https://github.com/devlive-community/codeforge
22+
23+
nav:
24+
- 发布日志:
25+
- /release/25.0.0.md

0 commit comments

Comments
 (0)