Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions docs/en/fastlane.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,18 @@ this lane uploads a new AAB and does not promote existing releases.
| `validate_only` | `false`; accepts only `true` or `false` |

`MEGAPROXY_RELEASE_DIR` overrides the default artifact directory. Relative file paths are resolved
from the repository root. Metadata, changelogs, images and screenshots are not uploaded; the
F-Droid listing under `fastlane/metadata/android` is left separate from Play listing management.
from the repository root. Google Play releases are named `Version <versionName>`, for example
`Version 0.1.1`, using `app/build.gradle.kts`. Run the lane from the checkout/tag matching the AAB.

Release notes are uploaded automatically from the existing English and Russian changelogs:
`fastlane/metadata/android/en-US/changelogs/<versionCode>.txt` and
`fastlane/metadata/android/ru-RU/changelogs/<versionCode>.txt`. Fastlane selects the files using the
version code returned by Google Play for the uploaded AAB (for example, `14000.txt` for 0.1.1).
Prepare both files with each release; their contents become the localized release notes. The lane
does not generate text from commits. See [Fastlane changelogs](https://docs.fastlane.tools/actions/upload_to_play_store/#changelogs-whats-new).

Store listing text, images and screenshots are not uploaded. F-Droid and Google Play share the
release-note files, while Play listing management remains separate.
The tag workflow publishes a GitHub Release and a Google Play internal draft. PR CI must not
receive the Play JSON key or invoke `play_release`.

Expand Down
14 changes: 12 additions & 2 deletions docs/ru/fastlane.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,18 @@ bundle exec fastlane android play_release track:production release_status:comple
| `validate_only` | `false`; принимает только `true` или `false` |

`MEGAPROXY_RELEASE_DIR` меняет каталог артефактов по умолчанию. Относительные пути считаются от
корня репозитория. Метаданные, changelog, изображения и скриншоты не загружаются; каталог F-Droid
`fastlane/metadata/android` остаётся отдельным от управления карточкой Play.
корня репозитория. Выпуски Google Play получают имя `Version <versionName>`, например
`Version 0.1.1`, из `app/build.gradle.kts`. Запускайте lane из checkout/тега, соответствующего AAB.

Примечания к выпуску автоматически загружаются из существующих changelog на английском и русском:
`fastlane/metadata/android/en-US/changelogs/<versionCode>.txt` и
`fastlane/metadata/android/ru-RU/changelogs/<versionCode>.txt`. Fastlane выбирает файлы по коду версии,
который Google Play вернул для загруженного AAB (например, `14000.txt` для 0.1.1).
Готовьте оба файла при каждом релизе: их содержимое становится локализованными примечаниями.
Lane не генерирует текст из коммитов. См. [changelog Fastlane](https://docs.fastlane.tools/actions/upload_to_play_store/#changelogs-whats-new).

Текст карточки магазина, изображения и скриншоты не загружаются. F-Droid и Google Play используют
общие файлы примечаний, а управление карточкой Play остаётся отдельным.
Workflow по тегу публикует GitHub Release и internal-черновик Google Play. CI для PR не должен
получать JSON-ключ Play или вызывать `play_release`.

Expand Down
7 changes: 6 additions & 1 deletion fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -163,17 +163,22 @@ platform :android do
UI.user_error!("aab must have the .aab extension") unless File.extname(files[:aab]) == ".aab"
UI.user_error!("symbols must have the .zip extension") unless File.extname(files[:mapping]) == ".zip"

app_version = File.read(File.join(project_root, "app/build.gradle.kts"))[/^\s*versionName = "([^"]+)"/, 1]
UI.user_error!("Could not read versionName from app/build.gradle.kts") unless app_version

upload_to_play_store(
**files,
json_key_data: json_key_data,
package_name: "net.megaproxy487",
version_name: "Version #{app_version}",
metadata_path: File.join(project_root, "fastlane/metadata/android"),
track: track,
release_status: release_status,
validate_only: validate_only == "true",
skip_upload_apk: true,
skip_upload_aab: false,
skip_upload_metadata: true,
skip_upload_changelogs: true,
skip_upload_changelogs: false,
skip_upload_images: true,
skip_upload_screenshots: true
)
Expand Down
3 changes: 2 additions & 1 deletion fastlane/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Fastlane is the supported entry point for tests and build artifacts. Install Rub
The release lane deliberately delegates signing and artifact verification to the repository's
existing release scripts. It requires the signing environment documented in the root README.
`play_release` uploads an existing signed AAB and matching native symbols to Google Play. It
defaults to an internal draft and requires the JSON key contents in `SUPPLY_JSON_KEY_DATA`; see the setup guides below.
names releases `Version <versionName>`, uploads English/Russian changelogs, defaults to an internal draft,
and requires the JSON key contents in `SUPPLY_JSON_KEY_DATA`; see the setup guides below.

Full setup and CI scope rules: [English](../docs/en/fastlane.md) / [Русский](../docs/ru/fastlane.md).
Loading