Skip to content

ci: gate publish on cross-platform tests; fix GPU + resource scripts (re-target main)#232

Merged
vietanhdev merged 2 commits intomainfrom
ci/test-gate-and-deps-upgrade-on-main
Apr 25, 2026
Merged

ci: gate publish on cross-platform tests; fix GPU + resource scripts (re-target main)#232
vietanhdev merged 2 commits intomainfrom
ci/test-gate-and-deps-upgrade-on-main

Conversation

@vietanhdev
Copy link
Copy Markdown
Owner

@vietanhdev vietanhdev commented Apr 25, 2026

Summary

  • Adds .github/workflows/tests.yml — 9-cell matrix (Ubuntu/Windows/macOS × py3.11/3.12/3.13).
  • Gates python-publish-cpu/gpu and release on the matrix via needs: test.
  • Bumps action versions and pyproject.toml dependency floors; adds huggingface_hub>=0.24.0 floor.
  • Adds CLAUDE.md (architecture + 6-step pre-publish playbook); rewrites .cursorrules to mirror it.
  • Fixes scripts/compile_languages.py / generate_languages.py for PyQt6 (pyrcc was dropped in Qt6 — switch to pyside6-rcc + pyside6-lrelease).
  • Fixes the GPU publish path: PEP 621 silently rejects setup.py's name override, so a tag push today would build anylabeling-*.whl and PyPI would reject it. The GPU workflow now seds pyproject.toml directly before python -m build, with a verify step.

Closes #227.

Verified

  • 9-cell test matrix on this PR (Ubuntu/Windows/macOS × py3.11/3.12/3.13).
  • Local install + unit suite + real-model inference (MobileSAM, SAM2, SAM3 ViT-H, YOLOv8n) on Python 3.11 / 3.12 / 3.13.
  • GPU wheel build locally produces anylabeling-gpu, not anylabeling.
  • Resource scripts run end-to-end under PyQt6.

…231)

- Add tests.yml — 9-cell matrix (Ubuntu/Windows/macOS x py3.11/3.12/3.13)
- Gate python-publish-cpu/gpu and release on the matrix via needs: test
- Bump dependency floors; add huggingface_hub floor
- Bump action versions across all workflows
- Add CLAUDE.md (architecture + pre-publish playbook); align .cursorrules
- Fix scripts/compile_languages.py and generate_languages.py for PyQt6
  (pyrcc dropped in Qt6; switch to pyside6-rcc + pyside6-lrelease)
- Fix GPU publish path: sed pyproject.toml so the wheel is anylabeling-gpu
  (PEP 621 silently rejects setup.py's name override)

Closes #227 — and prevents the next #227.
The original tests.yml triggered only on push to master and PRs into
master. Pushing this branch and opening PR #232 against main produced
'no checks reported' because the workflow has no matching trigger.

Add main to both branches: arrays. Keep master as well so the workflow
keeps firing on stale branches that may still receive commits.
@vietanhdev vietanhdev merged commit ba688b9 into main Apr 25, 2026
9 checks passed
@vietanhdev vietanhdev deleted the ci/test-gate-and-deps-upgrade-on-main branch April 25, 2026 03:46
vietanhdev added a commit that referenced this pull request Apr 25, 2026
Re-publishes anylabeling-gpu, which last shipped a working wheel as
v0.4.29. v0.4.30 onward had broken metadata (PEP 621 silently dropped
the setup.py name override). The workflow change in #232 sed-rewrites
pyproject.toml before build, so this is the first tag that should
produce a correct anylabeling-gpu-0.4.36-py3-none-any.whl.

Also the first tag pushed under the new test gate — publish only
proceeds if the 9-cell matrix is green.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Trying to start the aplication on ubuntu result in error

1 participant