Skip to content

Drop the SDK-dependent CI and empty the toolchain bucket - #6

Merged
madeye merged 1 commit into
mainfrom
chore/disable-r2-ci
Jul 28, 2026
Merged

Drop the SDK-dependent CI and empty the toolchain bucket#6
madeye merged 1 commit into
mainfrom
chore/disable-r2-ci

Conversation

@madeye

@madeye madeye commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

The HarmonyOS workflows fed themselves from a private R2 bucket, because Huawei's DevEco command-line tools cannot be fetched by a runner or redistributed. That bucket has been emptied, so the three workflows that read from it are removed rather than left to fail on every push:

  • harmonyos-build.yml (hosted Linux HAP build + signing)
  • harmonyos-unit-tests.yml (hosted macOS ArkTS unit tests)
  • harmonyos-e2e.yml (self-hosted emulator e2e)

The repository secrets R2_API_TOKEN and R2_ENDPOINT are deleted as well.

What CI still covers

lint, test-core, test-cross and test-tun — all hosted Linux, no SDK needed, gating every push and pull request as before. Everything SDK-dependent goes back to local-only, driven by the same scripts: ci/hos-emulator-e2e.sh for the on-device suites, hvigorw for the build and the ArkTS tests.

Restoring it

ci/package-hos-toolchain.sh and ci/r2-env.sh stay as the tooling; the workflows are one git revert away. Bringing it back costs ~5.5 GB in a bucket, two secrets, and — for the emulator — a self-hosted Apple-silicon runner. The docs keep the findings from that round so they don't have to be rediscovered: the Linux toolchain must be stored as Huawei's zip verbatim (19 paths differ only in case), restool needs libGL on Linux, the ArkTS unit tests cannot run on Linux at all (the previewer their runner drives is missing libshared_libz.so there, so specs silently never execute), and the emulator needs HVF, which no GitHub-hosted runner provides.

🤖 Generated with Claude Code

The HarmonyOS workflows fed themselves from a private R2 bucket, since
Huawei's DevEco tools cannot be fetched by a runner or redistributed.
That bucket is now empty, so the three workflows that read from it —
the Linux HAP build, the macOS ArkTS unit tests and the self-hosted
emulator e2e — are removed rather than left to fail on every push. The
repository secrets they used are deleted too.

CI keeps the four host-side workflows, which need no SDK and still gate
every push and pull request: lint, test-core, test-cross and test-tun.
Everything SDK-dependent goes back to being local-only, driven by the
same scripts as before — ci/hos-emulator-e2e.sh for the on-device
suites, hvigorw for the build and the ArkTS tests.

ci/package-hos-toolchain.sh and ci/r2-env.sh stay as the tooling to
restore the setup, and the docs keep what that round established: the
Linux toolchain must be stored as Huawei's zip verbatim (19 paths differ
only in case), restool needs libGL on Linux, the ArkTS unit tests cannot
run on Linux at all because the previewer their runner drives is missing
libshared_libz.so there, and the emulator needs HVF, which no
GitHub-hosted runner provides.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@madeye
madeye merged commit 62df865 into main Jul 28, 2026
5 checks passed
@madeye
madeye deleted the chore/disable-r2-ci branch July 28, 2026 10:43
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