Reworks the pipeline so a change is built once and a release is driven by the merge, not a manual tag push. - ci.yaml now runs on pull_request (one gate per PR) instead of every branch push, so there's no CI-on-push + CI-on-merge double run. A single `ci` job with a docs-only fast-path keeps the required "CI" check always reporting (docs/metadata-only PRs skip the Android build but still go green). - release.yaml triggers on push to main. A cheap `detect` job reads versionName from build.gradle; only when no tag for it exists does the `release` job run: tests on the merged commit, build + sign, publish to F-Droid, then create the vX.Y.Z tag + Gitea release via the API (target_commitish = the merged sha). The tag is now an OUTPUT of a successful release, not its trigger — a failure before publish leaves no tag, so re-running safely retries. No more separate tag-triggered run or duplicate ci job. - The committed versionName/versionCode are now the source of truth (pipeline pins versionCode from versionName); updated the build.gradle comment. - translations.yaml switched to pull_request (same path filter). - docs/RELEASING.md: release-by-merge flow, no manual git tag. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
name: Translations
|
|
|
|
# Fast, SDK-free parity check for translation resources, so Weblate PRs (which
|
|
# only touch values-*/strings.xml) get quick feedback without the full Android
|
|
# build. The deeper checks still run in CI via lintDebug (ExtraTranslation).
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- 'app/src/main/res/values*/strings.xml'
|
|
- 'app/src/main/res/xml/locales_config.xml'
|
|
- 'scripts/check_translations.py'
|
|
- '.gitea/workflows/translations.yaml'
|
|
|
|
concurrency:
|
|
group: translations-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: docker
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Ensure python3
|
|
run: |
|
|
if ! command -v python3 >/dev/null 2>&1; then
|
|
if command -v apt-get >/dev/null 2>&1; then
|
|
apt-get update && apt-get install -y python3
|
|
elif command -v apk >/dev/null 2>&1; then
|
|
apk add --no-cache python3
|
|
fi
|
|
fi
|
|
python3 --version
|
|
|
|
- name: Check translation parity
|
|
run: python3 scripts/check_translations.py
|