From 0da93f9a7d9d4910326ecdedfa4a2446f281efba Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 23 Sep 2019 10:52:13 +0200 Subject: [PATCH 1/5] travis: test bash script syntax with macOS's bash version !676 --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.travis.yml b/.travis.yml index c9cb33eb..2b6c5703 100644 --- a/.travis.yml +++ b/.travis.yml @@ -82,7 +82,12 @@ install: # The OSX tests seem to run slower, they often timeout. So only run # the test suite with the installed version of fdroid. +# +# macOS sticks with bash 3.x because of licenses, so avoid use new bash syntax script: + - /bin/bash --version + - /bin/bash -n gradlew-fdroid tests/run-tests + - ./tests/run-tests after_failure: From 7142a3b89f8462918e3f1267c16b22df719ef07d Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 23 Sep 2019 11:31:14 +0200 Subject: [PATCH 2/5] travis: retry `brew install`, it randomly fails on downloads $ brew tap adoptopenjdk/openjdk Updating Homebrew... ==> Tapping adoptopenjdk/openjdk Cloning into '/usr/local/Homebrew/Library/Taps/adoptopenjdk/homebrew-openjdk'... fatal: unable to access 'https://github.com/adoptopenjdk/homebrew-openjdk/': Could not resolve host: github.com Error: Failure while executing; `git clone https://github.com/adoptopenjdk/homebrew-openjdk /usr/local/Homebrew/Library/Taps/adoptopenjdk/homebrew-openjdk --depth=1` exited with 128. The command "brew tap adoptopenjdk/openjdk" failed and exited with 1 during . --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2b6c5703..0a10bcb0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,8 +46,8 @@ install: - brew uninstall java --force || true - brew cask uninstall java --force || true - brew tap adoptopenjdk/openjdk - - brew cask install adoptopenjdk8 - - brew cask install android-sdk + - travis_retry brew cask install adoptopenjdk8 + - travis_retry brew cask install android-sdk - export AAPT_VERSION=`sed -n "s,^MINIMUM_AAPT_VERSION\s*=\s*['\"]\(.*\)[['\"],\1,p" fdroidserver/common.py` - mkdir -p "$ANDROID_HOME/licenses" From 9b5f452f5d67c198bd0a5c14edde98137c870b9a Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 23 Sep 2019 10:53:19 +0200 Subject: [PATCH 3/5] switch official Travis test badge back to https://github.com/f-droid The repos in this group are now setup as mirrors. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b0a1c02..00ddb3bc 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ | CI Builds | fdroidserver | buildserver | fdroid build --all | publishing tools | |--------------------------|:-------------:|:-----------:|:------------------:|:----------------:| | GNU/Linux | [![fdroidserver status on GNU/Linux](https://gitlab.com/fdroid/fdroidserver/badges/master/build.svg)](https://gitlab.com/fdroid/fdroidserver/builds) | [![buildserver status](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment/badge/icon)](https://jenkins.debian.net/job/reproducible_setup_fdroid_build_environment) | [![fdroid build all status](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_build_apps/) | [![fdroid test status](https://jenkins.debian.net/job/reproducible_fdroid_test/badge/icon)](https://jenkins.debian.net/job/reproducible_fdroid_test/) | -| macOS | [![fdroidserver status on macOS](https://travis-ci.org/fdroidtravis/fdroidserver.svg?branch=master)](https://travis-ci.org/fdroidtravis/fdroidserver) | | | | +| macOS | [![fdroidserver status on macOS](https://travis-ci.org/f-droid/fdroidserver.svg?branch=master)](https://travis-ci.org/f-droid/fdroidserver) | | | | # F-Droid Server From 0e403878059e8a4034efa9861ad220173212a06e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 23 Sep 2019 11:08:25 +0200 Subject: [PATCH 4/5] gitlab-ci: switch debian/testing back to pure testing, no sid The sid packages were needed as a temporary workaround while the new androguard packages were settling into Debian. --- .gitlab-ci.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 46ce6d56..bde998ee 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -45,10 +45,14 @@ debian_testing: - apt-get -qy update - apt-get -qy dist-upgrade - apt-get -qy install --no-install-recommends - fdroidserver git gnupg python3-defusedxml 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 + aapt + androguard + fdroidserver + git + gnupg + python3-defusedxml + python3-setuptools + zipalign - python3 -c 'import fdroidserver' - python3 -c 'import androguard' - export ANDROID_HOME=/usr/lib/android-sdk From 8d3512763db6d52ed20def8025f6f3351ad1d24e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 23 Sep 2019 11:50:51 +0200 Subject: [PATCH 5/5] gitlab-ci: use a template for a complete apt CI setup # Conflicts: # .gitlab-ci.yml --- .gitlab-ci.yml | 48 ++++++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bde998ee..96fc53a9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -37,14 +37,29 @@ metadata_v0: metadata/dump_*/*.yaml - diff -uw metadata/dump_* +.apt-template: &apt-template + variables: + DEBIAN_FRONTEND: noninteractive + LANG: C.UTF-8 + before_script: + - echo Etc/UTC > /etc/timezone + - echo 'APT::Install-Recommends "0";' + 'APT::Install-Suggests "0";' + 'APT::Acquire::Retries "20";' + 'APT::Get::Assume-Yes "true";' + 'Dpkg::Use-Pty "0";' + 'quiet "1";' + >> /etc/apt/apt.conf.d/99gitlab + - apt-get update + - apt-get dist-upgrade + debian_testing: image: debian:testing + <<: *apt-template only: - master@fdroid/fdroidserver script: - - apt-get -qy update - - apt-get -qy dist-upgrade - - apt-get -qy install --no-install-recommends + - apt-get install aapt androguard fdroidserver @@ -55,30 +70,24 @@ debian_testing: 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_ppa: image: ubuntu:latest + <<: *apt-template only: - master@fdroid/fdroidserver - variables: - ANDROID_HOME: /usr/lib/android-sdk - DEBIAN_FRONTEND: noninteractive - LANG: C.UTF-8 script: - - echo Etc/UTC > /etc/timezone - - apt-get -qy update - - apt-get -qy install gnupg + - export ANDROID_HOME=/usr/lib/android-sdk + - apt-get 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 binfmt-support fdroidserver git python3-defusedxml python3-setuptools + - apt-get update + - apt-get dist-upgrade + - apt-get install --install-recommends binfmt-support fdroidserver git python3-defusedxml python3-setuptools - grep binfmt /proc/modules || apt -qy purge apksigner - cd tests - ./run-tests @@ -87,16 +96,11 @@ ubuntu_lts_ppa: # apksigner is recommended, but requires binfmt support in the kernel ubuntu_xenial_pip: image: ubuntu:xenial + <<: *apt-template 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 --no-install-recommends git default-jdk-headless python3-pip python3-venv rsync zipalign + - apt-get install git default-jdk-headless python3-pip python3-venv rsync zipalign - rm -rf env - pyvenv env - . env/bin/activate