Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
87 changes: 87 additions & 0 deletions .github/workflows/core-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Core Tests

on:
push:
branches:
- main
pull_request:
Comment on lines +1 to +7
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider explicitly setting workflow permissions (for example, contents: read) since this job only checks out the repo and runs tests. Relying on the repository default GITHUB_TOKEN permissions is avoidable and can unintentionally grant broader write access than needed.

Copilot uses AI. Check for mistakes.

permissions:
contents: read

concurrency:
group: core-tests-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
core-tests:
name: ${{ matrix.name }} core tests
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- name: anygen
harness_path: anygen/agent-harness
test_path: cli_anything/anygen/tests/test_core.py
extra_pip: ""
- name: audacity
harness_path: audacity/agent-harness
test_path: cli_anything/audacity/tests/test_core.py
extra_pip: ""
- name: blender
harness_path: blender/agent-harness
test_path: cli_anything/blender/tests/test_core.py
extra_pip: ""
- name: drawio
harness_path: drawio/agent-harness
test_path: cli_anything/drawio/tests/test_core.py
extra_pip: ""
- name: gimp
harness_path: gimp/agent-harness
test_path: cli_anything/gimp/tests/test_core.py
extra_pip: ""
- name: inkscape
harness_path: inkscape/agent-harness
test_path: cli_anything/inkscape/tests/test_core.py
extra_pip: ""
- name: kdenlive
harness_path: kdenlive/agent-harness
test_path: cli_anything/kdenlive/tests/test_core.py
extra_pip: "lxml"
- name: libreoffice
harness_path: libreoffice/agent-harness
test_path: cli_anything/libreoffice/tests/test_core.py
extra_pip: ""
- name: obs-studio
harness_path: obs-studio/agent-harness
test_path: cli_anything/obs_studio/tests/test_core.py
extra_pip: ""
- name: shotcut
harness_path: shotcut/agent-harness
test_path: cli_anything/shotcut/tests/test_core.py
extra_pip: "lxml"

steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Upgrade pip
run: python -m pip install --upgrade pip

- name: Install harness and test dependencies
working-directory: ${{ matrix.harness_path }}
run: |
python -m pip install -e ".[dev]"
if [ -n "${{ matrix.extra_pip }}" ]; then
python -m pip install "${{ matrix.extra_pip }}"
fi

- name: Run core tests
working-directory: ${{ matrix.harness_path }}
run: python -m pytest -q ${{ matrix.test_path }}
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
!/README.md
!/assets/
!/.claude-plugin/
!/.github/
!/.github/workflows/
!/.github/workflows/*.yml

# Step 3: Allow cli-anything-plugin entirely
!/cli-anything-plugin/
Expand Down Expand Up @@ -84,4 +87,4 @@
!/assets/*.jpg

assets/gen_typing_gif.py
!README_CN.md
!README_CN.md