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
7 changes: 5 additions & 2 deletions .github/workflows/ci-desktop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,13 @@ jobs:
python3 -c "
import os, re
version = os.environ['BASE_VERSION']
with open('pyproject.toml', 'r') as f:
# Windows runner 的 Python 默认 locale 编码是 cp1252,读含非 ASCII 字节
# (如 0x8d)的 pyproject.toml 会 charmap 解码崩溃。2026-08-17 实测
# v0.4.35-beta.1 桌面构建正是死在这里。显式指定 utf-8。
with open('pyproject.toml', 'r', encoding='utf-8') as f:
content = f.read()
content = re.sub(r'^version = \".*?\"', f'version = \"{version}\"', content, count=1, flags=re.MULTILINE)
with open('pyproject.toml', 'w') as f:
with open('pyproject.toml', 'w', encoding='utf-8') as f:
f.write(content)
"

Expand Down
49 changes: 31 additions & 18 deletions .github/workflows/pr-auto-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -215,28 +215,41 @@ jobs:
body += "✅ All automated checks passed. No issues found.\n";
}

const { data: comments } = await github.rest.issues.listComments({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
});

const botComment = comments.find(c => c.user.type === 'Bot' && c.body.includes('## PR Auto Review'));

if (botComment) {
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: botComment.id,
body: body
});
} else {
await github.rest.issues.createComment({
// 发评论包在 try/catch 里:跨 fork PR 触发的 workflow,GITHUB_TOKEN 是
// 只读的(GitHub 安全机制),发评论会 403 Resource not accessible by
// integration。此前这步没容错,导致任何外部贡献者的 PR——哪怕所有 lint
// 全过——auto-review 都必然红叉(2026-08-17 实测 PR #163 复现)。
// 403 时不让 job 失败,改成把 review 正文打进 job 日志,结论仍可读。
try {
const { data: comments } = await github.rest.issues.listComments({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: body
});

const botComment = comments.find(c => c.user.type === 'Bot' && c.body.includes('## PR Auto Review'));

if (botComment) {
await github.rest.issues.updateComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: botComment.id,
body: body
});
} else {
await github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: body
});
}
} catch (e) {
if (e.status === 403) {
core.warning('无法在 PR 上发评论(跨 fork PR,GITHUB_TOKEN 只读)。review 结果见下方 job 日志:\n\n' + body);
} else {
throw e;
}
}

// 评论已经发出去之后才失败,顺序不能颠倒:先 setFailed 会让 PR 上只剩一个
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pr-title-checker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ jobs:
TITLE="${{ github.event.pull_request.title }}"

# Conventional Commits regex: type(scope): description
# Types: feat, fix, test, refactor, chore, style, docs, perf, build, ci, revert
if [[ ! "$TITLE" =~ ^(feat|fix|test|refactor|chore|style|docs|perf|build|ci|revert)(\(.+\))?:\ .+ ]]; then
# Types: feat, fix, test, refactor, chore, style, docs, perf, build, ci, revert, release
if [[ ! "$TITLE" =~ ^(feat|fix|test|refactor|chore|style|docs|perf|build|ci|revert|release)(\(.+\))?:\ .+ ]]; then
echo "::error title=Invalid PR Title::PR title does not follow Conventional Commits format."
echo "Title: $TITLE"
echo "Expected format: type(scope): description"
Expand Down
2 changes: 1 addition & 1 deletion apps/backend/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "aiasys-backend"
version = "0.4.34"
version = "0.4.35-beta.1"
description = "AIASys agent backend"
readme = "README.md"
requires-python = ">=3.12"
Expand Down
2 changes: 1 addition & 1 deletion apps/desktop/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "aiasys-desktop",
"private": true,
"version": "0.4.34",
"version": "0.4.35-beta.1",
"description": "Electron desktop shell for AIASys",
"homepage": "https://aiasys.ai",
"author": "AIASys <contact@aiasys.ai>",
Expand Down
2 changes: 1 addition & 1 deletion apps/web/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "aiasys-web",
"private": true,
"version": "0.4.34",
"version": "0.4.35-beta.1",
"type": "module",
"scripts": {
"dev": "vite",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Changelog v0.4.35 - 2026-08-16
# Changelog v0.4.35-beta.1 - 2026-08-17

## li-xiu-qi

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "aiasys",
"private": true,
"version": "0.4.33"
"version": "0.4.35-beta.1"
}
Loading