Skip to main content

release

Prepare and publish a new Amarok release (stable or beta)

Ir para a instalação

Informações da origem

Repositório
deltazefiro/Amarok-Hider
Última atividade na origem
25 de fevereiro de 2026 às 05:17
Idioma detectado do SKILL.md
inglês
Estrelas
3.259
Forks
110

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
release
description
Prepare and publish a new Amarok release (stable or beta)
disable-model-invocation
true
allowed-tools
Read, Glob, Grep, Bash(git:*), Bash(./gradlew:*), Bash(python3:*), Bash(mkdir:*), Bash(wc:*), Bash(ls:*)
# Amarok Release Procedure You are preparing a new release for Amarok. Follow the steps below **in order**, asking for user confirmation at each decision point. Do not skip steps. ## Step 1: Determine release type and version 1. Find the current version in `app/build.gradle` (`versionCode` and `versionName`). 2. Read `git log` since the last tag to understand what changed. 3. Ask the user: **stable or beta?** Present both options with their proposed version name and code: - **Stable**: use the versioning rules below to propose a version. - **Beta**: use the versioning rules below to propose a version. 4. Versioning rules for computing the proposed version: - **First beta of new cycle**: bump minor version from the current stable (e.g., `0.10.0` → `0.11.0-beta1`), round versionCode **up to next multiple of 10** (e.g., `124` → `130`). - **Subsequent beta**: increment beta number (e.g., `-beta1` → `-beta2`), increment versionCode by 1. - **Stable release (from beta)**: drop the beta suffix, increment versionCode by 1. - **Stable patch release**: bump patch version (e.g., `0.10.0` → `0.10.1`), increment versionCode by 1. ## Step 2: Merge open translation PRs (stable releases only) For stable releases only: 1. List open PRs from the Weblate bot using: `GITHUB_TOKEN=<token> gh pr list -R deltazefiro/Amarok-Hider --search "translation"` 2. If translation PRs exist, show them to the user. 3. **IMPORTANT**: Tell the user to merge the selected PRs **on GitHub directly** (using squash merge), then wait for them to confirm. Do NOT merge locally — GitHub's squash merge preserves the correct commit message format with per-language `(by Name <email>)` lines that the translation credit script depends on. 4. After user confirms the PRs are merged on GitHub, run `git pull origin main` to pull them in. 5. If no translation PRs are found, inform the user and move on. ## Step 3: Verify prerequisites 1. Confirm git working tree is clean (`git status --short` should be empty). If not, ask user to resolve. 2. Build the app: `./gradlew assemble` (timeout 300s). If it fails, stop and report the error. ## Step 4: Bump version in gradle Edit `app/build.gradle` to update `versionCode` and `versionName` to the values confirmed in Step 1. ## Step 5: Draft release notes ### 5a: Gather changes 1. Run `git log <last-tag>..HEAD --oneline --no-merges` to get the full commit list. 2. Focus on **user-facing changes only** — skip technical details, refactors, docs, CI, etc. 3. Consolidate related changes: if a feature was introduced and subsequent commits fix issues with that same feature within this release range, only mention the feature — not the fixes. ### 5b: Generate translation credits (if translation commits exist in range) Run: ``` GITHUB_TOKEN=<token> python3 .github/scripts/summarize_translation_contrib.py --start <last-tag> --end HEAD ``` If the script requires a GitHub token and one hasn't been provided yet, ask the user for it. Store it for later use in Step 7. ### 5c: Write fastlane changelog Create `fastlane/metadata/android/en-US/changelogs/<versionCode>.txt` following this format: ``` v<versionName> - Change 1 - Change 2 (#issue) ... ``` - English only, concise, no longer than 200 words. - Do not include translation update details in fastlane changelog. - Match the style of existing changelogs (check previous files in the same directory). ### 5d: Write GitHub release draft Create `tmp/release_note_v<versionName>.md` following the format below. **For stable releases:** ```markdown ## ChangeLog - Feature or fix description (#issue) - <translation credit line from script> > The `@username` credits are generated by a [script](https://github.com/deltazefiro/Amarok-Hider/blob/main/.github/scripts/summarize_translation_contrib.py) based on your Weblate email. If you notice any mistakes, please open an issue. ## 更新内容 - Chinese translation of each changelog item - 更新社区翻译(详见上文) **Full Changelog**: https://github.com/deltazefiro/Amarok-Hider/compare/<last-tag>...v<versionName> ## 下载版本说明 / Which version should I download? - **First time install** / 首次安装: → Use the version without any suffix / 请下载「无后缀」版本 - **Updating** / 升级已有安装: - Installed from _F-Droid_ or _IzzyOnDroid_ / 原先通过 F-Droid 或 IzzyOnDroid 安装: → Use the version with `-foss` suffix / 请下载带 `-foss` 后缀的版本 - Installed from _Coolapk_, _GitHub_, _AppCenter_ or other channels / 原先通过酷安、AppCenter、GitHub 或其他渠道安装: → Use the version without suffix / 请下载「无后缀」版本 ``` **For beta releases**, prepend this warning block before the ChangeLog: ```markdown > [!warning] > This is a pre-release version. Get the latest stable release [here](https://github.com/deltazefiro/Amarok-Hider/releases/latest/). > 这是一个不稳定预览版本。请在[这里](https://github.com/deltazefiro/Amarok-Hider/releases/latest/)下载最新的稳定版本。 ``` Omit the translation credit section and its note in beta releases. ### 5e: Ask user to review Tell the user to review both files. Wait for confirmation before proceeding. ## Step 6: Commit, tag, and push 1. Stage `app/build.gradle` and the fastlane changelog file. 2. Commit with message: `chore: Bump version to v<versionName> (<versionCode>)` 3. Create git tag: `git tag v<versionName>` 4. Push: `git push origin main --tags` ## Step 7: Create GitHub release draft Ask the user for their GitHub token if not already obtained. ```bash GITHUB_TOKEN=<token> gh release create v<versionName> \ -R deltazefiro/Amarok-Hider \ --title "Amarok v<versionName>" \ --notes-file tmp/release_note_v<versionName>.md \ --draft \ <if beta: --prerelease> ``` Report the release URL to the user. Remind them to review and publish when ready
Ver no GitHub