From 50d5ae61204fa8308713ce667a77ecb88b586938 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 1 Nov 2025 18:57:33 +0000 Subject: [PATCH 1/3] Initial plan From baf2ac183fb2813946128538672bddccd5fcf5a3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 1 Nov 2025 19:01:39 +0000 Subject: [PATCH 2/3] Add multi-version Python testing workflow and update pyproject.toml Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com> --- .github/workflows/multi-python-test.yml | 51 +++++++++++++++++++++++++ pyproject.toml | 10 +++++ 2 files changed, 61 insertions(+) create mode 100644 .github/workflows/multi-python-test.yml diff --git a/.github/workflows/multi-python-test.yml b/.github/workflows/multi-python-test.yml new file mode 100644 index 000000000..cae661d24 --- /dev/null +++ b/.github/workflows/multi-python-test.yml @@ -0,0 +1,51 @@ +name: Multi-Version Python Test + +on: + push: + branches: + - master + paths-ignore: + - 'README.md' + - 'changelogs/**' + - 'dashboard/**' + pull_request: + workflow_dispatch: + +jobs: + test: + name: Test on Python ${{ matrix.python-version }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ['3.10', '3.11', '3.12', '3.13'] + + steps: + - name: Checkout + uses: actions/checkout@v5 + with: + fetch-depth: 0 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + + - name: Install UV + run: pip install uv + + - name: Install dependencies + run: uv sync + timeout-minutes: 15 + + - name: Create required directories + run: | + mkdir -p data/plugins + mkdir -p data/config + mkdir -p data/temp + + - name: Run tests + run: | + export TESTING=true + export ZHIPU_API_KEY=${{ secrets.OPENAI_API_KEY }} + uv run pytest -v -o log_cli=true -o log_level=DEBUG diff --git a/pyproject.toml b/pyproject.toml index c83fdf2dd..59b9b052e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,6 +11,16 @@ keywords = [ "Astrbot Plugin" ] +classifiers = [ + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "License :: OSI Approved :: GNU Affero General Public License v3", + "Operating System :: OS Independent", +] + dependencies = [ "aiocqhttp>=1.4.4", "aiodocker>=0.24.0", From 7a4d0af475da5798c3495b1c5f4f5614ae962668 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 1 Nov 2025 19:03:15 +0000 Subject: [PATCH 3/3] Add explicit permissions to multi-version test workflow for security Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com> --- .github/workflows/multi-python-test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/multi-python-test.yml b/.github/workflows/multi-python-test.yml index cae661d24..8487ccb62 100644 --- a/.github/workflows/multi-python-test.yml +++ b/.github/workflows/multi-python-test.yml @@ -15,6 +15,8 @@ jobs: test: name: Test on Python ${{ matrix.python-version }} runs-on: ubuntu-latest + permissions: + contents: read strategy: fail-fast: false matrix: