Skip to content

Release: "latest" titled "Decoder <version>", moving tag, SHA256SUMS, Telegram on a version change #229

Closed

Description

@compot-dev

Goal

Bring the latest release in line with OpenIPC/vtesse, OpenIPC/vectis#39, OpenIPC/camex#60 and OpenIPC/cerberus#32. The policy of #194 stays: one release, latest, no releases per version, test pre-releases for reporters.

Current state (.github/workflows/build.yml:122-160)

  • v2 uploads decoder-v2.apk and decoder-v2-mapping.txt, basic uploads decoder.apk, both into latest with softprops/action-gh-release (assets replaced).
  • The latest tag never moves: it still points to 5c17905 (2025-09-02), so the release page shows that commit and the source archives are a year old.
  • The title is latest, without the name or version, and the notes are empty.
  • No SHA256SUMS.
  • Every v2 and basic build is posted to Telegram.

Task

  1. Title Decoder <version>: capital D, versionName of the v2 build (now Decoder 2.17). Short notes: the v2 version and commit, one line "decoder.apk: legacy basic ", a pointer to CHANGELOG.md (Add CHANGELOG.md with the version history #228) and the README.
  2. Move the latest tag to the built v2 commit on every v2 publish, together with the title and notes. A basic build replaces only decoder.apk (and its line in the notes); it does not move the tag or change the title.
  3. SHA256SUMS: after each upload, download the current release assets, recompute sha256sum over all of them (decoder-v2.apk, decoder-v2-mapping.txt, decoder.apk) and replace SHA256SUMS (--clobber). The two branches publish separately, so the file must cover both. Keep the concurrency rule (CI: concurrency, so an older run cannot overwrite the latest release #90) so two uploads do not race on it.
  4. Telegram only when the version changes (decision of 2026-10-17, replaces "every build" of Releases: keep only latest and test pre-releases, no per-version releases #194): before replacing the asset, compare the new versionName with the one in the current release (the title for v2, the notes line for basic); post only a new version. Docs-only and CI-only pull requests no longer reach the channel.
  5. basic stays in the release as the legacy app (decoder.apk).
  6. Unchanged: decoder-v2-mapping.txt in the release (Reduce APK size: 107.5 KiB → ~104.5 KiB (already near the floor) #181), the test pre-releases (docs/testing.md:53).
  7. Test pre-releases never take the place of latest, nor of each other: always --prerelease (never marked Latest, so releases/latest and its download links keep pointing at latest); a tag and an asset name of their own for every build (<device>-<issue>-test<N>, decoder-<device>-test<N>.apk), never decoder-v2.apk or decoder.apk; built by CI (the branch artifact), uploaded by hand; deleted when the test is over. Write this down in docs/testing.md:53.

Documentation (same PR)

  • README.md, README.ru.md, README.zh-CN.md (one commit, same structure), section "Download":
    • permanent links: https://github.com/OpenIPC/decoder/releases/latest, https://github.com/OpenIPC/decoder/releases/latest/download/decoder-v2.apk, .../decoder.apk, .../SHA256SUMS;
    • the release title carries the v2 version; the history is in CHANGELOG.md;
    • Telegram gets each new version (not every build).
  • docs/testing.md, "Versions and releases" (line 48 on): the title, the moving tag, SHA256SUMS, Telegram on a version change, CHANGELOG.md.
  • Comments in build.yml (lines 11-14, 130-131).
  • CHANGELOG.md: an entry for this change.

Order: #228 first. Related: #194, #181, #90, #230 (version MAJOR.MINOR.PATCH).

Activity

  1. added
    uniRelease naming and management, common across the repositories
    on Oct 17, 2026
  2. compot-dev commented on Oct 17, 2026

    @compot-dev
    CollaboratorAuthor

    Done: #234 (v2) and #235 (basic). latest is titled Decoder 2.17, its tag is on the built v2 commit (1e6e7bd, it used to be 5c17905 from 2025-09-02), the notes give each branch's version and commit, SHA256SUMS covers all files (checked through the permanent links), and Telegram got 2.17 and 1.7.1 once each; rebuilds with the same version are not posted. Test pre-releases: docs/testing.md (always --prerelease, a tag and an asset name of their own).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    uniRelease naming and management, common across the repositories

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions