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

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

jobs:
core-tests:
name: ${{ matrix.name }} core tests
runs-on: ubuntu-latest
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.

Using runs-on: ubuntu-latest can introduce unexpected CI breakage when GitHub updates the default runner image. Pinning to a specific Ubuntu version (e.g., ubuntu-22.04/24.04) makes the test environment more stable and failures easier to reproduce.

Suggested change
runs-on: ubuntu-latest
runs-on: ubuntu-22.04

Copilot uses AI. Check for mistakes.
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 }}
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.

python -m pip install ${{ matrix.extra_pip }} is unquoted, so if extra_pip ever contains multiple packages or version specifiers with spaces, word-splitting can produce surprising results. Quoting and/or using a YAML list for extra dependencies would make this more robust.

Suggested change
python -m pip install ${{ matrix.extra_pip }}
python -m pip install "${{ matrix.extra_pip }}"

Copilot uses AI. Check for mistakes.
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
Loading