Skip to content

Commit ccaf698

Browse files
committed
docs: test pre-release recipe from the branch artifact, manual runs for mappings, Telegram only for v2/basic, LABORATORY without per-version releases (Qodo on #195)
1 parent 99e6db4 commit ccaf698

5 files changed

Lines changed: 16 additions & 9 deletions

File tree

‎LABORATORY.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ The pairing is kept with the host's adb key (`~/.android/adbkey`): later only `c
249249
### Builds
250250

251251
- `v2` / `basic`: `gh release download latest -R OpenIPC/decoder -p decoder-v2.apk -p decoder.apk`
252-
- A given 2.xx version: `gh release download v2.01 -R OpenIPC/decoder` (`decoder-v2-2.01.apk`). CI creates the release `v<versionName>` on the first v2 build of each version (#157).
252+
- An older `v2` / `basic` build: from the OpenIPC Telegram channel (every build of these branches is posted there with its version and commit). There are no per-version releases (#194).
253253
- Branches: `build.yml` builds signed APKs only on **push** runs (not `pull_request`); artifact name is `decoder-<branch with / → ->`:
254254
```sh
255255
B=feat/rtsp-multicast

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Ready-to-install builds are in the [**latest** release](https://github.com/OpenI
4545
| `decoder-v2.apk` | **Current version**, recommended |
4646
| `decoder.apk` | Legacy version from the `basic` branch |
4747

48-
Every build is replaced in `latest` by the next one. Development is continuous, so there are no releases per version; every build is also posted with its version and commit to the OpenIPC Telegram channel ([our channels](https://openipc.org/our-channels)).
48+
Every build is replaced in `latest` by the next one. Development is continuous, so there are no releases per version; every `v2` and `basic` build is also posted with its version and commit to the OpenIPC Telegram channel ([our channels](https://openipc.org/our-channels)).
4949

5050
A beta channel is available on [Google Play](https://play.google.com/apps/internaltest/4701231141824898735). To join it, send your e-mail through the [OpenIPC Telegram channels](https://openipc.org/our-channels).
5151

‎README.ru.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
| `decoder-v2.apk` | **Текущая версия**, рекомендуется |
4646
| `decoder.apk` | Старая версия из ветки `basic` |
4747

48-
Каждая новая сборка заменяет предыдущую в `latest`. Разработка идёт непрерывно, поэтому отдельных релизов по версиям нет; каждая сборка с номером версии и коммитом публикуется в Telegram-канале OpenIPC ([наши каналы](https://openipc.org/our-channels)).
48+
Каждая новая сборка заменяет предыдущую в `latest`. Разработка идёт непрерывно, поэтому отдельных релизов по версиям нет; каждая сборка веток `v2` и `basic` с номером версии и коммитом публикуется в Telegram-канале OpenIPC ([наши каналы](https://openipc.org/our-channels)).
4949

5050
Есть бета-канал в [Google Play](https://play.google.com/apps/internaltest/4701231141824898735). Чтобы попасть в него, пришлите свой e-mail через [Telegram-каналы OpenIPC](https://openipc.org/our-channels).
5151

‎README.zh-CN.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
| `decoder-v2.apk` | **当前版本**,推荐使用 |
4646
| `decoder.apk` | `basic` 分支的旧版本 |
4747

48-
每次新构建都会替换 `latest` 中的上一个构建。开发是持续进行的,因此不再按版本单独发布;每个构建连同版本号和提交都会发布到 OpenIPC 的 Telegram 频道([我们的频道](https://openipc.org/our-channels))。
48+
每次新构建都会替换 `latest` 中的上一个构建。开发是持续进行的,因此不再按版本单独发布;`v2` 和 `basic` 分支的每个构建连同版本号和提交都会发布到 OpenIPC 的 Telegram 频道([我们的频道](https://openipc.org/our-channels))。
4949

5050
[Google Play](https://play.google.com/apps/internaltest/4701231141824898735) 上提供测试渠道。如需加入,请通过 [OpenIPC Telegram 频道](https://openipc.org/our-channels)发送您的电子邮箱。
5151

‎docs/testing.md‎

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,21 @@ CI is the reference: the project does not depend on local builds.
4949

5050
- `v2` is **2.xx** (from 2.00). Every pull request that changes the app bumps `android/app/build.gradle` as its last commit before the merge: `versionName` +0.01, `versionCode` +1. Docs-only and CI-only pull requests do not.
5151
- `basic` keeps its 1.07.x line.
52-
- Development is continuous, so there is **no release per version** (#194). The [`latest`](https://github.com/OpenIPC/decoder/releases/tag/latest) release always holds the newest `v2` and `basic` builds. Every build is also posted to the OpenIPC Telegram channel with its version and commit, and that is where older builds can be found.
52+
- Development is continuous, so there is **no release per version** (#194). The [`latest`](https://github.com/OpenIPC/decoder/releases/tag/latest) release always holds the newest `v2` and `basic` builds. Every `v2` and `basic` build is also posted to the OpenIPC Telegram channel with its version and commit, and that is where their older builds can be found. Builds of other branches are only workflow artifacts of their runs (90 days).
5353
- **Test pre-releases**: to let a reporter test a branch, a pre-release named after the issue is made by hand from the branch's CI artifact, e.g. [`flowufo-187-test1`](https://github.com/OpenIPC/decoder/releases/tag/flowufo-187-test1) for #187. It is deleted when the test is over.
5454

5555
```sh
56-
gh release create <name>-<issue>-test1 decoder-<name>-test1.apk --prerelease \
57-
--target <commit> --title "… test build 1 (#<issue>)" --notes "…"
56+
B=feat/my-branch # the branch to test
57+
RUN=$(gh run list -R OpenIPC/decoder -b "$B" -e push -w Build -L 1 --json databaseId -q '.[0].databaseId')
58+
gh run download "$RUN" -R OpenIPC/decoder -n "decoder-${B//\//-}" # gives decoder-feat-my-branch.apk
59+
cp "decoder-${B//\//-}.apk" decoder-my-test1.apk # the asset name the reporter sees
60+
gh release create my-187-test1 decoder-my-test1.apk --prerelease \
61+
--target "$(gh run view "$RUN" -R OpenIPC/decoder --json headSha -q .headSha)" \
62+
--title "… test build 1 (#187)" --notes "…"
5863
```
5964

65+
The tag (`my-187-test1`) and the asset name are free to choose; the artifact is always named after the branch.
66+
6067
- The change history is the [merged pull requests](https://github.com/OpenIPC/decoder/pulls?q=is%3Apr+is%3Amerged+base%3Av2) and the [commits of `v2`](https://github.com/OpenIPC/decoder/commits/v2).
6168
- The installed version and build hash show in the menu (under **Exit**, `v2.10, <hash>`) and in `/stats.json` (`version`, `git`).
6269
- Every build is `com.openipc.decoder` with the release signature, so a branch build installs over a release and keeps the settings.
@@ -104,11 +111,11 @@ A mapping fits **only the build it came from**. Use the one whose build matches
104111
| Build | Mapping |
105112
|---|---|
106113
| the current `v2` build | `decoder-v2-mapping.txt` in [`latest`](https://github.com/OpenIPC/decoder/releases/tag/latest) |
107-
| an older `v2` build, or any branch build | the artifact `decoder-v2-mapping` (or `decoder-<branch>-mapping`) of the CI run of that commit, kept 90 days: `gh run list -R OpenIPC/decoder -c <full commit hash>` finds the run |
114+
| an older `v2` build, or any branch build | the artifact `decoder-v2-mapping` (or `decoder-<branch>-mapping`) of the CI run that built it, kept 90 days. A push run is found by its commit (below). A manual run (*Run workflow* with `commit_hash`) is listed under the branch it was started on, not under the commit it built: `gh run list -R OpenIPC/decoder -w Build -e workflow_dispatch -b <branch>`, then pick the run by its time or ID |
108115
| builds before 2.08 | none: they were made before the mapping was kept (#181) |
109116

110117
```sh
111-
RUN=$(gh run list -R OpenIPC/decoder -c <commit> -w Build -L 1 --json databaseId -q '.[0].databaseId')
118+
RUN=$(gh run list -R OpenIPC/decoder -c <full commit hash> -e push -w Build -L 1 --json databaseId -q '.[0].databaseId')
112119
gh run download "$RUN" -R OpenIPC/decoder -n decoder-v2-mapping
113120
retrace decoder-v2-mapping.txt stacktrace.txt # Android SDK command-line tools
114121
```

0 commit comments

Comments
 (0)