From 0d0b39e4bc9b2f8462eb1c753083509bc1f248c2 Mon Sep 17 00:00:00 2001 From: Juhani Numminen Date: Fri, 22 Jan 2021 14:34:07 +0200 Subject: [PATCH] travis: config rewrite to have osx working again Do not attempt to run python2 tests on osx. Homebrew updating was taking a long time, causing timeouts. Reduced the number of homebrew formulas to cut down install time. Some of the removed ones are already provided in the osx image. osx_image updated because only the newer ones work without travis's homebrew addon flag 'update: true' https://changelog.travis-ci.com/xcode-11-3-1-xcode-11-2-1-xcode-11-1-and-xcode11-images-updated-142286 Config updated with the help of live validator: https://config.travis-ci.com/explore Added sudo flag "-H" to "sudo pip*" as pip suggests. Trying to make use of cached of $HOME/perl_modules. --- .travis.yml | 61 +++++++++++++++++++++-------------------- Brewfile | 9 ------ scripts/travis-ci-build | 4 +++ 3 files changed, 36 insertions(+), 38 deletions(-) delete mode 100644 Brewfile diff --git a/.travis.yml b/.travis.yml index 699b63b5..e4f30acc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,22 +1,39 @@ +language: generic +os: + - linux + - osx +dist: bionic +osx_image: xcode12.2 addons: + apt: + - cpanminus + - python-glade2 + - python-gnome2 + - python-gnome2-dev + - python-gtk2 + - python-pip + - python-setuptools + - python-tk + - python3-pip + - python3-setuptools + - python3-tk homebrew: - brewfile: true - update: true + - perl + - cpanminus + - create-dmg cache: directories: - $HOME/perl_modules - $HOME/tidyall_d deploy: provider: releases - api_key: + token: secure: SrKnXigL/oUHNbqpbGx0DB1o+LAEkfPA2QTBllXxg4V+1vGAHBT9FRecp8Do+no/zSPRttH+sPDEPBXMMAV0BWVKKw5Mxas/S5ulVkNdfxpTq1bKjI3EjZbVsS1zZlHe0P77TDFDAj8zyeiYecBM08suhd9OvScieiPlpFPE1UYp9vvNKaBgc66IRNnIDRBdktW4YLsgvkrpXnxGPy8gGwylsTeOzNs5/r5dzHswGdksJl46kqCIbV+s4/Xcx+BEnfibWzEFZmLQoGKhoukbSis3YXGIlERcgiVU6v7S2D4wbwUXSAKOj/Io7z/88Co2P3Qbm538kf/pjeR9+DaM1HsHQQcL0detCjjLog+ekKr2fM00QI1yRmqOiZtuXxTMpneYX73EBmPt4la4rjKmnlhS+NTxrynHcPZD8QopCPvoZ3sUD6dQCrbi8kcGxe13srfdJ3KjuWZXdedLIOgNELbj5o6GNivsanWna59yoJzChC5/H5Jjllncvzbp56TZfEkM1NJkE84jjSS8Sn2KLXjD0woHIsuUSkRNExrCt/6QmIub/QxZPUhwQ2J0xCv1IJPdd0XvO3gCqasG3UA2Q0OlP172x92ocOV/wm1/4wfoG6v/mn+bX5ZwvrsMmm+r3FKKlM8L3T33yFjMzgG/YMoRN8w7pXUIkdtZK8EEDVg= - # file: dist/PySolFC.app file: PySolFC.dmg on: repo: shlomif/PySolFC tags: true skip_cleanup: true -dist: bionic before_install: - if test "$TRAVIS_OS_NAME" = "osx" ; then wget --content-disposition https://sourceforge.net/projects/pysolfc/files/PySolFC-Cardsets/minimal/PySolFC-Cardsets--Minimal-2.0.tar.xz/download && @@ -24,39 +41,25 @@ before_install: mv PySolFC-Cardsets--Minimal-2.0/cardset-* data ; fi - if test "$TRAVIS_OS_NAME" = "osx" ; then - PYVER=3.9.0 && + PYVER=3.9.1 && PYVER_SHORT=3.9 && wget -O python.pkg "https://www.python.org/ftp/python/${PYVER}/python-${PYVER}-macosx10.9.pkg" && sudo installer -pkg python.pkg -target / && export PATH="/Library/Frameworks/Python.framework/Versions/${PYVER_SHORT}/bin:${PATH}" ; fi + - cpanm local::lib + - eval "$(perl -Mlocal::lib=${HOME}/perl_modules)" install: # Tests are failing for them sometimes - - sudo cpanm --notest Capture::Tiny IPC::System::Simple - - sudo cpanm Code::TidyAll::Plugin::Flake8 Perl::Tidy Test::Code::TidyAll Test::Differences Test::TrailingSpace - + - cpanm --notest Capture::Tiny IPC::System::Simple + - cpanm Code::TidyAll::Plugin::Flake8 Perl::Tidy Test::Code::TidyAll Test::Differences Test::TrailingSpace - export PY_MODS='attrs configobj pycotap pysol-cards random2 setuptools six' - if test "$TRAVIS_OS_NAME" = "osx" ; then export PY_MODS="--no-binary=Pillow Pillow $PY_MODS" ; fi - - sudo pip3 install --upgrade $PY_MODS flake8 flake8-import-order - - sudo pip2 install --upgrade $PY_MODS -language: generic -matrix: - include: - - os: linux - before_install: - - sudo apt-get install -y - cpanminus - python-glade2 - python-gnome2 - python-gnome2-dev - python-gtk2 - python-pip - python-setuptools - python-tk - python3-pip - python3-setuptools - python3-tk - - os: osx + - sudo -H pip3 install --upgrade wheel + - sudo -H pip3 install --upgrade $PY_MODS flake8 flake8-import-order + - if test "$TRAVIS_OS_NAME" = "linux" ; then + sudo -H pip2 install --upgrade wheel && + sudo -H pip2 install --upgrade $PY_MODS ; fi script: - export TIDYALL_DATA_DIR="$HOME/tidyall_d" - bash -x scripts/travis-ci-build diff --git a/Brewfile b/Brewfile deleted file mode 100644 index 6b2c5335..00000000 --- a/Brewfile +++ /dev/null @@ -1,9 +0,0 @@ -brew "perl" -brew "cpanminus" -brew "create-dmg" -brew "gettext", link: true -brew "gnutls" -brew "jpeg" -brew "openssl" -brew "python@2" -brew "pyenv-virtualenv" diff --git a/scripts/travis-ci-build b/scripts/travis-ci-build index 5cf0ed7b..1f8acf4c 100644 --- a/scripts/travis-ci-build +++ b/scripts/travis-ci-build @@ -6,6 +6,10 @@ proc_path() { PATH="$(perl -lE 'my @p = split/:/,$ENV{PATH}; print join q#:#, grep { ! m#\A/opt/python# } @p;')" "$@" } + +if [ "x${TRAVIS_OS_NAME}" = "xosx" ]; then + export TEST_TAGS=SKIP_PY2 +fi make test make dist tar -xvf dist/PySolFC-*.tar.xz