Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
f0e53d1
fix(drivers/alias): default sort & substitute link (#1917)
KirCute Jan 26, 2026
29fcf59
fix(drivers/cloudreve_v4): add IsFolder attribute to Getter response …
xrgzs Jan 28, 2026
27732cc
fix(drivers/quark): apply html escaping in quark (#2046)
mkitsdts Jan 29, 2026
d685bbf
fix(api/remove): add validation for empty items in delete file list (…
datao2001 Jan 29, 2026
7b78fed
Merge commit from fork
jyxjjj Jan 31, 2026
e3c664f
Merge commit from fork
jyxjjj Jan 31, 2026
f542187
fix(drivers/teldrive): enhance file listing and upload functionality …
totza2010 Feb 1, 2026
5d9fc83
fix(115_share): adjust 115 share driver for official API update (#2068)
SheltonZhu Feb 2, 2026
6861cb4
chore(ci): add breaking change guideline to PR title check (#2087)
xrgzs Feb 6, 2026
a121f86
feat(drivers/123open): support sha1 reuse api (#2089)
gdm257 Feb 8, 2026
8431c1b
fix(deps): update go4.org digest to a507140 (#2095)
renovate[bot] Feb 8, 2026
a8d1c0d
fix(‎drivers/quark_uc_tv) : Update error code judgment (#2080)
jenfonro Feb 8, 2026
0673a74
chore(typo): fix typo in UpdateFileReq field name (#2133)
LXY1226 Feb 16, 2026
e0ee737
fix(driver/wps): fetch all files via multiple API invocations (#2139)
mkitsdts Feb 19, 2026
db0e2ec
feat(security): add SECURITY.md (#2147)
xrgzs Feb 19, 2026
82ae2d5
chore(handles/auth): improve error response (#2148)
xrgzs Feb 19, 2026
795a18b
feat(drivers/thunder*): implement GetDetails (#2113)
xrgzs Feb 21, 2026
b5626b2
chore(ci)!: update issue CI configuration [skip ci] (#2166)
jyxjjj Feb 25, 2026
5eaef96
fix(azure): remove properties and fix prefix (#2209)
bzssm Mar 9, 2026
f3428e6
fix(net): honor proxy settings when uploading to 115/115 Open/PikPak …
Copilot Mar 16, 2026
9a2ba1d
fix(server): add missing return after error responses (#2150)
Lanfei Mar 16, 2026
e41b683
feat(drivers): add doubao_new driver (#2114)
Elegant1E Mar 23, 2026
d598ef7
refactor(db)!: replace SQLite Driver with glebarez/sqlite to avoid CG…
PIKACHUIM Mar 25, 2026
d85f084
feat(permissions): implement fine-grained permission control (#2145)
Lanfei Mar 26, 2026
29447a4
revert(db)!: replace SQLite Driver with glebarez/sqlite to avoid CGO …
jyxjjj Mar 26, 2026
7bea29c
refactor(db): migrate sqlite to pure-go and add mips compatibility sw…
Suyunmeng Apr 2, 2026
9fdba3a
feat(drivers/123_open): support 123 official app api (#2293)
PIKACHUIM Apr 3, 2026
9e49adc
fix(drivers/openlist): pass through frontend refresh flag (#2307)
sevxn007 Apr 3, 2026
12c9bdb
fix(offline_download): prevent infinite retry on status update failur…
sdvcrx Apr 3, 2026
e11b8a8
fix(drivers/cloudreve_v4): remove token check for share (#2274)
xrgzs Apr 4, 2026
5b688a3
feat(docs): add CLAUDE.md for project guidance and development instru…
Jan 4, 2026
3b2f9d5
fix(driver): fix file copy failure to 123pan due to incorrect etag
Dec 28, 2025
79946a7
feat: Implement streaming upload for Baidu Netdisk
Jan 1, 2026
f637927
feat(upload): enhance hash calculation and upload logic for various s…
Jan 4, 2026
ff64f84
feat(link): add link refresh capability for expired download links
Jan 4, 2026
25dc69d
feat(network): 增加对慢速网络的支持,调整超时和重试机制
Jan 5, 2026
e91e882
fix: 修复500 panic和NaN问题
Jan 9, 2026
593bd4c
fix(alias): update storage retrieval method in listRoot function
Jan 4, 2026
d7dd42e
fix(copy_move): 将预创建子目录的深度从2级调整为1级,以避免深度递归问题
Jan 11, 2026
8d8ed27
fix(driver): 增加夸克分片大小调整逻辑,支持重试机制以应对超限错误
Jan 12, 2026
7f69f08
refactor(stream): 移除过时的链接刷新逻辑,添加自愈读取器以处理0字节读取
Jan 13, 2026
3446923
fix(google_drive): 更新Put方法以支持可重复读取流和不可重复读取流的MD5校验
Jan 13, 2026
0f467a3
ci: use Ironboxplus/OpenList-Frontend for beta builds
Jan 13, 2026
bf1711b
perf: optimize CI build speed with smart caching
Jan 13, 2026
2336cdc
fix(stream): 修复链接过期检测逻辑,避免将上下文取消视为链接过期
Jan 14, 2026
224ba4d
refactor(workflow): 使用默认前端仓库,移除自定义前端仓库配置
Jan 14, 2026
4b40a1e
feat(google_drive): 添加处理重复文件名的功能,确保文件名唯一
Jan 14, 2026
25c5a81
feat(quark_open): 添加速率限制和重试逻辑,优化文件上传处理
Jan 17, 2026
6f6c07a
feat(google_drive): 添加文件夹创建的锁机制和重试逻辑,确保文件夹唯一性
Jan 17, 2026
c05068c
refactor(link): 优化链接缓存逻辑,移除对 SyncClosers 的依赖,简化过期判断
Jan 18, 2026
23972f3
fix(stream): 更新过期链接检查逻辑,支持所有4xx客户端错误
Jan 18, 2026
86c7a05
fix(115_open): 修复重复链接错误处理,通过检测错误码10008自动删除并重试
Jan 27, 2026
40a4514
feat(offline_download): 优化任务列表获取逻辑,支持多页任务获取并更新任务状态提示
Feb 1, 2026
d996474
fix(google_drive): 增加 MakeDir 方法中的等待时间,以处理 Google Drive API 的同步延迟
Feb 9, 2026
70ddb51
fix(link): 修复本地文件 'file already closed' 错误
Feb 18, 2026
43c186a
fix(fs): fix srcBasePath bug and remove redundant sleep in preCreateD…
Feb 25, 2026
fdee9f0
test(fs): add unit tests for preCreateDirTreeFn; refactor for testabi…
Feb 25, 2026
409d01a
fix(google_drive): 添加重试机制以处理小文件上传时的读取错误
Mar 7, 2026
34799fe
fix(offline_download): cleanup 115 open completed tasks
Mar 9, 2026
1f5221f
Refactor code structure for improved readability and maintainability
Mar 12, 2026
4c5ee96
feat(stream): 添加自愈读取器和单元测试以处理中断的流重连
Mar 17, 2026
398779f
fix: 更新 WebVersion 为 latest,并在构建脚本中添加对 WEB_VERSION 环境变量的支持
Mar 17, 2026
ed2129c
feat(offline_download): 添加任务限制等待机制以优化离线下载任务处理
Mar 17, 2026
a58cc89
feat(115_open): expose proxy_range option
Mar 20, 2026
cb26d17
feat: 添加永久删除功能及相关单元测试
Mar 22, 2026
fc06cf0
feat: 添加前端缓存机制以优化构建过程
Mar 23, 2026
86eac21
feat: 更新 WebVersion 为 rolling,并添加 GOFLAGS 环境变量
Apr 4, 2026
9b793c0
feat: 将 WEB_VERSION 更新为 rolling
Apr 4, 2026
a51385f
feat: 更新 Docker 工作流以支持前端版本矩阵构建
Apr 4, 2026
da26e72
fix(op): invalidate new path cache on meta path update (#2322)
Lanfei Apr 9, 2026
8d39d63
fix(build): lock musl outputs to fully static linking in build script…
Suyunmeng Apr 9, 2026
b31ae9c
ci(actions): upgrade actions/checkout to v6 (#2338)
jyxjjj Apr 10, 2026
331f575
fix(drivers/139): check cdnSwitch before returning cdnUrl in personal…
xrgzs Apr 19, 2026
a5ba6a0
refactor(settings)!: move FilterReadMeScripts to frontend (#2346)
xrgzs Apr 20, 2026
ece1518
fix(drivers): add headers in Link methods (#2401)
xrgzs Apr 26, 2026
29ec90e
refactor(drivers/wps): remove resolveCache (#2411)
xrgzs Apr 27, 2026
3766389
fix(drivers/wps): implement driver.GetRooter interface (#2414)
xrgzs Apr 27, 2026
2d2d9ae
fix(drivers/wps): correct account relevant handling (#2415)
xrgzs Apr 27, 2026
c356bb4
feat(stream): link refresh, self-healing reader, seekable prefetch, a…
Apr 25, 2026
8b4a170
feat(google_drive): duplicate filename handling, folder lock, retry, …
Apr 25, 2026
bf6efdb
feat(115_open): permanent delete, proxy_range, offline task fixes, an…
Apr 25, 2026
9a33933
feat(offline_download): multi-page task retrieval and task limit wait…
Apr 25, 2026
2315749
feat(drivers): baidu streaming upload, quark rate-limit/retry, 123pan…
Apr 25, 2026
a09c5de
fix(core): copy_move depth, alias storage retrieval, sftp symlink, 50…
Apr 25, 2026
0e725bd
feat(frontend): dynamic frontend fetching, CI upgrades, and build inf…
Apr 25, 2026
bc14381
chore: add project docs and update dependencies (115-sdk-go fork)
Apr 25, 2026
4d50325
merge from feat/dyna-frontend
May 8, 2026
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
5 changes: 2 additions & 3 deletions .github/ISSUE_TEMPLATE/00-bug_report_zh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ body:
attributes:
label: 请确认以下事项
description: |
您必须阅读并检查以下内容,否则您的问题一定会被直接关闭。
您必须阅读、检查、确认、同意以下内容,否则您的问题一定会被直接关闭。
或者您可以去[讨论区](https://github.com/OpenListTeam/OpenList/discussions)。
options:
- label: |
Expand All @@ -35,8 +35,7 @@ body:
- label: |
我已确认这个问题在最新版本中没有被修复。
- label: |
我没有阅读这个清单,只是闭眼选中了所有的复选框,请关闭这个 Issue

我没有阅读这个清单,只是闭眼选中了所有的复选框,请关闭这个 Issue 。
- type: input
id: version
attributes:
Expand Down
5 changes: 2 additions & 3 deletions .github/ISSUE_TEMPLATE/01-bug_report_en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ body:
attributes:
label: Please confirm the following
description: |
You must read and check all the following, otherwise your issue will definitely be closed directly.
You must read, check, confirm, and agree to all the following, otherwise your issue will definitely be closed directly.
Or you can go to the [discussions](https://github.com/OpenListTeam/OpenList/discussions).
options:
- label: |
Expand All @@ -35,8 +35,7 @@ body:
- label: |
I confirm this issue is not fixed in the latest version.
- label: |
I have not read these checkboxes and therefore I just ticked them all, Please close this issue

I have not read these checkboxes and therefore I just ticked them all, Please close this issue.
- type: input
id: version
attributes:
Expand Down
4 changes: 3 additions & 1 deletion .github/ISSUE_TEMPLATE/02-feature_request_zh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ body:
attributes:
label: 请确认以下事项
description: |
您必须勾选以下内容,否则您的问题可能会被直接关闭。
您必须阅读、检查、确认、同意以下内容,否则您的问题可能会被直接关闭。
或者您可以去[讨论区](https://github.com/OpenListTeam/OpenList/discussions)。
options:
- label: |
Expand All @@ -28,6 +28,8 @@ body:
我已确认此功能尚未被实现。
- label: |
我已确认此功能是合理的,且有普遍需求,并非我个人需要。
- label: |
我没有阅读这个清单,只是闭眼选中了所有的复选框,请关闭这个 Issue 。
- type: textarea
id: feature-description
attributes:
Expand Down
6 changes: 4 additions & 2 deletions .github/ISSUE_TEMPLATE/03-feature_request_en.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: "Feature Request"
description: Feature Request / Enhancement
title: "[Feature] Please change the title to your feature name"
title: "[Feature] Please modify the title to your feature name"
labels: [enhancement]
body:
- type: checkboxes
attributes:
label: Please confirm the following
description: |
You must check all the following, otherwise your request may be closed directly.
You must read, check, confirm, and agree to all the following, otherwise your request may be closed directly.
Or you can go to the [discussions](https://github.com/OpenListTeam/OpenList/discussions).
options:
- label: |
Expand All @@ -28,6 +28,8 @@ body:
I confirm this feature has not been implemented yet.
- label: |
I confirm this feature is reasonable and has general demand, not just my personal need.
- label: |
I have not read these checkboxes and therefore I just ticked them all, Please close this issue.
- type: textarea
id: feature-description
attributes:
Expand Down
2 changes: 2 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@
Provide a general summary of your changes in the Title above.
The PR title must start with `feat(): `, `docs(): `, `fix(): `, `style(): `, or `refactor(): `, `chore(): `. For example: `feat(component): add new feature`.
If it spans multiple components, use the main component as the prefix and enumerate in the title, describe in the body.
For breaking changes, add `!` after the type, e.g., `feat(component)!: breaking change`.
-->
<!--
在上方标题中提供您更改的总体摘要。
PR 标题需以 `feat(): `, `docs(): `, `fix(): `, `style(): `, `refactor(): `, `chore(): ` 其中之一开头,例如:`feat(component): 新增功能`。
如果跨多个组件,请使用主要组件作为前缀,并在标题中枚举、描述中说明。
如果是破坏性变更,请在类型后添加 `!`,例如 `feat(component)!: 破坏性变更`。
-->

## Description / 描述
Expand Down
62 changes: 55 additions & 7 deletions .github/workflows/beta_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0

Expand Down Expand Up @@ -48,7 +48,7 @@ jobs:
tag_name: beta

- name: Upload assets to github artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: beta changelog
path: ${{ github.workspace }}/CHANGELOG.md
Expand All @@ -61,31 +61,56 @@ jobs:
strategy:
matrix:
include:
- target: "!(*musl*|*windows-arm64*|*windows7-*|*android*|*freebsd*)" # xgo and loongarch
- target: "!(*musl*|*windows-arm64*|*windows7-*|*android*|*freebsd*)" # xgo and loongarch (exclude mips64le)
hash: "md5"
- target: "linux-!(arm*)-musl*" #musl-not-arm
flags: ""
goflags: ""
- target: "linux-(mips|mips64|mipsle|mips64le|loong64)-musl*" # musl-compat-family
hash: "md5-linux-musl-mips"
flags: "-ldflags=-linkmode external -extldflags '-static -fpic'"
goflags: ""
musl_static: "true"
- target: "linux-!(arm*|mips|mips64|mipsle|mips64le|loong64)-musl*" # musl-not-arm (exclude compat-family)
hash: "md5-linux-musl"
flags: "-ldflags=-linkmode external -extldflags '-static -fpic'"
goflags: ""
musl_static: "true"
- target: "linux-arm*-musl*" #musl-arm
hash: "md5-linux-musl-arm"
flags: "-ldflags=-linkmode external -extldflags '-static -fpic'"
goflags: ""
musl_static: "true"
- target: "windows-arm64" #win-arm64
hash: "md5-windows-arm64"
flags: ""
goflags: ""
musl_static: "false"
- target: "windows7-*" #win7
hash: "md5-windows7"
flags: ""
goflags: "-tags=sqlite_cgo_compat"
musl_static: "false"
- target: "android-*" #android
hash: "md5-android"
flags: ""
goflags: ""
musl_static: "false"
- target: "freebsd-*" #freebsd
hash: "md5-freebsd"
flags: ""
goflags: ""
musl_static: "false"

name: Beta Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version: "1.25.0"

Expand All @@ -99,6 +124,8 @@ jobs:
uses: OpenListTeam/cgo-actions@v1.2.2
with:
targets: ${{ matrix.target }}
flags: ${{ matrix.flags || '-ldflags=' }}
static-link-for-musl: true
musl-target-format: $os-$musl-$arch
github-token: ${{ secrets.GITHUB_TOKEN }}
out-dir: build
Expand All @@ -110,6 +137,27 @@ jobs:
github.com/OpenListTeam/OpenList/v4/internal/conf.GitCommit=$git_commit
github.com/OpenListTeam/OpenList/v4/internal/conf.Version=$tag
github.com/OpenListTeam/OpenList/v4/internal/conf.WebVersion=rolling
github.com/OpenListTeam/OpenList/v4/internal/conf.FrontendRepoDefault=${{ vars.FRONTEND_REPO || 'OpenListTeam/OpenList-Frontend' }}
env:
GOFLAGS: ${{ matrix.goflags }}

- name: Verify musl binaries are static
if: matrix.musl_static == 'true'
run: |
set -e
shopt -s nullglob
files=(build/openlist-*-musl-*)
if [ ${#files[@]} -eq 0 ]; then
echo "No musl binaries found"
exit 1
fi
for f in "${files[@]}"; do
if readelf -l "$f" | grep -q "Requesting program interpreter"; then
echo "Dynamic binary detected: $f"
readelf -l "$f" | grep "Requesting program interpreter" || true
exit 1
fi
done

- name: Compress
run: |
Expand All @@ -135,7 +183,7 @@ jobs:
echo "cleaned_target=$CLEANED_TARGET" >> $GITHUB_ENV

- name: Upload assets to github artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: beta builds for ${{ env.cleaned_target }}
path: ${{ github.workspace }}/build/compress/*
Expand Down
24 changes: 20 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

jobs:
build:
strategy:
Expand All @@ -25,13 +28,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6

- uses: benjlevesque/short-sha@v3.0
id: short-sha

- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version: "1.25.0"

Expand All @@ -45,6 +48,8 @@ jobs:
uses: OpenListTeam/cgo-actions@v1.2.2
with:
targets: ${{ matrix.target }}
flags: ${{ contains(matrix.target, '-musl') && '-ldflags=-linkmode external -extldflags ''-static -fpic''' || '-ldflags=' }}
static-link-for-musl: true
musl-target-format: $os-$musl-$arch
github-token: ${{ secrets.GITHUB_TOKEN }}
out-dir: build
Expand All @@ -53,11 +58,22 @@ jobs:
github.com/OpenListTeam/OpenList/v4/internal/conf.GitAuthor=The OpenList Projects Contributors <noreply@openlist.team>
github.com/OpenListTeam/OpenList/v4/internal/conf.GitCommit=$git_commit
github.com/OpenListTeam/OpenList/v4/internal/conf.Version=$tag
github.com/OpenListTeam/OpenList/v4/internal/conf.WebVersion=rolling
github.com/OpenListTeam/OpenList/v4/internal/conf.WebVersion=latest
github.com/OpenListTeam/OpenList/v4/internal/conf.FrontendRepoDefault=${{ vars.FRONTEND_REPO || 'OpenListTeam/OpenList-Frontend' }}
output: openlist$ext

- name: Verify musl binary is static
if: contains(matrix.target, '-musl')
run: |
set -e
if readelf -l build/openlist | grep -q "Requesting program interpreter"; then
echo "Dynamic binary detected: build/openlist"
readelf -l build/openlist | grep "Requesting program interpreter" || true
exit 1
fi

- name: Upload artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: openlist_${{ steps.short-sha.outputs.sha }}_${{ matrix.target }}
path: build/*
2 changes: 1 addition & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0

Expand Down
64 changes: 52 additions & 12 deletions .github/workflows/issue_pr_comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,43 +16,83 @@ jobs:
if: github.event_name == 'issues'
steps:
- name: Check issue for unchecked tasks and reply
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
let comment = "";
const issueTitle = context.payload.issue.title || "";
const titleNotEdited = /(请修改标题|Please modify the title)/i.test(issueTitle);
if (titleNotEdited) {
comment = "⚠️ 请修改标题以更好地描述您的问题或需求,并删除示例提示。当前 Issue 将被自动关闭。如需继续提交,请创建新的 Issue。\n";
comment += "⚠️ Please modify the title to better describe your issue or request, and remove the example prompt. This issue will be automatically closed. If you wish to proceed, please create a new issue.\n";
await github.rest.issues.createComment({
...context.repo,
issue_number: context.issue.number,
body: comment
});
await github.rest.issues.update({
...context.repo,
issue_number: context.issue.number,
state: 'closed',
state_reason: 'not_planned',
labels: ['invalid']
});
return;
}
const issueBody = context.payload.issue.body || "";
const unchecked = /- \[ \] (?!我没有阅读这个清单|I have not read these checkboxes)/.test(issueBody);
let comment = "感谢您联系OpenList。我们会尽快回复您。\n";
comment += "Thanks for contacting OpenList. We will reply to you as soon as possible.\n\n";
if (unchecked) {
const confirmHasRead = /- \[ \] (?!我没有阅读这个清单|I have not read these checkboxes)/.test(issueBody);
const confirmNotRead = /- \[[xX]\] (?:我没有阅读这个清单|I have not read these checkboxes)/.test(issueBody);
if (confirmNotRead) {
comment = "⚠️ 你的 Issue 不符合提交规则。请先阅读相关规范后再重新提交。当前 Issue 将被自动关闭。如需继续提交,请确认已了解规则后重新打开或创建新的 Issue。\n";
comment += "⚠️ Your issue does not comply with the submission rules. Please read the guidelines before submitting again. This issue will be automatically closed. If you wish to proceed, please confirm that you have reviewed the rules before reopening or creating a new issue.\n";
await github.rest.issues.createComment({
...context.repo,
issue_number: context.issue.number,
body: comment
});
await github.rest.issues.update({
...context.repo,
issue_number: context.issue.number,
state: 'closed',
state_reason: 'not_planned',
labels: ['invalid']
});
return;
}
if (confirmHasRead) {
comment = "感谢您联系OpenList。我们会尽快回复您。\n";
comment += "Thanks for contacting OpenList. We will reply to you as soon as possible.\n\n";
comment += "由于您提出的 Issue 中包含部分未确认的项目,为了更好地管理项目,在人工审核后可能会直接关闭此问题。\n";
comment += "如果您能确认并补充相关未确认项目的信息,欢迎随时重新提交。我们会及时关注并处理。感谢您的理解与支持!\n";
comment += "Since your issue contains some unchecked tasks, it may be closed after manual review.\n";
comment += "If you can confirm and provide information for the unchecked tasks, feel free to resubmit.\n";
comment += "We will pay attention and handle it in a timely manner.\n\n";
comment += "感谢您的理解与支持!\n";
comment += "Thank you for your understanding and support!\n";
await github.rest.issues.createComment({
...context.repo,
issue_number: context.issue.number,
body: comment
});
}
await github.rest.issues.createComment({
...context.repo,
issue_number: context.issue.number,
body: comment
});

pr-title-check:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Check PR title for required prefix and comment
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
const title = context.payload.pull_request.title || "";
const ok = /^(feat|docs|fix|style|refactor|chore)\(.+?\): /i.test(title);
const ok = /^(feat|docs|fix|style|refactor|chore)\(.+?\)!?: /i.test(title);
if (!ok) {
let comment = "⚠️ PR 标题需以 `feat(): `, `docs(): `, `fix(): `, `style(): `, `refactor(): `, `chore(): ` 其中之一开头,例如:`feat(component): 新增功能`。\n";
comment += "⚠️ The PR title must start with `feat(): `, `docs(): `, `fix(): `, `style(): `, or `refactor(): `, `chore(): `. For example: `feat(component): add new feature`.\n\n";
comment += "如果跨多个组件,请使用主要组件作为前缀,并在标题中枚举、描述中说明。\n";
comment += "If it spans multiple components, use the main component as the prefix and enumerate in the title, describe in the body.\n\n";
comment += "如果是破坏性变更,请在类型后添加 `!`,例如 `feat(component)!: 破坏性变更`。\n";
comment += "For breaking changes, add `!` after the type, e.g., `feat(component)!: breaking change`.\n\n";
await github.rest.issues.createComment({
...context.repo,
issue_number: context.issue.number,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@ jobs:
swap-storage: true

- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version: '1.25.0'

- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0

Expand Down
Loading
Loading