Commit Graph
12 Commits
Author SHA1 Message Date
Lovehsigure_520 65751f598d chore(ci): mirror release assets to GitCode (#1797)
## Summary

Adds GitCode Release mirroring for AIRI release assets.

- Adds a reusable `.github/scripts/publish-gitcode-release.sh` helper
that creates or reuses the matching GitCode release, compares GitHub and
GitCode asset names, downloads only missing `AIRI-*` and `latest-*.yml`
assets, uploads them through GitCode's upload URL API, and verifies the
final asset list.
- Hooks the mirror step into desktop, Android, and iOS release workflows
so assets produced by separate release jobs can converge on the same
GitCode release.
- Keeps the mirror idempotent so repeated or concurrent release
workflows skip already mirrored files.

## Why

GitHub Releases are slow for many mainland China users. GitCode provides
a domestic fallback release page, but manually copying installers after
every release is error-prone and tedious.

## Validation

- `bash -n .github/scripts/publish-gitcode-release.sh`
- YAML parsing for:
  - `.github/workflows/release-tamagotchi.yml`
  - `.github/workflows/release-pocket-android.yml`
  - `.github/workflows/release-pocket-ios.yml`
- `git diff --check -- .github/scripts/publish-gitcode-release.sh
.github/workflows/release-tamagotchi.yml
.github/workflows/release-pocket-android.yml
.github/workflows/release-pocket-ios.yml`
- Local idempotency check against existing `v0.10.1` GitHub/GitCode
releases:
  - GitCode release already exists
  - all mirrored assets already present
  - final asset verification passed

## Setup Required

The target repository needs these GitHub Secrets:

- `GITCODE_TOKEN`
- `GITCODE_OWNER`
- `GITCODE_REPO`

For the current GitCode project, `GITCODE_OWNER` should remain `MoeruAI`
because GitCode's API and release download paths currently resolve that
namespace even though the UI displays `moeru-ai`.
2026-05-19 21:49:26 +08:00
Makito 9dc78be7c1 chore(ci): simplify inputs for pocket-ios release workflow 2026-04-28 16:58:13 +09:00
Makito d413225346 chore(ci): change code sign style to manual for pocket-ios release build 2026-04-28 03:03:17 +09:00
Makito 1326a3c31a chore(ci): add on.release trigger for stage-pocket iOS workflow 2026-04-08 00:23:56 +09:00
Makito 46d04479de chore(ci): install iTMSTransporter for stage-pocket iOS workflow 2026-04-05 20:03:15 +09:00
Makito ed3382c461 chore(ci): adjust inputs for stage-pocket iOS workflow 2026-04-05 19:45:59 +09:00
Makito c1fb62317a chore(ci): upload IPA to TestFlight 2026-04-05 19:39:38 +09:00
Makito f4b61c69e1 chore(ci): upload iOS build artifacts to releases 2026-04-05 01:44:58 +09:00
Makito 34ec68034b chore(ci): include build number in IPA filename 2026-04-04 20:19:15 +09:00
Makito 3a018d91f3 chore(ci): add codesign and archive steps for stage-pocket iOS build 2026-04-04 17:14:34 +09:00
Makito 6eee51184f chore(ci): use macos-26 2026-04-04 14:06:25 +09:00
Makito 291f3e3baf chore(ci): add release workflow for stage-pocket iOS build 2026-04-04 12:06:07 +09:00