Overhaul the CI

linsui
2026-03-24T11:27:35Z

1. **Remove the issuebot.** It has been mostly replaced by the code quality reports. https://gitlab.com/fdroid/fdroiddata/-/merge_requests/30937
2. **Add more code quality report.**
1. Binary scanner, permission scanner attribute scanner https://gitlab.com/fdroid/fdroiddata/-/merge_requests/29740
2. Fastlane scanner https://gitlab.com/fdroid/fdroiddata/-/merge_requests/30325
3. Signature scanner https://gitlab.com/fdroid/fdroiddata/-/merge_requests/30933
4. Built APK artifact url https://gitlab.com/fdroid/fdroiddata/-/merge_requests/30938
5. Scanner in fdroid build
6. Gradle wrapper https://gitlab.com/fdroid/gradlew-fdroid/-/issues/4
7. Fastlane check, e.g., markdown detector. This can be done with magika https://gitlab.com/fdroid/fdroiddata/-/merge_requests/31291
8. Profanity detector https://gitlab.com/fdroid/fdroiddata/-/issues/3607
9. License scanner. Is there a good tool?
10. Linters
11. Show the apk size and native lib size so that we can know if we should split the abi.
12. Check if the apk has different native libs for different abi which generally is a bug.
3. **Run some lightweight linter in the first stage. Run other jobs only when all linters pass.** Similiar to fdroidserver.
1. Check that only the correct file is added. No `.yaml` file. No metadata in root path. No folder except patch.
2. Check the branch is not protected and doesn't have conflict. Can we block MRs from private repo?
3. Some lightweight linters, e.g., schema validation, git redirect, YAML 1.2. fdroid rewritemeta and fdroid lint should also be fast enough if we just install the necessary deps.
4. **Rewrite get_changed_builds.** We should use something really understand yaml to check the diff, e.g., yq. Then we only run the necessary jobs. E.g., if only the AntiFeature is changed then checkupdates should not run. This can be run in a standalone job and passed to other jobs.

Suggestions? @licaon-kter @eighthave @proletarius101