Skip to content

chore(ci): remove the remaining HarmonyOS CI and script leftovers - #3373

Merged
stamp-build[bot] merged 1 commit into
mainfrom
agent/codex-android-devops/ci-drop-harmonyos
Oct 21, 2026
Merged

stamp-build[bot] merged 1 commit into
mainfrom
agent/codex-android-devops/ci-drop-harmonyos

Conversation

@stamp-build

@stamp-build stamp-build Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

林舟 (Codex-Android-DevOPS) from slock-android opened this pull request through Stamp
View in Stamp →


Summary

HarmonyOS was removed from the codebase in #3181. This PR removes the OHOS pieces that were still left in CI and scripts. This changes CI and workflows on artin's explicit instruction ("鸿蒙部分都删了": remove all the HarmonyOS parts). The docs cleanup is a separate PR, #3371.

  • Deleted .github/workflows/ohos-release.yml. This was the "OHOS Release" dispatch stub. Nothing referenced it: no other workflow, workflow_run trigger, ruleset required check, path filter or contract script.
  • scripts/prepare_android_hands_symbols.sh: dropped the two DevEco/openharmony llvm-readelf fallback paths. The Android NDK, llvm-readelf and readelf candidates are still there.
  • scripts/i18n_code_literal_scan.py: it now scans .kt only. Removed the .ets/ArkTS parsing (single-quote and backtick strings), the ArkTS app.string./sys.string. prefixes and the "OHOS" technical term.
  • scripts/qa/test_i18n_code_literal_scan.py: removed the two ArkTS-only tests and the ArkTS half of the resource-reference test.
  • scripts/i18n_code_literal_allowlist.json: removed the "Harmony smoke preview" and "generated OHOS paths" entries.
  • scripts/qa/review_agent.mjs: removed the ohos platform branch, so the platform is ios or android.
  • scripts/patrol/fix_queue.mjs: removed ohosTest from the test-root regex.
  • scripts/cmp_migrate_imports.py: the comment no longer names ohosArm64Main.
  • scripts/ci/test_kuikly_raft_consumer_contract.py: removed the kuiklyOhos catalog-pin assertion. The Kuikly UI checks are unchanged.
  • scripts/ci/test_no_local_ktor_ci_contract.py: removed the OHOS-only assertions: the prepare_ktor_ohos_fork.sh and third_party/ktor-ohos paths, the 2.3.7-slock-ohos version, the ktor-client-core-ohosarm64 variant and the .json5 (oh-package) suffix. The mavenLocal and io.ktor checks and the NetworkKMM version check are unchanged. Both contracts still guard non-OHOS things, so they stay in test.yml.

Tests run locally

  • python3 -m unittest test_i18n_code_literal_scan (in scripts/qa): 18 tests, OK
  • python3 scripts/ci/test_kuikly_raft_consumer_contract.py: PASS
  • python3 scripts/ci/test_no_local_ktor_ci_contract.py: PASS
  • node --test scripts/qa/*.test.mjs: 169 pass, 0 fail
  • node --test scripts/patrol/fix_queue.test.mjs: pass
  • node --check on review_agent.mjs and fix_queue.mjs: OK
  • bash -n scripts/prepare_android_hands_symbols.sh: OK
  • py_compile cmp_migrate_imports.py: OK
  • Workflow-reading validators:
    • check_gradle_cache_policy_wiring.py --self-test and the real run: OK
    • test_gradle_cache_policy.sh: OK
    • check-merge-command-policy.sh and test_merge_command_policy.sh: OK
    • check_source_constraints.py: OK
  • Only partly run here, because the host has no ruby and CI will run them in full: test_ci_tiering_contract.sh, test_git_diff_path_state.sh and test_android_hands_release_contract.sh. Their non-ruby parts passed, and none of them reference the deleted workflow.

Notes / follow-ups (not in this PR)

  • Running i18n_code_literal_scan.py on the real repo already fails on origin/main: a stale allowlist entry ("Floating Dock" in SettingsHomePage.kt) no longer matches anything. This is unrelated to this PR, and the scan is advisory and not wired into CI. With the two Harmony allowlist entries gone, those two literals (still in SettingsHomePage.kt and RaftLucideIconGalleryPage.kt) will show up as findings until the compose code cleanup removes them.
  • Still left in code for a later pass: compose/shared/src/ohosArm64Main/.../RaftStoreConfinement.ohos.kt, a source set that no target compiles; OHOS/Harmony comments in compose/**; and THIRD_PARTY_NOTICES.md.

🤖 Generated with Claude Code

HarmonyOS was removed from the codebase in #3181; these were the last
OHOS pieces in CI and scripts.

- Delete the `OHOS Release` dispatch stub workflow (nothing references it).
- prepare_android_hands_symbols.sh: drop the DevEco/openharmony
  llvm-readelf fallback paths.
- i18n literal scanner: scan Kotlin only (drop .ets/ArkTS parsing, the
  ArkTS resource prefixes and the "OHOS" technical term); drop the ArkTS
  test cases and the two Harmony/OHOS allowlist entries.
- review_agent.mjs: no `ohos` platform branch; fix_queue.mjs: no
  `ohosTest` test root; cmp_migrate_imports.py: comment no longer names
  ohosArm64Main.
- Kuikly consumer and no-local-Ktor contracts: drop the OHOS-only
  assertions (kuiklyOhos pin, ktor-ohos fork paths/versions, ohosArm64
  variant); their other checks are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@stamp-build
stamp-build Bot merged commit 0380e61 into main Oct 21, 2026
23 of 25 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.

0 participants