Skip to content

Survive gitcode API rate limiting when fetching OpenHarmony releases - #31

Merged
linghengqian merged 1 commit into
version-fox:mainfrom
linghengqian:test
Sep 30, 2026
Merged

linghengqian merged 1 commit into
version-fox:mainfrom
linghengqian:test

Conversation

@linghengqian

Copy link
Copy Markdown
Member

Problem

Linux e2e runs repeatedly failed on every ohos combination with:

lib/ohos.lua:64: OpenHarmony releases are unavailable from
https://gitcode.com/api/v5/repos/CPF-Flutter/flutter_flutter/releases?per_page=100: HTTP 429

The plugin fetched the release list with 3 attempts and a fixed 10s delay,
so any rate-limit window longer than ~20s killed the install. Official-flavor
combos were unaffected (different host).

Fix

lib/ohos.lua: distinguish HTTP 429 from ordinary failures —

  • 429 backs off progressively (30s, 60s, 120s, 180s) over up to 5 attempts,
    so installs can ride out short quota windows;
  • other errors keep the short 10s delay since there is no window to wait out.

Verification

Exercised the retry logic locally with scripted gitcode responses
(first-try success, 429-then-recover, persistent 429, HTTP 500, non-JSON
body): backoff sequences and attempt budgets behave as described above.
The full proof is the Linux e2e ohos matrix going green on CI.

@linghengqian linghengqian added the enhancement New feature or request label Sep 30, 2026
@linghengqian
linghengqian merged commit 4609a4f into version-fox:main Sep 30, 2026
7 checks passed
@linghengqian
linghengqian deleted the test branch September 30, 2026 06:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant