I am trying to build osx support for a project on Travis. The problem is osx don't ship python virtualenv natively. Here is the issue for that. I have gone through that issue and modified my travis file accordingly. Still my builds are failing with osx. Here is a travis build link. Here is my travis.yml file
language: python
matrix:
include:
# Use the built in venv for linux builds
- os: linux
sudo: required
python: "2.7"
dist: trusty
- os: linux
sudo: required
python: "3.5"
dist: trusty
- os: linux
sudo: required
python: "3.6"
dist: trusty
# Use generic language for osx
- os: osx
language: generic
python: "2.7"
- os: osx
language: generic
python: "3.5"
- os: osx
language: generic
python: "3.6"
before_install:
- .travis/before_install.sh
- mkdir $HOME/data
- echo $PWD
- cd $HOME/data && wget ftp://ftp.astron.nl/outgoing/Measures/WSRT_Measures.ztar && tar xf WSRT_Measures.ztar && cd -
- echo $PWD
install:
- export PATH="$HOME/miniconda/bin:$PATH"
- source activate testenv
- export CPATH="$HOME/miniconda/envs/testenv/include:$CPATH"
- echo $CPATH
- python setup.py develop
- pip install -r tests/requirements.txt
- pip install coveralls travis-sphinx
script:
- nosetests --with-coverage
- travis-sphinx --nowarn -s doc build
and Here is my before_install.sh file.
set -e
set -v
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
brew install python;
virtualenv venv -p python;
source venv/bin/activate;
else
brew install python3;
virtualenv venv -p python3;
source venv/bin/activate;
fi
fi
if [ "$TRAVIS_OS_NAME" = linux ]; then
sudo apt-get update
MINICONDAVERSION="Linux"
else
MINICONDAVERSION="MacOSX"
fi
if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
wget https://repo.continuum.io/miniconda/Miniconda2-latest-$MINICONDAVERSION-x86_64.sh -O miniconda.sh;
else
wget https://repo.continuum.io/miniconda/Miniconda3-latest-$MINICONDAVERSION-x86_64.sh -O miniconda.sh;
fi
bash miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"
hash -r
conda config --set always_yes yes --set changeps1 no
conda update -q conda
conda config --add channels conda-forge
# Useful for debugging any issues with conda
conda info -a
which python
conda create -q -n testenv python=$TRAVIS_PYTHON_VERSION casacore=2.3.0
echo "measures.directory: /home/travis/data" > $HOME/.casarc
It states the following error when I tried to build a conda environment.
CondaValueError: invalid package specification: python=
If you're not familiar with Travis CI, it's a build company that has been powering the continuous integration (CI) of many open source projects since it launched in 2011. It was the first build solution that was free for open source use and that easily integrated into GitHub.
Our default infrastructure is an Ubuntu Linux ( os: linux ) virtual machine running on AMD64 architecture ( arch: amd64 ), on Google Compute Engine.
Configuration. Travis CI is configured by adding a file named . travis. yml , which is a YAML format text file, to the root directory of the repository.
Travis CI Features: Support for 21 languages like Android, C, C#, C++, Java, JavaScript (with Node. js), Perl, PHP, Python, R, Ruby, etc. Pre-installed build & test tools. Available services – databases, message queues, etc.
Like @randomir recommended in the comments,
Look at the Travis docs running python on OSX
and be sure you define your TRAVIS_PYTHON_VERSION
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With