Skip to content

ci: minimal GitHub Actions for PRs and main - #57

Merged
nervouna merged 3 commits into
mainfrom
ci/github-actions
Oct 8, 2026
Merged

nervouna merged 3 commits into
mainfrom
ci/github-actions

Conversation

@nervouna

@nervouna nervouna commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Refs #52

What runs

CI (.github/workflows/ci.yml, ubuntu-24.04, every PR and push to main)

  • Shared-core boundaries: full Core/scripts/check-boundaries.sh in a swift:6.2-noble container. The root dump-package evaluates declarations only (Sparkle is never resolved), so the root/core parity assertions run on Linux too.
  • Portable runtime (cargo test): Core/Portable/test.sh with CMake 3.31.6 / Ninja 1.11.1.4 via pipx and the rust-toolchain.toml pin. build/portable is cached.
  • Remote runner tests: python3 -B scripts/tests/test_mac_remote.py.

macOS (.github/workflows/macos.yml, macos-26, paths-ignore: ['**.md', 'docs/**'])

  • The quick group minus ai-runtime (see below). test.sh all stays manual. build/deps, build/dictionary-sources and build/rime-cache are cached. The job summary lists every END unit (Ns) line, and a failing unit is surfaced as an error annotation on the PR.

Why no root swift build on ubuntu

No root target compiles on Linux: InkFlowDomain imports CryptoKit, the app targets import AppKit/InputMethodKit, Sparkle ships as an xcframework and librime is a macOS dylib. The boundary check evaluates both manifests; the macOS job compiles the root products the quick units need. Documented in a workflow comment.

Why ai-runtime is excluded on the runner

AIRuntimeTests asserts the 500 ms debounce deadline at 540 ms. The first full attempt (run 37725452756) failed at AIRuntimeTests.swift:214 with exactly that margin; the earlier debounce checks in the same binary passed. The workflow comment says so and names the list to keep in step with quick. This run doubles as the issue's failure record: the PR shows FAIL ai-runtime (18s) and the file:line as annotations.

Other changes

  • check-boundaries.sh uses swift when xcrun is absent (Linux). Behavior on macOS is unchanged.
  • One line in macOS/TESTING.md describing what CI runs. Local test.sh is untouched.

Timing

Repo is public, so the Actions timing API reports billable.MACOS.total_ms = 0 for every run; no minutes are consumed.

Job Cold cache Warm cache
Portable runtime (ubuntu) 3m36s (native build 3m18s) 38s
Shared-core boundaries (ubuntu) 46s–60s –
Remote runner tests (ubuntu) 5s –
test.sh quick (macos-26) 6m58s job / 7m08s run (run 37726038434, cold cache): ~1m45s dependencies.sh + prepare-rime.sh, then quality-store 90s, engine-basic 76s (incl. engine-tests build), engine-options 27s, engine-english 28s, engine-context 19s, controller 37s, settings 6s; cache save 19s first warm run pending; expect roughly 1m45s less

Both timing-API reads (failed run 37725452756 and green run 37726038434) report billable.MACOS.total_ms = 0.

🤖 Generated with Claude Code

Ubuntu jobs run the standalone shared-core boundary check, evaluate the
root manifest, run the portable cargo test and the remote-runner tests.
A macos-26 job runs test.sh quick and skips docs-only changes.
check-boundaries.sh falls back to swift when xcrun is absent.

Refs #52

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-08T04:00:24.695908Z 796841c PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 796841cfed

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/macos.yml Outdated
Comment thread .github/workflows/ci.yml Outdated
nervouna and others added 2 commits October 8, 2026 12:00
Refs #52

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
AIRuntimeTests checks 500 ms debounce deadlines at 540 ms; shared macOS
runners miss that margin. The job summary now lists END/FAIL lines.

Refs #52

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@nervouna
nervouna merged commit cf795c1 into main Oct 8, 2026
4 checks passed
@nervouna
nervouna deleted the ci/github-actions branch October 8, 2026 09:36
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