chore: initial import of standalone agentscope project
Some checks failed
Pre-commit / run (ubuntu-latest) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_en (ubuntu-latest, 3.10) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_zh (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.12) (push) Has been cancelled
Some checks failed
Pre-commit / run (ubuntu-latest) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_en (ubuntu-latest, 3.10) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_zh (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.12) (push) Has been cancelled
This commit is contained in:
49
.github/workflows/pr-title-check.yml
vendored
Normal file
49
.github/workflows/pr-title-check.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
name: PR Title Check
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
types: [opened, edited, synchronize, reopened]
|
||||
|
||||
jobs:
|
||||
check-pr-title:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check PR Title Format
|
||||
uses: amannn/action-semantic-pull-request@v6.1.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
# Configure allowed types based on your requirements
|
||||
types: |
|
||||
feat
|
||||
fix
|
||||
docs
|
||||
ci
|
||||
refactor
|
||||
test
|
||||
chore
|
||||
perf
|
||||
style
|
||||
build
|
||||
revert
|
||||
# Require a scope (the part in parentheses)
|
||||
requireScope: false
|
||||
# Scope pattern: only lowercase letters, numbers, hyphens, and underscores allowed
|
||||
scopePattern: ^[a-z0-9_-]+$
|
||||
scopePatternError: |
|
||||
The scope (text in parentheses) must contain only lowercase letters, numbers, hyphens, and underscores.
|
||||
Example: "feat(memory): add redis cache support"
|
||||
Invalid: "feat(Memory): ..." or "feat(MEMORY): ..."
|
||||
# Subject (description) must not be empty and must be lowercase
|
||||
subjectPattern: ^(?![A-Z]).+$
|
||||
subjectPatternError: |
|
||||
The subject (description after colon) must start with a lowercase letter.
|
||||
Example: "feat(memory): add redis cache support"
|
||||
# Validate the entire PR title against the Conventional Commits spec
|
||||
validateSingleCommit: false
|
||||
# Ignore merge commits
|
||||
ignoreLabels: |
|
||||
ignore-semantic-pull-request
|
||||
|
||||
38
.github/workflows/pre-commit.yml
vendored
Normal file
38
.github/workflows/pre-commit.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
name: Pre-commit
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
run:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: True
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
env:
|
||||
OS: ${{ matrix.os }}
|
||||
PYTHON: '3.10'
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@master
|
||||
with:
|
||||
python-version: '3.10'
|
||||
- name: Update setuptools
|
||||
run: |
|
||||
pip install setuptools==68.2.2 wheel==0.41.2
|
||||
- name: Install AgentScope
|
||||
run: |
|
||||
pip install -q -e .[dev]
|
||||
- name: Install pre-commit
|
||||
run: |
|
||||
pre-commit install
|
||||
- name: Pre-commit starts
|
||||
run: |
|
||||
pre-commit run --all-files > pre-commit.log 2>&1 || true
|
||||
cat pre-commit.log
|
||||
if grep -q Failed pre-commit.log; then
|
||||
echo -e "\e[41m [**FAIL**] Please install pre-commit and format your code first. \e[0m"
|
||||
exit 1
|
||||
fi
|
||||
echo -e "\e[46m ********************************Passed******************************** \e[0m"
|
||||
44
.github/workflows/publish-pypi.yml
vendored
Normal file
44
.github/workflows/publish-pypi.yml
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
# This workflow will upload a Python Package using Twine when a release is created
|
||||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries
|
||||
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
# separate terms of service, privacy policy, and support
|
||||
# documentation.
|
||||
|
||||
name: Publish PyPi Package
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.10'
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install setuptools wheel build
|
||||
- name: Build package
|
||||
run: python -m build
|
||||
- name: Test installation
|
||||
run: |
|
||||
pip install dist/*.whl
|
||||
python -c "import agentscope; print(agentscope.__version__)"
|
||||
- name: Publish package
|
||||
uses: pypa/gh-action-pypi-publish@release/v1
|
||||
with:
|
||||
user: __token__
|
||||
password: ${{ secrets.PYPI_API_TOKEN }}
|
||||
95
.github/workflows/sphinx_docs.yml
vendored
Normal file
95
.github/workflows/sphinx_docs.yml
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
name: Deploy Sphinx documentation to Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build_en:
|
||||
timeout-minutes: 20
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
python-version: ['3.10']
|
||||
env:
|
||||
OS: ${{ matrix.os }}
|
||||
PYTHON: '3.10'
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.10'
|
||||
- name: Update setuptools
|
||||
run: |
|
||||
pip install setuptools==78.1.1 wheel==0.45.1
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
pip install -q -e .[dev]
|
||||
- name: Add execute permission to build.sh
|
||||
run: |
|
||||
chmod +x docs/tutorial/en/build.sh
|
||||
- name: Build English Documentation
|
||||
env:
|
||||
DASHSCOPE_API_KEY: ${{ secrets.DASHSCOPE_API_KEY }}
|
||||
GAODE_API_KEY: ${{ secrets.GAODE_API_KEY }}
|
||||
run: |
|
||||
cd docs/tutorial/en/
|
||||
./build.sh
|
||||
- name: Deploy English Documentation
|
||||
uses: peaceiris/actions-gh-pages@v4
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: docs/tutorial/en/build/html
|
||||
cname: doc.agentscope.io
|
||||
keep_files: true
|
||||
|
||||
build_zh:
|
||||
needs: build_en
|
||||
timeout-minutes: 20
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ ubuntu-latest ]
|
||||
python-version: [ '3.10' ]
|
||||
env:
|
||||
OS: ${{ matrix.os }}
|
||||
PYTHON: '3.10'
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.10'
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '16'
|
||||
- name: Verify npm installation
|
||||
run: npm --version
|
||||
- name: Update setuptools
|
||||
run: |
|
||||
pip install setuptools==78.1.1 wheel==0.45.1
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
pip install -q -e .[dev]
|
||||
- name: Add execute permission to build.sh
|
||||
run: |
|
||||
chmod +x docs/tutorial/zh_CN/build.sh
|
||||
- name: Build Chinese Documentation
|
||||
env:
|
||||
DASHSCOPE_API_KEY: ${{ secrets.DASHSCOPE_API_KEY }}
|
||||
GAODE_API_KEY: ${{ secrets.GAODE_API_KEY }}
|
||||
run: |
|
||||
cd docs/tutorial/zh_CN/
|
||||
./build.sh
|
||||
- name: Deploy Chinese Documentation
|
||||
uses: peaceiris/actions-gh-pages@v4
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: docs/tutorial/zh_CN/build/html
|
||||
destination_dir: zh_CN
|
||||
cname: doc.agentscope.io
|
||||
keep_files: true
|
||||
35
.github/workflows/stale.yml
vendored
Normal file
35
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
|
||||
#
|
||||
# You can adjust the behavior by modifying this file.
|
||||
# For more information, see:
|
||||
# https://github.com/actions/stale
|
||||
name: Mark stale issues and pull requests
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '30 9 * * *'
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v5
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'This issue is marked as stale because there has been no activity for 60 days. Remove stale label or add new comments or this issue will be closed in 90 day.'
|
||||
close-issue-message: 'Close this stale issue.'
|
||||
stale-issue-label: 'stale-issue'
|
||||
exempt-issue-labels: 'RoadMap,Roadmap'
|
||||
days-before-stale: 60
|
||||
days-before-close: 30
|
||||
|
||||
stale-pr-message: 'This PR is marked as stale because there has been no activity for 60 days. Remove stale label or add new comments or this PR will be closed in 30 days.'
|
||||
close-pr-message: 'Close this stale PR.'
|
||||
stale-pr-label: 'stale-pr'
|
||||
days-before-pr-stale: 60
|
||||
days-before-pr-close: 30
|
||||
30
.github/workflows/toc.yml
vendored
Normal file
30
.github/workflows/toc.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
name: Generate TOC
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'README.md'
|
||||
- 'README_ZH.md'
|
||||
branches-ignore:
|
||||
- 'main'
|
||||
|
||||
# Prevent concurrent runs that modify README files
|
||||
concurrency:
|
||||
group: readme-updates-${{ github.ref }}
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
generateTOC:
|
||||
name: TOC Generator
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: technote-space/toc-generator@v4
|
||||
with:
|
||||
TOC_TITLE: "## 📑 Table of Contents"
|
||||
CREATE_PR: false
|
||||
TARGET_PATHS: "README.md,README_ZH.md"
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
TOC_TITLE_MAP: |
|
||||
README.md: ## 📑 Table of Contents
|
||||
README_ZH.md: ## 📑 目录
|
||||
33
.github/workflows/unittest.yml
vendored
Normal file
33
.github/workflows/unittest.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: Python Unittest Coverage
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
if: false == contains(github.event.pull_request.title, 'WIP')
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macos-15]
|
||||
python-version: ['3.10', '3.11', '3.12']
|
||||
env:
|
||||
OS: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- name: Setup Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@master
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Update setuptools
|
||||
run: |
|
||||
pip install setuptools==78.1.1 wheel==0.45.1
|
||||
- name: Install Dev Dependencies
|
||||
run: |
|
||||
pip install -q -e .[dev]
|
||||
pip install coverage pytest
|
||||
- name: Run tests with coverage
|
||||
run: |
|
||||
coverage run -m pytest tests
|
||||
- name: Generate coverage report
|
||||
run: |
|
||||
coverage report -m
|
||||
39
.github/workflows/update_news.yml
vendored
Normal file
39
.github/workflows/update_news.yml
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
name: Update NEWS in README
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'docs/NEWS.md'
|
||||
- 'docs/NEWS_zh.md'
|
||||
branches-ignore:
|
||||
- 'main'
|
||||
|
||||
# Prevent concurrent runs that modify README files
|
||||
concurrency:
|
||||
group: readme-updates-${{ github.ref }}
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
updateNews:
|
||||
name: NEWS Updater
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: Update NEWS in README files
|
||||
run: python .github/scripts/update_news.py
|
||||
|
||||
- name: Commit changes
|
||||
run: |
|
||||
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --local user.name "github-actions[bot]"
|
||||
git add README.md README_zh.md
|
||||
git diff --staged --quiet || git commit -m "docs: auto-sync NEWS section to README files"
|
||||
git push
|
||||
|
||||
Reference in New Issue
Block a user