1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-07-04 16:30:12 +02:00
fdroidserver/.gitlab-ci.yml
Hans-Christoph Steiner 05abbfbabd gitlab-ci: move sdist test run to new fedora job
A full run of the test suite takes quite a bit of time.  This removes one
of the 3 runs from the main 'tests' job, and puts it into the Fedora job.
That test run is mostly to make sure the setup.py and source tarball are
correctly, so that doesn't affect merge requests very often.

This also tests `pip install --user`, which was not really being tested
before.
2017-12-06 20:20:17 +01:00

118 lines
4.5 KiB
YAML

test:
image: registry.gitlab.com/fdroid/ci-images-server:latest
script:
- pip3 install -e .
- cd tests
- ./complete-ci-tests
# Test that the parsing of the .txt format didn't change from last
# released version. Ensure that the official tags are included when
# running these tests on forks as well.
metadata_v0:
image: registry.gitlab.com/fdroid/ci-images-server:latest
script:
- git fetch https://gitlab.com/fdroid/fdroidserver 0.8
- cd tests
- export GITCOMMIT=`git describe`
- git checkout 0.8 # bump after release
- cd ..
- git clone --depth 1 https://gitlab.com/fdroid/fdroiddata
- cd fdroiddata
- ../tests/dump_internal_metadata_format.py
- cd ..
- git reset --hard
- git checkout $GITCOMMIT
- cd fdroiddata
- ../tests/dump_internal_metadata_format.py
- diff -uw metadata/dump_*
debian_testing:
image: debian:testing
only:
- master@fdroid/fdroidserver
script:
- apt update -y
- apt dist-upgrade -y
- apt-get install -y --no-install-recommends
aapt adb android-platform-tools-base android-sdk-common fdroidserver
git gnupg python3-setuptools zipalign
- export ANDROID_HOME=/usr/lib/android-sdk
- export LANG=C.UTF-8
- cd tests
- rm -f install.TestCase # fails frequently and is unimportant
- ./run-tests
ubuntu_lts:
image: ubuntu:latest
only:
- master@fdroid/fdroidserver
script:
- apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 9AAC253193B65D4DF1D0A13EEC4632C79C5E0151
- export RELEASE=`sed -n 's,^deb [^ ][^ ]* \([a-z]*\).*,\1,p' /etc/apt/sources.list | head -1`
- echo "deb http://ppa.launchpad.net/fdroid/fdroidserver/ubuntu $RELEASE main" >> /etc/apt/sources.list
- apt update -y
- apt dist-upgrade -y
- apt-get install -y --no-install-recommends
aapt adb android-platform-tools-base android-sdk-common fdroidserver
git gnupg python3-setuptools unzip wget zipalign
- export ANDROID_HOME=/usr/lib/android-sdk
# xenial's aapt is too old
- wget --no-verbose https://dl.google.com/android/repository/build-tools_r27.0.1-linux.zip
- unzip -q build-tools_r27.0.1-linux.zip
- rm build-tools_r27.0.1-linux.zip
- mv android-8.1.0 $ANDROID_HOME/build-tools/27.0.1
- export LANG=C.UTF-8
- cd tests
- ./run-tests
pip_install:
image: archlinux/base
only:
- master@fdroid/fdroidserver
script:
- pacman --sync --sysupgrade --refresh --noconfirm grep python-pip python-virtualenv tar
# setup venv to act as release build machine
- python -m venv sdist-env
- . sdist-env/bin/activate
- ./setup.py compile_catalog sdist
- deactivate
- tar tzf dist/fdroidserver-*.tar.gz | grep locale/de/LC_MESSAGES/fdroidserver.mo
# back to bare machine to act as user's install machine
- pip install dist/fdroidserver-*.tar.gz
- test -e /usr/share/locale/de/LC_MESSAGES/fdroidserver.mo
- fdroid
- fdroid readmeta
- fdroid update --help
fedora_latest:
image: fedora:latest
only:
- master@fdroid/fdroidserver
script:
- dnf -y update
- dnf -y install git gnupg java-1.8.0-openjdk-devel python3 python3-babel
python3-pip rsync unzip wget
- ./setup.py compile_catalog sdist
- useradd -m -c "test account" --password "fakepassword" testuser
- su testuser --login --command "cd `pwd`; pip3 install --user dist/fdroidserver-*.tar.gz"
- test -e ~testuser/.local/share/locale/de/LC_MESSAGES/fdroidserver.mo
- wget --no-verbose -O tools.zip https://dl.google.com/android/repository/tools_r25.2.4-linux.zip
- unzip -q tools.zip
- rm tools.zip
- export ANDROID_HOME=`pwd`/android-sdk
- mkdir $ANDROID_HOME
- mv tools $ANDROID_HOME/
- mkdir -p $ANDROID_HOME/licenses/
- printf "\n8933bad161af4178b1185d1a37fbf41ea5269c55\nd56f5187479451eabf01fb78af6dfcb131a6481e" > $ANDROID_HOME/licenses/android-sdk-license
- printf "\n84831b9409646a918e30573bab4c9c91346d8abd" > $ANDROID_HOME/licenses/android-sdk-preview-license
- printf "\n79120722343a6f314e0719f863036c702b0e6b2a\n84831b9409646a918e30573bab4c9c91346d8abd" > $ANDROID_HOME/licenses/android-sdk-preview-license-old
- mkdir ~/.android
- touch ~/.android/repositories.cfg
- echo y | $ANDROID_HOME/tools/bin/sdkmanager "platform-tools"
- echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;25.0.2"
- chown -R testuser .
- cd tests
- su testuser --login --command
"cd `pwd`; export ANDROID_HOME=$ANDROID_HOME; fdroid=~testuser/.local/bin/fdroid ./run-tests"