From 677301bc8aeaf51b5c61b5377b6dfe0be0d55bf4 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 25 Apr 2025 22:22:35 +0200 Subject: [PATCH 1/2] gitlab-ci: make gradle job show files with trigger it For some reason, this logic thinks that this merge request has changed makebuildserver and/or gradlew-fdroid, though it clearly has not. This should shed some light on it. https://gitlab.com/fdroid/fdroidserver/-/jobs/9835383262 --- .gitlab-ci.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e4d922d0..b8b49c27 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -469,6 +469,8 @@ macOS: gradle: image: debian:bookworm-slim + rules: + - if: "$PERSONAL_ACCESS_TOKEN" <<: *apt-template variables: GIT_DEPTH: 1000 @@ -485,12 +487,15 @@ gradle: python3-requests # if this is a merge request fork, then only check if relevant files changed - if [ "$CI_PROJECT_NAMESPACE" != "fdroid" ]; then + set -x; git fetch https://gitlab.com/fdroid/fdroidserver.git; for f in `git diff --name-only --diff-filter=d FETCH_HEAD...HEAD`; do - test "$f" == "makebuildserver" && export CHANGED="yes"; - test "$f" == "gradlew-fdroid" && export CHANGED="yes"; + test "$f" == "makebuildserver" && export CHANGED="$f $CHANGED"; + test "$f" == "gradlew-fdroid" && export CHANGED="$f $CHANGED"; done; test -z "$CHANGED" && exit; + echo $CHANGED; + set +x; fi - ./tests/gradle-release-checksums.py From 721de491045b9bec923023ab46f45ef0f8c31cc7 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 30 Apr 2025 21:31:21 +0200 Subject: [PATCH 2/2] make_website: only parse repo_pubkey if its needed This makes writing tests a lot easier, since the test cases no longer need to provide a value for `repo_pubkey:`. --- fdroidserver/index.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/fdroidserver/index.py b/fdroidserver/index.py index fb1c4279..b65aa2b1 100644 --- a/fdroidserver/index.py +++ b/fdroidserver/index.py @@ -152,11 +152,6 @@ def _should_file_be_generated(path, magic_string): def make_website(apps, repodir, repodict): - _ignored, repo_pubkey_fingerprint = extract_pubkey() - repo_pubkey_fingerprint_stripped = repo_pubkey_fingerprint.replace(" ", "") - link = repodict["address"] - link_fingerprinted = ('{link}?fingerprint={fingerprint}' - .format(link=link, fingerprint=repo_pubkey_fingerprint_stripped)) # do not change this string, as it will break updates for files with older versions of this string autogenerate_comment = "auto-generated - fdroid index updates will overwrite this file" @@ -168,6 +163,13 @@ def make_website(apps, repodir, repodict): if _should_file_be_generated(html_file, autogenerate_comment): import qrcode + + _ignored, repo_pubkey_fingerprint = extract_pubkey() + repo_pubkey_fingerprint_stripped = repo_pubkey_fingerprint.replace(" ", "") + link = repodict["address"] + link_fingerprinted = '{link}?fingerprint={fingerprint}'.format( + link=link, fingerprint=repo_pubkey_fingerprint_stripped + ) qrcode.make(link_fingerprinted).save(os.path.join(repodir, "index.png")) with open(html_file, 'w') as f: name = repodict["name"]