mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-13 22:42:29 +03:00
gitlab-ci: "PUBLISH" job to test in the signing server's setup
This commit is contained in:
parent
2f4e0f47a1
commit
c5f442616e
2 changed files with 66 additions and 0 deletions
|
@ -710,3 +710,67 @@ docker:
|
||||||
fi
|
fi
|
||||||
- docker push $RELEASE_IMAGE
|
- docker push $RELEASE_IMAGE
|
||||||
- docker push $RELEASE_IMAGE-bookworm
|
- docker push $RELEASE_IMAGE-bookworm
|
||||||
|
|
||||||
|
|
||||||
|
# PUBLISH is the signing server. It has a very minimal manual setup.
|
||||||
|
PUBLISH:
|
||||||
|
image: debian:bullseye-backports
|
||||||
|
script:
|
||||||
|
- apt-get update
|
||||||
|
- apt-get -qy upgrade
|
||||||
|
- apt-get -qy install --no-install-recommends -t bullseye-backports
|
||||||
|
androguard
|
||||||
|
apksigner
|
||||||
|
curl
|
||||||
|
default-jdk-headless
|
||||||
|
git
|
||||||
|
gpg
|
||||||
|
gpg-agent
|
||||||
|
python3-asn1crypto
|
||||||
|
python3-defusedxml
|
||||||
|
python3-git
|
||||||
|
python3-ruamel.yaml
|
||||||
|
python3-yaml
|
||||||
|
rsync
|
||||||
|
|
||||||
|
# Run only relevant parts of the test suite, other parts will fail
|
||||||
|
# because of this minimal base setup.
|
||||||
|
- python3 -m unittest
|
||||||
|
tests/test_gpgsign.py
|
||||||
|
tests/test_metadata.py
|
||||||
|
tests/test_publish.py
|
||||||
|
tests/test_signindex.py
|
||||||
|
|
||||||
|
- cd tests
|
||||||
|
- mkdir archive
|
||||||
|
- mkdir unsigned
|
||||||
|
- cp urzip-release-unsigned.apk unsigned/info.guardianproject.urzip_100.apk
|
||||||
|
- grep '^key.*pass' config.yml | sed 's,\x3a ,=,' > $CI_PROJECT_DIR/variables
|
||||||
|
- sed -Ei 's,^(key.*pass|keystore)\x3a.*,\1\x3a {env\x3a \1},' config.yml
|
||||||
|
- printf '\ngpghome\x3a {env\x3a gpghome}\n' >> config.yml
|
||||||
|
- |
|
||||||
|
tee --append $CI_PROJECT_DIR/variables <<EOF
|
||||||
|
gpghome=$CI_PROJECT_DIR/tests/gnupghome
|
||||||
|
keystore=$CI_PROJECT_DIR/tests/keystore.jks
|
||||||
|
serverwebroot=/tmp
|
||||||
|
export gpghome keypass keystorepass keystore serverwebroot
|
||||||
|
EOF
|
||||||
|
- source $CI_PROJECT_DIR/variables
|
||||||
|
# silence warnings
|
||||||
|
- chmod 0600 config.yml config/*.yml config/*/*.yml
|
||||||
|
- chmod 0700 $gpghome
|
||||||
|
# make fake 'ciarang' index signing key
|
||||||
|
- keytool -keyclone -alias 4e7da5b7 -dest ciarang
|
||||||
|
-keypass:env keypass -new:env keypass -storepass:env keystorepass -keystore $keystore
|
||||||
|
|
||||||
|
- export PATH=$CI_PROJECT_DIR:$PATH
|
||||||
|
|
||||||
|
# run signpkg.sh
|
||||||
|
- fdroid publish --verbose
|
||||||
|
- fdroid gpgsign --verbose
|
||||||
|
- rsync --progress repo/* $serverwebroot/
|
||||||
|
|
||||||
|
# run signindex.sh
|
||||||
|
- fdroid gpgsign --verbose
|
||||||
|
- fdroid signindex --verbose
|
||||||
|
- rsync --stats repo/* $serverwebroot/
|
||||||
|
|
|
@ -25,3 +25,5 @@ install_list: org.adaway
|
||||||
uninstall_list: ['com.android.vending', 'com.facebook.orca']
|
uninstall_list: ['com.android.vending', 'com.facebook.orca']
|
||||||
|
|
||||||
repo_key_sha256: f49af3f11efddf20dffd70f5e3117b9976674167adca280e6b1932a0601b26f6
|
repo_key_sha256: f49af3f11efddf20dffd70f5e3117b9976674167adca280e6b1932a0601b26f6
|
||||||
|
|
||||||
|
gpgkey: F9A6B8DF7566FCAB173AAB3516D6C4D3CE71F7FB
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue