Skip to content

fix(ci): use .xlings.json + dynamic package detection#10

Merged
Sunrisepeak merged 7 commits into
mainfrom
fix-ci-xlings-json
May 13, 2026
Merged

fix(ci): use .xlings.json + dynamic package detection#10
Sunrisepeak merged 7 commits into
mainfrom
fix-ci-xlings-json

Conversation

@Sunrisepeak
Copy link
Copy Markdown
Member

Summary

  • Add .xlings.json at repo root declaring project dependencies: xmake 3.0.7, gcc 15.1.0 (linux), llvm 20.1.7 (macos)
  • Simplify setup-toolchain action: use curl instead of gh API (removes github.token dependency for downloads), then run xlings install to auto-install all deps from .xlings.json
  • Dynamic package detection: replace hardcoded dorny/paths-filter with git diff-based detection — automatically discovers new/changed packages without manual CI updates
  • Full build fallback: when CI config itself changes (.github/, .xlings.json), build ALL test targets

What this fixes

  • xmake: command not found on all platforms (xmake was not on PATH after setup)
  • New packages added via PR were invisible to CI (hardcoded filter list)
  • Reduces code duplication (consolidated per-package steps into single loop)

Test plan

  • CI triggers on this PR
  • All 3 platforms (linux, macos, windows) pass configure step
  • All existing test targets build and run successfully

CI:
- setup-toolchain action: use quick_install.sh, persist PATH via
  GITHUB_PATH, add Windows xlings install step
- ci.yml: dynamic change detection (replaces dorny/paths-filter),
  remove all manual PATH exports, trigger on .github/** and .xlings.json

Package definitions:
- llmapi: add 0.2.5/0.2.6, move tinyhttps dep to on_load with
  version guard (only >=0.2.0), remove global add_deps
- tinyhttps: add 0.2.2/0.2.3, move mbedtls dep to on_load,
  add target="tinyhttps" to install
@Sunrisepeak Sunrisepeak force-pushed the fix-ci-xlings-json branch from 8354b97 to fc91def Compare May 13, 2026 07:26
@Sunrisepeak Sunrisepeak merged commit 1464915 into main May 13, 2026
4 checks passed
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.

1 participant