Commit Graph

195 Commits

Author SHA1 Message Date
Torsten Grote f3b8444d38 Use junit test reports, so it is easier to see which test failed 2024-04-10 12:18:53 +00:00
Torsten Grote ce195b8fc4 Apply SHA1 CI hack to Java 17 2024-03-05 14:43:28 +00:00
Torsten Grote 7dd1c132f7 Install new build tools 2024-03-05 14:43:28 +00:00
Torsten Grote fe7ec2213d Install Java 17 for CI 2024-03-05 14:43:28 +00:00
Torsten Grote 35affc09db Upgrade to Gradle 8 and SDK 34
This commit tries to limit the changes required to what is needed to make the project compile again. This includes the Kotlin and Room update.
2024-03-05 14:43:28 +00:00
Hans-Christoph Steiner 30f7ef450b gitlab-ci: allow manually triggering of pipelines 2024-02-15 11:08:37 +01:00
Torsten Grote 87b66c08d5
Always upload artifacts so we have APKs for testing 2024-02-13 11:31:01 -03:00
Torsten Grote f69eeabcff
stop allowing KVM failure, tests should be less flaky now 2024-02-09 11:32:12 -03:00
Torsten Grote 1c6ef78af7
Enable SHA-1 for index-v1 CI until 2026 2024-01-09 15:25:09 -03:00
Hans-Christoph Steiner aa4451f00b gitlab-ci: add job to show that KVM jobs got skipped
https://gitlab.com/fdroid/fdroidclient/-/merge_requests/1249#note_1437804063
2023-11-23 12:27:42 +00:00
proletarius101 9f84fdd658 ci: use xlarge machine type 2023-11-23 10:20:49 +00:00
Hans-Christoph Steiner fe422ca6bc
gitlab-ci: include metadata/ in Weblate merge conflict check 2023-10-19 18:08:24 +02:00
Torsten Grote e59f13abac
Allow KVM tests to fail with warning
due to the use of flaky/broken online services in those instrumentation tests
2023-08-24 11:48:06 +02:00
Torsten Grote 88cfe7dcfb Run app build and test also in lib changes
as lib changes may break the app.
2023-06-21 09:06:58 +00:00
Torsten Grote 0e5009e1fd Include lib build reports in artifacts 2023-06-15 10:28:40 +00:00
Torsten Grote 2e2730f88d Go back to running instrumentation tests on SDK 23 2023-06-15 10:28:40 +00:00
Torsten Grote e83bf6f94c Run KVM tests on SDK 28 due to mock limitation 2023-06-15 10:28:40 +00:00
Torsten Grote 6a5022511e Run library instrumentation tests together with app instrumentation tests
This job already takes the longest to complete due to the slow emulator. Therefore splitting this off doesn't make much sense.
2023-06-15 10:28:40 +00:00
Torsten Grote 8266745fe9 Also do assembleFullRelease for the app in CI 2023-06-15 10:28:40 +00:00
Torsten Grote 373d038cc9 Enable gradle build cache within each pipeline
in order to speed up the CI.

This does not enable the build cache on local dev machines.
2023-06-15 10:28:40 +00:00
Torsten Grote e05db5b662 Split out libs tests from CI jobs 2023-06-15 10:28:40 +00:00
Torsten Grote 7fd223c76d Split out CI jobs and only run them on changes 2023-06-15 10:28:40 +00:00
Hans-Christoph Steiner ab4336ffc4 gitlab-ci: add job to check for merge conflicts with Weblate 2023-06-09 14:07:33 +00:00
Hans-Christoph Steiner ab2e855f26 add job to check whether database schema needs updating, closes #2493 2023-02-28 13:37:41 +00:00
Hans-Christoph Steiner d7dc001b9b gitlab-ci: punt reworking index-v1.jar verify
The index-v1.jar tests need to verify its SHA1 signature.  Java's default
is to treat SHA1 as unsigned.  Ideally, our code would use apksig to verify
those JAR sigs so that it would use the apksigner rules for whether a SHA1
signature is valid.

https://android.googlesource.com/platform/tools/apksig/+/master/src/main/java/com/android/apksig/internal/apk/v1/V1SchemeVerifier.java
2023-02-08 16:06:34 +01:00
Hans-Christoph Steiner 5ccdc68408
define "full" and "debug" as the default build flavors
Running standard tasks like `gradle test` was only running the lint and
test for the basic flavor, when really, the full flavor should always take
precedence. If you look at:

https://gitlab.com/fdroid/fdroidclient/-/jobs/3495360444

You can see that app:lintBasicDebug gets run, but app:lintFullDebug does
not.  Unfortunately, Gradle just alpha-sorts flavors by default to set
priority.
2022-12-20 21:00:07 +01:00
Hans-Christoph Steiner f6d77ee5e7
gitlab-ci: split out ci scripts into tiny standalone job 2022-12-20 21:00:05 +01:00
Torsten Grote 3368519677 [app] Bump minSdkVersion to 23
This is done, because index v2 is signed with apksigner --min-sdk-version 23 by fdroidserver. So to ensure that the client will always be able to verify a v2 index, we force clients to run SDK 23 at least. If they were running 22 and apksigner ever upgrades to incompatible signing algorithms, those clients would get locked out.
2022-12-01 17:43:13 +01:00
Hans-Christoph Steiner ccd3b59bc1
gitlab-ci: rules:/workflow: to make RUN_KVM_JOBS work reliably
I have RUN_KVM_JOBS set on my fork, but it often fails to trigger.
https://medium.com/devops-with-valentine/fix-gitlab-ci-duplicate-pipelines-in-merge-requests-when-using-rules-9a1486994f3a
2022-11-24 20:53:15 +01:00
Torsten Grote b19f751c9f
Fix canonical nightly repo URL
The old one doesn't work without redirects anymore.

fdroidserver!1163
fdroidserver@c6cf0468ede269d52b95c70a854d6987cb13c577
2022-11-11 08:37:38 +01:00
Torsten Grote f6075848e7 Move libraries into their own folder
and remove sharedTest symlink hack. The shared tests are now a proper gradle module to avoid issues with using the same source files in different modules.
2022-09-12 09:46:15 +00:00
Torsten Grote 517e646497 [db] add dokka for generation of docs 2022-09-12 09:46:15 +00:00
Torsten Grote ca6da651ec [db] First prototype 2022-09-12 09:46:15 +00:00
Torsten Grote d2d8b4ee9f
[index] Add dokka for creating HTML library docs 2022-07-17 15:57:12 -03:00
Torsten Grote c369709c54 Move test_lint_pmd_checkstyle CI job to fail on first error
in order to make it easier to find out what actually made the CI fail
2022-05-31 10:20:45 +00:00
Hans-Christoph Steiner 1ca03ae2dc gitlab-ci: rework for buildserver-bullseye and easier KVM 2022-05-25 16:24:55 +02:00
Torsten Grote 6428ef00a5 Revert .gitlab-ci.yml changes in "Upgrade to Gradle 7 and Java 11"
This partially reverts commit c463b3c9ed.
2022-05-25 15:13:21 +02:00
Torsten Grote c463b3c9ed Upgrade to Gradle 7 and Java 11 2022-05-18 12:52:55 +02:00
Torsten Grote decc2cc6e3
Add ktlint and run it in CI
Fixes formatting issues it found.

Also remove version variables from gradle scripts as they are not wanted by the project.
2022-02-16 09:43:19 -03:00
proletarius101 1e090e2440
Fix: the local gradle properties not take effect 2021-03-10 19:35:08 +08:00
Hans-Christoph Steiner 8c2fa955ce gitlab-ci: switch to x86 -no-accel emulator support
Now that is finally works to some degree at least.
fdroid/ci-images-client@6e7b829346
2021-02-23 17:53:33 +01:00
Hans-Christoph Steiner 38e4b05e56 gitlab-ci: only run flaky KVM jobs if env var is set in GitLab 2021-02-23 13:28:32 +01:00
proletarius101 ed86a2fb4f
Add base ci job 2021-02-23 15:51:12 +08:00
Hans-Christoph Steiner 36cb4e8a4c gitlab-ci: limit RAM usage on all gradle runs 2021-02-19 09:27:16 +01:00
Hans-Christoph Steiner 8c8c79d68a gitlab-ci: limit RAM usage to available memory, some runners have 3G 2021-02-18 22:16:38 +01:00
Hans-Christoph Steiner 8f64b45e79 gitlab-ci: fix excluding @LargeTest from emulator jobs
fixup for !899
2021-01-27 15:38:43 +01:00
Hans-Christoph Steiner c5056a8167 gitlab-ci: run errorprone with Java11 2021-01-18 19:26:14 +01:00
Hans-Christoph Steiner c697501f8f gitlab-ci: run all test_lint_pmd_checkstyle parts, even after failures 2021-01-18 19:26:13 +01:00
Hans-Christoph Steiner 06b6f8794f gitlab-ci: retry flaky testFullDebugUnitTest 2021-01-18 19:23:47 +01:00
Hans-Christoph Steiner 69b845c34f
gitlab-ci: disable ignored emulator runs that always fail 2021-01-12 20:05:54 +01:00