Skip to content

Commit 6d7b62d

Browse files
zouyongheshuiping233
authored andcommitted
fix: 工程化收敛并移除 ASYNC230/ASYNC240 忽略 (#5729)
* test(skills): align sandbox cache tests with readonly behavior * ci(release): enforce core quality gate before publish * ci: enforce locked dependency installs in workflows * security: remove curl-pipe-shell installs * chore: align project python baseline to 3.12 * ci(dashboard): add explicit typecheck gate * chore(pre-commit): align ruff hook version with project * ci(codeql): add javascript-typescript analysis * chore(ruff): defer py312 migration lint rules * fix: resolve ruff violations without new ignores * fix: resolve ASYNC230 and ASYNC240 without ignores * fix(auth): replace utcnow with timezone-aware UTC now * fix: avoid blocking file read in file_to_base64
1 parent 7cf77ad commit 6d7b62d

File tree

116 files changed

+1177
-980
lines changed

Some content is hidden

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

116 files changed

+1177
-980
lines changed

.github/workflows/codeql.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ jobs:
4646
include:
4747
- language: python
4848
build-mode: none
49+
- language: javascript-typescript
50+
build-mode: none
4951
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
5052
# Use `c-cpp` to analyze code written in C, C++ or both
5153
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both

.github/workflows/coverage_test.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,13 @@ jobs:
2323

2424
- name: Set up Python
2525
uses: actions/setup-python@v6
26+
with:
27+
python-version: "3.12"
2628

2729
- name: Install dependencies
2830
run: |
29-
python -m pip install --upgrade pip
30-
pip install pytest pytest-asyncio pytest-cov
31-
pip install --editable .
31+
python -m pip install --upgrade pip uv
32+
uv sync --group dev
3233
3334
- name: Run tests
3435
run: |
@@ -37,7 +38,7 @@ jobs:
3738
mkdir -p data/temp
3839
export TESTING=true
3940
export ZHIPU_API_KEY=${{ secrets.OPENAI_API_KEY }}
40-
pytest --cov=astrbot -v -o log_cli=true -o log_level=DEBUG
41+
uv run pytest --cov=astrbot -v -o log_cli=true -o log_level=DEBUG
4142
4243
- name: Upload results to Codecov
4344
uses: codecov/codecov-action@v5

.github/workflows/dashboard_ci.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,23 @@ jobs:
1313
- name: Checkout repository
1414
uses: actions/checkout@v6
1515

16+
- name: Setup pnpm
17+
uses: pnpm/action-setup@v4
18+
with:
19+
version: 10.28.2
20+
1621
- name: Setup Node.js
1722
uses: actions/setup-node@v6
1823
with:
1924
node-version: '24.13.0'
25+
cache: "pnpm"
26+
cache-dependency-path: dashboard/pnpm-lock.yaml
2027

21-
- name: npm install, build
28+
- name: Install and build
2229
run: |
23-
cd dashboard
24-
npm install pnpm -g
25-
pnpm install
26-
pnpm i --save-dev @types/markdown-it
27-
pnpm run build
30+
pnpm --dir dashboard install --frozen-lockfile
31+
pnpm --dir dashboard run typecheck
32+
pnpm --dir dashboard run build
2833
2934
- name: Inject Commit SHA
3035
id: get_sha

.github/workflows/docker-image.yml

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,18 @@ jobs:
2525
fetch-depth: 1
2626
fetch-tag: true
2727

28+
- name: Setup pnpm
29+
uses: pnpm/action-setup@v4
30+
with:
31+
version: 10.28.2
32+
33+
- name: Setup Node.js
34+
uses: actions/setup-node@v6
35+
with:
36+
node-version: '24.13.0'
37+
cache: "pnpm"
38+
cache-dependency-path: dashboard/pnpm-lock.yaml
39+
2840
- name: Check for new commits today
2941
if: github.event_name == 'schedule'
3042
id: check-commits
@@ -46,12 +58,10 @@ jobs:
4658

4759
- name: Build Dashboard
4860
run: |
49-
cd dashboard
50-
npm install
51-
npm run build
52-
mkdir -p dist/assets
53-
echo $(git rev-parse HEAD) > dist/assets/version
54-
cd ..
61+
pnpm --dir dashboard install --frozen-lockfile
62+
pnpm --dir dashboard run build
63+
mkdir -p dashboard/dist/assets
64+
echo $(git rev-parse HEAD) > dashboard/dist/assets/version
5565
mkdir -p data
5666
cp -r dashboard/dist data/
5767
@@ -123,6 +133,18 @@ jobs:
123133
fetch-depth: 1
124134
fetch-tag: true
125135

136+
- name: Setup pnpm
137+
uses: pnpm/action-setup@v4
138+
with:
139+
version: 10.28.2
140+
141+
- name: Setup Node.js
142+
uses: actions/setup-node@v6
143+
with:
144+
node-version: '24.13.0'
145+
cache: "pnpm"
146+
cache-dependency-path: dashboard/pnpm-lock.yaml
147+
126148
- name: Get latest tag (only on manual trigger)
127149
id: get-latest-tag
128150
if: github.event_name == 'workflow_dispatch'
@@ -153,12 +175,10 @@ jobs:
153175
154176
- name: Build Dashboard
155177
run: |
156-
cd dashboard
157-
npm install
158-
npm run build
159-
mkdir -p dist/assets
160-
echo $(git rev-parse HEAD) > dist/assets/version
161-
cd ..
178+
pnpm --dir dashboard install --frozen-lockfile
179+
pnpm --dir dashboard run build
180+
mkdir -p dashboard/dist/assets
181+
echo $(git rev-parse HEAD) > dashboard/dist/assets/version
162182
mkdir -p data
163183
cp -r dashboard/dist data/
164184

.github/workflows/release.yml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,29 @@ permissions:
1818
contents: write
1919

2020
jobs:
21+
verify-core:
22+
name: Verify Core Quality Gate
23+
runs-on: ubuntu-24.04
24+
steps:
25+
- name: Checkout repository
26+
uses: actions/checkout@v6
27+
with:
28+
fetch-depth: 0
29+
ref: ${{ inputs.ref || github.ref }}
30+
31+
- name: Set up Python
32+
uses: actions/setup-python@v6
33+
with:
34+
python-version: "3.12"
35+
36+
- name: Install uv
37+
shell: bash
38+
run: python -m pip install uv
39+
40+
- name: Run local PR gate checks
41+
shell: bash
42+
run: make pr-test-neo
43+
2144
build-dashboard:
2245
name: Build Dashboard
2346
runs-on: ubuntu-24.04
@@ -85,7 +108,8 @@ jobs:
85108
VERSION_TAG: ${{ steps.tag.outputs.tag }}
86109
shell: bash
87110
run: |
88-
curl https://rclone.org/install.sh | sudo bash
111+
sudo apt-get update
112+
sudo apt-get install -y rclone
89113
90114
mkdir -p ~/.config/rclone
91115
cat <<EOF > ~/.config/rclone/rclone.conf
@@ -106,6 +130,7 @@ jobs:
106130
name: Publish GitHub Release
107131
runs-on: ubuntu-24.04
108132
needs:
133+
- verify-core
109134
- build-dashboard
110135
steps:
111136
- name: Checkout repository
@@ -226,7 +251,7 @@ jobs:
226251
- name: Set up Python
227252
uses: actions/setup-python@v6
228253
with:
229-
python-version: "3.10"
254+
python-version: "3.12"
230255

231256
- name: Install uv
232257
shell: bash

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ci:
88
repos:
99
- repo: https://github.com/astral-sh/ruff-pre-commit
1010
# Ruff version.
11-
rev: v0.14.1
11+
rev: v0.15.1
1212
hooks:
1313
# Run the linter.
1414
- id: ruff-check
@@ -22,4 +22,4 @@ repos:
2222
rev: v3.21.0
2323
hooks:
2424
- id: pyupgrade
25-
args: [--py310-plus]
25+
args: [--py312-plus]

Dockerfile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1313
bash \
1414
ffmpeg \
1515
curl \
16-
gnupg \
1716
git \
18-
&& curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - \
19-
&& apt-get install -y --no-install-recommends nodejs \
17+
nodejs \
18+
npm \
2019
&& apt-get clean \
2120
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
2221

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
<div>
2121
<img src="https://img.shields.io/github/v/release/AstrBotDevs/AstrBot?color=76bad9" href="https://github.com/AstrBotDevs/AstrBot/releases/latest">
22-
<img src="https://img.shields.io/badge/python-3.10+-blue.svg" alt="python">
22+
<img src="https://img.shields.io/badge/python-3.12+-blue.svg" alt="python">
2323
<img src="https://deepwiki.com/badge.svg" href="https://deepwiki.com/AstrBotDevs/AstrBot">
2424
<a href="https://zread.ai/AstrBotDevs/AstrBot" target="_blank"><img src="https://img.shields.io/badge/Ask_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff" alt="zread"/></a>
2525
<a href="https://hub.docker.com/r/soulter/astrbot"><img alt="Docker pull" src="https://img.shields.io/docker/pulls/soulter/astrbot.svg?color=76bad9"/></a>

README_fr.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
<div>
2121
<img src="https://img.shields.io/github/v/release/AstrBotDevs/AstrBot?color=76bad9" href="https://github.com/AstrBotDevs/AstrBot/releases/latest">
22-
<img src="https://img.shields.io/badge/python-3.10+-blue.svg" alt="python">
22+
<img src="https://img.shields.io/badge/python-3.12+-blue.svg" alt="python">
2323
<img src="https://deepwiki.com/badge.svg" href="https://deepwiki.com/AstrBotDevs/AstrBot">
2424
<a href="https://zread.ai/AstrBotDevs/AstrBot" target="_blank"><img src="https://img.shields.io/badge/Ask_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFZIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff" alt="zread"/></a>
2525
<a href="https://hub.docker.com/r/soulter/astrbot"><img alt="Docker pull" src="https://img.shields.io/docker/pulls/soulter/astrbot.svg?color=76bad9"/></a>

README_ja.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
<div>
2121
<img src="https://img.shields.io/github/v/release/AstrBotDevs/AstrBot?color=76bad9" href="https://github.com/AstrBotDevs/AstrBot/releases/latest">
22-
<img src="https://img.shields.io/badge/python-3.10+-blue.svg" alt="python">
22+
<img src="https://img.shields.io/badge/python-3.12+-blue.svg" alt="python">
2323
<img src="https://deepwiki.com/badge.svg" href="https://deepwiki.com/AstrBotDevs/AstrBot">
2424
<a href="https://zread.ai/AstrBotDevs/AstrBot" target="_blank"><img src="https://img.shields.io/badge/Ask_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFZIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0LjYxNTZDNS4zMTUwMiAxNC4zOTk5IDUuNjAxNTYgMTQuMTEzNCA1LjYwMTU2IDEzLjc1OTlWMTEuMDM5OUM1LjYwMTU2IDEwLjY4NjQgNS4zMTUwMiAxMC4zOTk5IDQuOTYxNTYgMTAuMzk5OVoiIGZpbGw9IiNmZmYiLz4KPHBhdGggZD0iTTEzLjc1ODQgMS42MDAxSDExLjAzODRDMTAuNjg1IDEuNjAwMSAxMC4zOTg0IDEuODg2NjQgMTAuMzk4NCAyLjI0MDFWNC45NjAxQzEwLjM5ODQgNS4zMTM1NiAxMC42ODUgNS42MDAxIDExLjAzODQgNS42MDAxSDEzLjc1ODRDMTQuMTExOSA1LjYwMDEgMTQuMzk4NCA1LjMxMzU2IDE0LjM5ODQgNC45NjAxVjIuMjQwMUMxNC4zOTg0IDEuODg2NjQgMTQuMTExOSAxLjYwMDEgMTMuNzU4NCAxLjYwMDFZIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDRMNCAxMlpFIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff" alt="zread"/></a>
2525
<a href="https://hub.docker.com/r/soulter/astrbot"><img alt="Docker pull" src="https://img.shields.io/docker/pulls/soulter/astrbot.svg?color=76bad9"/></a>

0 commit comments

Comments
 (0)