Skip to content

ci: publish CGPs as GitHub releases instead of artifacts#4

Merged
Daniel-ADFA merged 1 commit into
mainfrom
ADFA-3824
Apr 29, 2026
Merged

ci: publish CGPs as GitHub releases instead of artifacts#4
Daniel-ADFA merged 1 commit into
mainfrom
ADFA-3824

Conversation

@Daniel-ADFA

Copy link
Copy Markdown
Collaborator

Actions/upload-artifact expires links after the retention window and renames .cgp to .zip on download. Switch to action-gh-release so plugin downloads stay available indefinitely with their real filenames. Tags are auto-generated as build-YYYY-MM-DD-<run_number>, so each run produces a unique release without manual version bumps.

Also auto-discover plugins by grep'ing build.gradle.kts for the plugin-builder ID, and replace the per-plugin upload list with a
/build/plugin/.cgp glob, so adding a new plugin needs no edits to either the script or the workflow.

  actions/upload-artifact expires links after the retention window
  and renames .cgp to .zip on download. Switch to action-gh-release
  so plugin downloads stay available indefinitely with their real
  filenames. Tags are auto-generated as build-YYYY-MM-DD-<run_number>,
  so each run produces a unique release without manual version bumps.

  Also auto-discover plugins by grep'ing build.gradle.kts for the
  plugin-builder ID, and replace the per-plugin upload list with a
  */build/plugin/*.cgp glob, so adding a new plugin needs no edits
  to either the script or the workflow.
@Daniel-ADFA
Daniel-ADFA merged commit df841c8 into main Apr 29, 2026
@Daniel-ADFA
Daniel-ADFA deleted the ADFA-3824 branch April 29, 2026 22:41
fryanpan added a commit that referenced this pull request May 11, 2026
…ff Main

Three changes in one commit since they all touch the same fragment:

- Bounded bitmap decode (#4): two-pass decode with inSampleSize keyed
  off display width. A full-resolution 2048x2048 PNG as ARGB_8888 is
  ~16 MB of native heap; on the team's 2-4 GB target devices, repeated
  decodes risk OOM. New decodeBitmapBounded helpers in the companion
  object, used by both the cold-start render and the fetch path.

- Move cold-start render off Main (#5): renderFromCacheAsync replaces
  renderFromCache. JSON parse + PNG decode now happen on Dispatchers.IO
  via lifecycleScope; the showComic hop returns to Main. Removes a
  measurable jank window during fragment inflation.

- Remove dead legendView field (#6): declared, assigned, nulled, never
  read. The legend text comes straight from the XML resource.
  Document the URI permission caveat on copyImageToClipboard (#2):
  ClipData.newUri does not auto-grant FLAG_GRANT_READ_URI_PERMISSION;
  we rely on the host FileProvider's grantUriPermissions=true and the
  system's clipboard-handler logic. Verified on real device per the
  test-case S4 gate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

3 participants