Commit graph

315 commits

Author SHA1 Message Date
Jochen Sprickerhof
4dc19129c8
Add missing checkupdates dependency 2023-11-28 07:22:17 +01:00
Jochen Sprickerhof
9e7ec00e40 Switch bullseye-slim to bookworm-slim 2023-11-27 09:23:35 +00:00
linsui
a234c2af55 CI: remove .gitconfig after clone 2023-11-22 18:56:13 +08:00
Licaon_Kter
f37f657576 .gitlab-ci - add missed sudo 2023-11-21 09:47:44 +00:00
Hans-Christoph Steiner
d1f1a9720d gitlab-ci: reintroduce git config from prod buildserver 2023-11-21 08:36:32 +00:00
linsui
b24d3a0a75 CI: make the path the same as buildserver 2023-11-21 07:44:20 +00:00
Hans-Christoph Steiner
bdadfaef17 Revert "gitlab-ci: include git config from production buildserver" 2023-11-19 17:30:36 +00:00
Hans-Christoph Steiner
52f0d7ac77 gitlab-ci: include git config from production buildserver 2023-11-15 12:27:14 +00:00
linsui
58ff9ccb1c CI: make the trigger issuebot pipeline manual 2023-10-24 06:48:35 +00:00
proletarius101
889b1e9307 ci: use medium gitlab runner machine type for better performance 2023-10-18 07:35:41 +00:00
proletarius101
e5952c4958 Resolve "fatal: couldn't find remote ref xxx/master" 2023-10-01 16:40:16 +00:00
linsui
5e676a3b83
CI: reset jdk to 11 after every build 2023-09-08 08:51:24 +00:00
Jochen Sprickerhof
6b819a0970 chown fdroiddata directory for the build
For the CI builds fdroiddata lies outside of $home_vagrant in
/builds/$GITLAB_USER/fdroiddata, so the files where still owned by root.
This breaks $fdroid publish, running as user vagrant, when using
git_repo.is_dirty() in common.setup_status_output() due to git
safe.directory. (The actual error message is error: unknown option cached).
Note that this only triggers when build-contains-signatures.py succeeds.
2023-09-07 15:03:18 +00:00
linsui
ddb6507665 Install python3-javaproperties for issuebot 2023-05-24 17:04:23 +00:00
linsui
981208d843 CI: check all metadata when the schema is changed 2023-05-24 16:49:30 +08:00
Hans-Christoph Steiner
33481756ef gitlab-ci: add job to check if Repo URL is a redirect
We need a strong link between the source repo URL and our buildserver. HTTP
redirects have a number of issues, and are unnecessary in our use case.
Once this is complete, then the buildserver can set http.followRedirects to
false, and we could also set the buildserver to fetch source over Tor to
avoid targetting it.  Right now, gitlab.com only allows git fetches over
Tor if it is hitting a direct URL.  gitlab.com/s redirect logic will
trigger Cloudflare captures otherwise.

* https://bugs.debian.org/79002
* https://www.debian.org/security/2019/dsa-4371
* https://googleprojectzero.github.io/0days-in-the-wild//0day-RCAs/2021/CVE-2021-38000.html
* fdroidclient#1041
2023-03-20 17:07:37 +00:00
FestplattenSchnitzel
eb857173ca CI: Update schema validation
- Replace ajv with check-jsonschema
- Remove allow_failure
2023-02-18 16:03:16 +00:00
proletarius101
5b9f45431a Only run verfication jobs when metadata files change on default branch 2022-11-07 12:33:35 +00:00
proletarius101
c964c66451 add merge request pipelines flag 2022-11-07 11:37:59 +00:00
proletarius101
42d0a3361f fix checkupdates never runs on MRs 2022-11-06 15:13:34 +00:00
proletarius101
27115c68a1 Revert "Revert "prevent duplicate pipelines in MRs""
This reverts commit b6144cbbc5.
2022-11-01 14:36:03 +08:00
proletarius101
b6144cbbc5 Revert "prevent duplicate pipelines in MRs"
This reverts commit 4e40bd1e10.
2022-11-01 14:28:27 +08:00
proletarius101
4e40bd1e10 prevent duplicate pipelines in MRs 2022-10-31 22:00:56 +00:00
proletarius101
c03ead5470 switch to merge request pipelines 2022-10-31 21:37:08 +00:00
linsui
ad0a712a50 Only run lint on changed files 2022-10-28 15:28:20 +00:00
Jochen Sprickerhof
8a7e4af080
Fix checkupdates tags 2022-10-13 17:31:45 +02:00
Jochen Sprickerhof
c9ecb2bab6
Switch checkupdates to pep runner 2022-10-13 17:17:58 +02:00
linsui
00b7981f8c remove sdkmanager since it's pre-installed 2022-10-13 14:43:13 +08:00
Jochen Sprickerhof
5f5b8e1520 Switch CI images to Debian stable-slim 2022-10-12 09:57:04 +00:00
Hans-Christoph Steiner
86a1c3b65f gitlab-ci: port issuebot job to bullseye 2022-10-11 19:56:08 +00:00
Hans-Christoph Steiner
8e62cba28c gitlab-ci: run tools/make-summary-translatable.py 2022-10-11 10:03:40 +00:00
linsui
54501b98e7 Install sdkmanager from Debian 2022-10-11 09:57:23 +00:00
Hans-Christoph Steiner
9e823ba744
gitlab-ci: include new issuebot dep: python3-requests-cache
issuebot!66
issuebot@110db4a12d51c986d18fcdf0962d303f7140a783
rfp@6049b0902a42e628945b5e1201c31540e9f0fe8e
2022-09-27 20:58:19 +02:00
Jochen Sprickerhof
010db2c126 CI: Fail when find-changed-builds fails
Closes: 2761
2022-09-20 07:34:10 +00:00
Jochen Sprickerhof
c74b9afc88 CI: ignore deleting the build folder
This will fail in case the build recipe does something special (like
disorderfs).
2022-08-18 16:43:34 +00:00
Hans-Christoph Steiner
f984e85cd5
gitlab-ci: keep transitional code in fdroid build job
This transitional block of code for installing fdroid/sdkmanager needs to
remain until the buildserver is upgraded to handle all that.

The `fdroid build` is meant to provide a CI run as close as possible to the
production buildserver.  It should not include custom setup or methods,
except when there is no other way to make this job work.  Android's
sdkmanager is definitely part of the buildserver setup, and is included in
the fdroidserver:buildserver image.

Also, `sdkmanager --licenses` is totally inappropriate for F-Droid, and also
already handled by the buildserver provisioning.  F-Droid only accepts the
licenses that match free software source code.  Google has separate licenses
for libraries that have free source vs proprietary source.  F-Droid will
never accept the licenses that are tied to proprietary source.

Also, the CI env var needs to remain set.  Unsetting it here creates an
custom, undocumented, brittle setup.

This reverts !11367 !11476 and upgrades fdroid/sdkmanager to 0.6.1
2022-08-05 10:33:00 -07:00
Jochen Sprickerhof
c9feb87fa2
checkupdates: retry push until CI timeout 2022-08-05 09:24:28 +02:00
linsui
90112f795e install android sdk as before 2022-08-04 02:52:53 +00:00
Hans-Christoph Steiner
2e47291277
gitlab-ci: use barebones base image for easy auditing
F-Droid setups here deliberately use simple base images like
alpine so we can easily check whether they are all free
software, like the MapBox issues.  I have done quite a bit of
profiling in the past of docker images like curlimages vs
installing.  For short jobs like this, there has never been a
clear winner.  When curlimages is in the runner's docker
cache, it can be a bit faster than installing the package, but
images like alpine are much more likely to be in the docker
cache, making them on average faster.

this reverts a change in !11503.
2022-08-03 11:35:06 -07:00
Hans-Christoph Steiner
d3fc7ec8b3
gitlab-ci: fix whitespace yamllint errors in .gitlab-ci.yml 2022-08-03 11:29:56 -07:00
proletarius101
32c6369dc1 optimize trigger-issuebot 2022-08-02 15:42:00 +00:00
linsui
a809c8e7ae change android sdk permission 2022-08-02 15:43:42 +08:00
proletarius101
ddda87536a improve fdroid build performance 2022-08-01 05:41:03 +00:00
Jochen Sprickerhof
7c108a89c9 Improve checkupdates_runner CI
- switch from  bzr to brz.
- delete .git/logs/HEAD.lock
- setup en_US.UTF-8 locales (needed by set_FDroidPopen_env), bzr
  warning.
2022-07-31 09:58:04 +02:00
Jochen Sprickerhof
cd34d7c8f5 Switch checkupdates to bullseye-slim image 2022-07-29 10:35:14 +02:00
linsui
fbc52ffa6f Fix finding the common ancestor of two branch 2022-07-29 03:34:45 +00:00
proletarius101
7c1c1c2e43 Update .gitlab-ci.yml file 2022-07-29 03:11:56 +00:00
proletarius101
d545c14038 Fix appid list incomplete 2022-07-28 17:37:20 +00:00
proletarius101
8b0a3c7bb0 Fix incorrectly randomize appid list order 2022-07-28 15:18:06 +00:00
proletarius101
9539d11a62 fix appid list incomplete 2022-07-28 06:09:12 +00:00
proletarius101
7703ffcf5a
fix app id list incomplete 2022-07-28 13:33:29 +08:00
proletarius101
814395e10f fix app id list incomplete 2022-07-28 03:55:09 +00:00
proletarius101
27cb591ed1
scale up checkupdates_runner 2022-07-28 11:29:02 +08:00
proletarius101
2fc8c30711 fix checkupdates timeout for some set of APPIDS 2022-07-27 23:10:56 +00:00
proletarius101
a821857acd Split lint job 2022-07-27 17:03:15 +00:00
proletarius101
be3d04ace3
misc fixes 2022-07-28 00:27:44 +08:00
proletarius101
cff8357a02 fix not extracting file basenames ass APPID in checkupdates 2022-07-27 16:26:29 +00:00
proletarius101
7fb9ba9480 use GitLab's parallel keyword to deprecate checkupdates_trigger job 2022-07-27 13:26:05 +00:00
linsui
c002ddcf48 fix fatal: remote upstream already exists. 2022-07-25 06:36:19 +00:00
proletarius101
e03c2dcf57 [ci] check diff with common ancestor 2022-07-24 09:25:28 +00:00
proletarius101
2c14733bab
fix some pipelines missing for commits in default branch 2022-07-21 16:09:30 +08:00
Jochen Sprickerhof
ff846c4d78 Revert "slim checkupdates_trigger"
This reverts commit f541a01ac3.
2022-07-20 10:18:51 +02:00
proletarius101
3c4af12469 limit git depth as much as possible 2022-07-18 14:41:50 +00:00
proletarius101
f541a01ac3
slim checkupdates_trigger 2022-07-15 11:10:48 +08:00
proletarius101
80d8e33320 fix rebase will not trigger fdroid build 2022-07-15 02:19:52 +00:00
proletarius101
587f7c98c2 fix sdk can't be installed 2022-07-15 02:09:38 +00:00
proletarius101
35a54ef6ca fix .gradle not able to be uploaded 2022-07-14 16:34:31 +00:00
proletarius101
01e85c9de5 fix sdkmanager --licenses hanging 2022-07-14 15:40:38 +00:00
proletarius101
3a2a0f3323 switch to the official sdkmanager 2022-07-14 14:04:50 +00:00
proletarius101
c7517a074c Use needs to execute jobs out-of-order 2022-07-12 09:06:29 +00:00
proletarius101
28a5e7e268 fix $CHANGED is empty 2022-07-12 05:10:02 +00:00
proletarius101
eb31e9ed4b fix diff parsing in get_changed_apps 2022-07-11 13:17:41 +00:00
proletarius101
f99db160f8 optimize ci yaml structure 2022-07-10 13:30:43 +00:00
proletarius101
9d2dd62abe optimize ci job dependency graph 2022-07-10 11:39:34 +00:00
proletarius101
bebb6e24a4 Fix fdroid build change detection on the default branch of fdroid/fdroiddata 2022-07-10 08:29:06 +00:00
proletarius101
9cbef0d46a
allow fdroid to run on main branch 2022-07-10 00:27:29 +08:00
proletarius101
be93abc6a1 Fix main branch ci where fdroid build doesn't run 2022-07-09 15:31:31 +00:00
proletarius101
742a30ff8e assign ci job stages to achive proper ordering 2022-07-09 15:07:38 +00:00
proletarius101
f9c09c4bf6
restore fdroid build disable condition 2022-07-09 21:02:35 +08:00
proletarius101
b617981e50 run fdroid build in CI as long as metadata changes 2022-07-09 12:30:28 +00:00
proletarius101
2dfe0e8ef8 fix sast report detection in UI 2022-07-08 11:29:03 +00:00
proletarius101
73c74f8c90 Use branch pipelines to avoid Premium tier features 2022-07-08 00:31:09 +00:00
proletarius101
5e5927be28 use merge request pipelines workflow 2022-07-07 19:16:09 +00:00
proletarius101
3d8393b361
fix fdroid build gradle caching location 2022-07-07 23:44:48 +08:00
proletarius101
597f70de2d Fix sast ci job 2022-07-07 15:42:37 +00:00
linsui
401112f7fe unset CI 2022-05-20 16:20:10 +00:00
Jochen Sprickerhof
0f5d89c8e7 Stick to old parallel version
New version broke with 6b13c5d9.
2022-02-25 12:54:42 +01:00
Jochen Sprickerhof
8b81f589bd Revert "Increase the number of parallel checkupdates jobs"
This reverts commit 573c27e8a2.

Did not solve the problem.
2022-02-25 12:26:32 +01:00
Jochen Sprickerhof
573c27e8a2 Increase the number of parallel checkupdates jobs 2022-02-24 09:01:34 +01:00
Hans-Christoph Steiner
eac554d867 gitlab-ci: run apt-get clean in jobs to maximize available disk space 2022-02-23 16:59:08 +00:00
proletarius101
120ec1033a stop comparing new commits in the main branch 2022-02-15 12:55:38 +00:00
Hans-Christoph Steiner
908b51a0fb
gitlab-ci: issuebot job needs python3-venv
!10274
!10421
fdroidserver!1069
2022-01-18 11:46:58 +01:00
Hans-Christoph Steiner
125a378a0b
gitlab-ci: ensure buildserver env vars are always set
GitLab CI runs the Docker images in a way that makes it not a login shell.
Files in /etc/profile.d are only sourced automatically in a login shell,
so it needs to happen manually here.
2022-01-18 10:22:15 +01:00
Hans-Christoph Steiner
52c19f6046
gitlab.ci: use official buildserver image for builds
fdroidservers#119
fdroidserver!1069
2022-01-17 15:21:52 +01:00
proletarius101
8bb103ab8a fix sast execution conditions 2021-12-12 18:05:37 +00:00
proletarius101
5d6f03a778 Fix SAST job execution conditions 2021-12-12 17:10:55 +00:00
proletarius101
aec3387b9a add sast 2021-12-12 16:58:25 +00:00
FestplattenSchnitzel
690e92c5ec
Allow schema validation job failure for exit code 128
git diff A...B is equivalent to git diff $(git merge-base A B) B.
See man git-diff.

In some special situations `git merge-base A B` fails with "fatal: FETCH_HEAD...HEAD: no merge base".
2021-12-08 17:43:23 +01:00
FestplattenSchnitzel
1ae76acc12
Simplify schema validation job script 2021-12-08 17:36:42 +01:00
FestplattenSchnitzel
66b58fb723
[CI] Fix schema validation job not checking metadata files 2021-11-20 21:09:15 +01:00