mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-04 22:40:12 +01:00
6570e85a2b
Ubuntu/trusty is used as the base image for CI systems like Travis, as well as Microsoft Subsystem for Linux. SO we need to provide working options.
179 lines
6.4 KiB
YAML
179 lines
6.4 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. This uses the commit ID of the release tags,
|
|
# rather than the release tag itself so that contributor forks do not
|
|
# need to include the tags in them for this test to work.
|
|
#
|
|
# The COMMIT_ID should be bumped after each release, so that the list
|
|
# of sed hacks needed does not continuously grow.
|
|
metadata_v0:
|
|
image: registry.gitlab.com/fdroid/ci-images-server:latest
|
|
variables:
|
|
RELEASE_COMMIT_ID: 2f563f533b3571c80f7a09c6fbb453398658f723 # 1.0.2
|
|
script:
|
|
- git fetch https://gitlab.com/fdroid/fdroidserver $RELEASE_COMMIT_ID
|
|
- cd tests
|
|
- export GITCOMMIT=`git describe`
|
|
- git checkout $RELEASE_COMMIT_ID
|
|
- 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
|
|
- echo "accepted_formats = ('txt', 'yml')" >> config.py
|
|
- ../tests/dump_internal_metadata_format.py
|
|
- sed -i
|
|
-e '/Translation:/d'
|
|
-e '/kivy:\sfalse/d'
|
|
-e '/timeout:\s/d'
|
|
metadata/dump_*/*.yaml
|
|
- diff -uw metadata/dump_*
|
|
|
|
debian_testing:
|
|
image: debian:testing
|
|
only:
|
|
- master@fdroid/fdroidserver
|
|
script:
|
|
- apt-get -qy update
|
|
- apt-get -qy dist-upgrade
|
|
- apt-get -qy install --no-install-recommends
|
|
fdroidserver git gnupg python3-setuptools
|
|
- sed -i -e 's,testing,sid,g' -e 's,testing,sid,g' /etc/apt/sources.list
|
|
- apt-get -qy update
|
|
- apt-get install -y --no-install-recommends aapt androguard android-platform-tools-base zipalign
|
|
- python3 -c 'import fdroidserver'
|
|
- python3 -c 'import androguard'
|
|
- export ANDROID_HOME=/usr/lib/android-sdk
|
|
- export LANG=C.UTF-8
|
|
- cd tests
|
|
- ./run-tests
|
|
|
|
# test using LTS set up with the PPA, including Recommends
|
|
ubuntu_lts:
|
|
image: ubuntu:latest
|
|
only:
|
|
- master@fdroid/fdroidserver
|
|
variables:
|
|
DEBIAN_FRONTEND: noninteractive
|
|
script:
|
|
- echo Etc/UTC > /etc/timezone
|
|
- apt-get -qy update
|
|
- apt-get -qy install gnupg
|
|
- while ! apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 9AAC253193B65D4DF1D0A13EEC4632C79C5E0151; do sleep 15; done
|
|
- 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-get -qy update
|
|
- apt-get -qy dist-upgrade
|
|
- apt-get -qy install --install-recommends fdroidserver git python3-setuptools
|
|
- export ANDROID_HOME=/usr/lib/android-sdk
|
|
- export LANG=C.UTF-8
|
|
- cd tests
|
|
- ./run-tests
|
|
|
|
# test using TrustyLTS with all depends from pypi
|
|
ubuntu_trusty_pip:
|
|
image: ubuntu:trusty
|
|
only:
|
|
- master@fdroid/fdroidserver
|
|
variables:
|
|
DEBIAN_FRONTEND: noninteractive
|
|
LANG: C.UTF-8
|
|
script:
|
|
- echo Etc/UTC > /etc/timezone
|
|
- apt-get -qy update
|
|
- apt-get -qy dist-upgrade
|
|
- apt-get -qy install git default-jdk python3-pip python3.4-venv
|
|
- rm -rf env
|
|
- pyvenv-3.4 env
|
|
- . env/bin/activate
|
|
- echo sed -i "s/'requests.*',$/'requests',/" setup.py
|
|
- pip3 install --upgrade babel pip setuptools
|
|
- pip3 install -e .
|
|
- ./setup.py compile_catalog
|
|
- ./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
|
|
|
|
pyup_io_safety_check:
|
|
image: archlinux/base
|
|
script:
|
|
- pacman --sync --sysupgrade --refresh --noconfirm grep python-pip python-virtualenv tar
|
|
- ./setup.py compile_catalog install
|
|
- pip install safety
|
|
- safety check --full-report
|
|
|
|
pylint:
|
|
image: alpine:3.7
|
|
variables:
|
|
LANG: C.UTF-8
|
|
script:
|
|
- apk add --no-cache ca-certificates python3
|
|
- python3 -m ensurepip
|
|
- pip3 install pylint
|
|
- pylint --rcfile=.pylint-rcfile --output-format=colorized --reports=n
|
|
fdroid
|
|
makebuildserver
|
|
setup.py
|
|
fdroidserver/*.py
|
|
tests/*.py
|
|
tests/*.TestCase
|
|
|
|
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 AAPT_VERSION=`sed -n "s,^MINIMUM_AAPT_VERSION\s*=\s*['\"]\(.*\)[['\"],\1,p" fdroidserver/common.py`
|
|
- 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;$AAPT_VERSION"
|
|
- chown -R testuser .
|
|
- cd tests
|
|
- su testuser --login --command
|
|
"cd `pwd`; export ANDROID_HOME=$ANDROID_HOME; fdroid=~testuser/.local/bin/fdroid ./run-tests"
|