mirror of
https://github.com/agentscope-ai/ReMe.git
synced 2026-08-28 05:25:04 +00:00
Some checks failed
NPM Format / Website checks (push) Has been cancelled
GitHub Pages Check / test-and-build (push) Has been cancelled
Package Check / distributions (push) Has been cancelled
Deploy ReMe documentation / build (push) Has been cancelled
Windows Smoke / CLI smoke - py3.11 (push) Has been cancelled
Pre-commit / run (ubuntu-latest) (push) Has been cancelled
Tests ReMe / Unit Tests - py3.11 (push) Has been cancelled
Tests ReMe / Unit Tests - py3.12 (push) Has been cancelled
Tests ReMe / Unit Tests - py3.13 (push) Has been cancelled
Deploy ReMe documentation / deploy (push) Has been cancelled
* fix(packaging): harden the Studio release workflow * chore(daily-paper): tune scheduled discovery defaults * fix(docs): link the ReMe blog to GitHub Pages * fix(docs): increase Chinese hero title spacing * refactor(docs): share hero title line spacing * fix(docs): keep desktop hero copy on two lines * fix(docs): widen the home hero description * style(docs): loosen hero title line height * fix(docs): hide Markdown frontmatter in rendered pages * docs(readme): simplify installation and remove standalone ReMe Studio instructions - Remove references to separate ReMe Studio package and static build steps - Clarify that `core` extra includes common integrations including Studio - Update installation instructions to use `pip install -e ".[core]"` - Remove detailed Studio usage and frontend development instructions - Note that Studio is included with `core` and optional via `web` extra - Simplify Quick Start guide by removing Studio usage step - Remove mentions of serving Studio with HTTP service when using extras - Update both English and Chinese README files accordingly * docs(readme): streamline and clarify memory design and operations - Remove redundant explanations about core extra installation - Simplify memory processing flow description for clarity - Clarify memory workspace directory default and customization - Condense automatic memory flow to emphasize rebuildable metadata - Refine search functionality explanation with RRF fusion details - Shorten and clarify agent integration description, removing redundancy - Update and simplify the operations command list, removing less common commands - Revise community and support section for conciseness and clarity - Maintain parallel updates in both English and Chinese README files * test(bump_version): add tests for version bumping and consistency checks - Add dynamic loading of bump_version and package_studio scripts for testing - Test that studio package and dependencies have matching versions - Implement fixtures to write temporary version files for testing - Add test ensuring bump_version updates all relevant files and dependencies - Add test to reject inconsistent version sources before writing - Refactor tests to use common REPOSITORY path variable - Include imports and setup for pytest in test file feat(bump_version): create script to update ReMe and Studio versions - Implement version reading from __init__.py and pyproject.toml files - Validate current versions are consistent across files before updating - Update version strings atomically to avoid partial writes - Ensure exact pinning of studio dependency in main package extras - Validate new version format against a safe pattern - Provide CLI interface to bump versions from command line - Raise errors if expected version declarations or pins are missing or duplicated * fix(release): validate split package publishing * fix(release): improve validation diagnostics * fix(release): sync docs and workflow inputs * fix(release): split PyPI publish jobs
97 lines
3.4 KiB
YAML
97 lines
3.4 KiB
YAML
name: Package Check
|
|
|
|
on:
|
|
push:
|
|
branches: [main, master, dev, develop]
|
|
paths:
|
|
- '.github/workflows/package-check.yml'
|
|
- '.github/workflows/python-publish.yml'
|
|
- 'packages/reme_ai_studio/**'
|
|
- 'pyproject.toml'
|
|
- 'reme/__init__.py'
|
|
- 'reme/utils/web_static.py'
|
|
- 'scripts/bump_version.py'
|
|
- 'scripts/package_studio.py'
|
|
- 'tests/unit/test_package_versions.py'
|
|
- 'website/**'
|
|
- 'LICENSE'
|
|
pull_request:
|
|
branches: [main, master, dev, develop]
|
|
paths:
|
|
- '.github/workflows/package-check.yml'
|
|
- '.github/workflows/python-publish.yml'
|
|
- 'packages/reme_ai_studio/**'
|
|
- 'pyproject.toml'
|
|
- 'reme/__init__.py'
|
|
- 'reme/utils/web_static.py'
|
|
- 'scripts/bump_version.py'
|
|
- 'scripts/package_studio.py'
|
|
- 'tests/unit/test_package_versions.py'
|
|
- 'website/**'
|
|
- 'LICENSE'
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
distributions:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
|
|
- name: Set up Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '22.13'
|
|
cache: npm
|
|
cache-dependency-path: website/package-lock.json
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.11'
|
|
|
|
- name: Install build dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
python -m pip install build packaging pytest twine
|
|
|
|
- name: Validate release versions
|
|
run: python scripts/bump_version.py --check
|
|
|
|
- name: Run package tests
|
|
run: PYTHONPATH=. python -m pytest tests/unit/test_package_versions.py -q
|
|
|
|
- name: Build Studio static workspace
|
|
working-directory: website
|
|
run: |
|
|
npm ci
|
|
npm run build:static
|
|
|
|
- name: Build and check distributions
|
|
run: |
|
|
python scripts/package_studio.py
|
|
mkdir -p dist/reme dist/studio
|
|
python -m build --outdir dist/reme
|
|
python -m build packages/reme_ai_studio --outdir dist/studio
|
|
python -m twine check dist/reme/* dist/studio/*
|
|
|
|
- name: Verify distributions and isolated installation
|
|
run: |
|
|
REME_WHEEL="$(pwd)/$(ls dist/reme/reme_ai-[0-9]*.whl)"
|
|
STUDIO_WHEEL="$(pwd)/$(ls dist/studio/reme_ai_studio-*.whl)"
|
|
STUDIO_SDIST="$(pwd)/$(ls dist/studio/reme_ai_studio-*.tar.gz)"
|
|
python -m zipfile -l "${REME_WHEEL}" | (! grep 'reme/web/')
|
|
python -m zipfile -l "${STUDIO_WHEEL}" | grep 'reme_ai_studio/static/index.html'
|
|
python -m zipfile -l "${STUDIO_WHEEL}" | grep 'dist-info/licenses/LICENSE'
|
|
python -m tarfile -l "${STUDIO_SDIST}" | grep '/LICENSE'
|
|
python -m venv "${RUNNER_TEMP}/reme-package-smoke"
|
|
"${RUNNER_TEMP}/reme-package-smoke/bin/python" -m pip install \
|
|
--find-links "$(pwd)/dist/studio" "${REME_WHEEL}[core]"
|
|
cd "${RUNNER_TEMP}"
|
|
"${RUNNER_TEMP}/reme-package-smoke/bin/python" -c \
|
|
"import reme; from reme_ai_studio import static_dir; assert (static_dir() / 'index.html').is_file()"
|
|
"${RUNNER_TEMP}/reme-package-smoke/bin/python" -c \
|
|
"from reme.utils import resolve_web_static_dir; assert (resolve_web_static_dir() / 'index.html').is_file()"
|