Code Monkey home page Code Monkey logo

anaconda-installers's Introduction

anaconda-installers

Build anaconda installers in CI using conda constructor and attach them to the respective github release

How to use this Repo

Getting a working set of packages in an installer is not trivial due to very delicate package specification resolving and sometimes incompatible packages across defaults and conda-forge channels.

Currently what seems to work is to have package specs relatively loose on Windows for Appveyor but very rigid on Linux/OSX in Travis.

To update the static package lists for Travis, use the only_install_conda_package_and_test branch and then paste those package lists into the respective recipes on master.

Built installers will be tested and deployed to github releases.

anaconda-installers's People

Contributors

megies avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

anaconda-installers's Issues

Problem with mangling of long file names

It seems there is a problem with long filenames in the Windows installers:

It looks like this is currently only affecting one test file in io.mseed, so I'm temporarily only executing core tests after building the installer, to get the built installers properly uploaded as artifacts and deployed to github releases.

Once this issue is fixed that should be reverted..

It seems that the problem is not occuring during creating the Windows installer (makensis log shows no file names of individual files: https://ci.appveyor.com/project/obspy/anaconda-installers/build/1.0.23/job/v9353ev7uwpth88k#L342) so the best guess currently is that the problem of filename mangling is occuring during installation.. (likely within nsis plugin untgz: http://nsis.sourceforge.net/UnTGZ_plug-in)

CC @ThomasLecocq

Problem with osx-64

Trying to run the tests on the install done from the built installer runs into an error (e.g. https://travis-ci.org/obspy/anaconda-installers/jobs/253951757#L672):

$ $HOME/obspy-anaconda/bin/python -m obspy.scripts.runtests --no-flake8 -n anaconda-installers -r
/Users/travis/obspy-anaconda/bin/python: 
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.
Original error was: dlopen(/Users/travis/obspy-anaconda/lib/python2.7/site-packages/numpy/core/multiarray.so, 2): Library not loaded: @rpath/libgfortran.3.dylib
  Referenced from: /Users/travis/obspy-anaconda/lib/libopenblasp-r0.2.19.dylib
  Reason: image not found

It looks a bit like we might suffer from the same problem as described in conda-forge/numpy-feedstock#47 (comment), i.e. a non-working package mix from defaults and conda-forge channels during package selection by constructor.

Problem with linux-32 bit

Trying to run tests on the built Anaconda installer for linux-32 bit is running into problems (e.g. https://travis-ci.org/obspy/anaconda-installers/jobs/253951756):

$ bash ../ObsPy*.sh -b -p $HOME/obspy-anaconda
PREFIX=/home/travis/obspy-anaconda
installing: python-2.7.13-0 ...
Python 2.7.13 :: Continuum Analytics, Inc.
installing: asn1crypto-0.22.0-py27_0 ...
installing: backports-1.0-py27_0 ...
installing: backports_abc-0.5-py27_0 ...
installing: basemap-1.0.7-np110py27_0 ...
[...]
installing: notebook-5.0.0-py27_0 ...
installing: numpy-1.10.4-py27_nomkl_2 ...
installing: obspy-1.0.3-py27_0 ...
installing: openblas-0.2.14-4 ...
installing: openssl-1.0.2l-0 ...
Traceback (most recent call last):
  File "/home/travis/obspy-anaconda/pkgs/.install.py", line 524, in <module>
    main2()
  File "/home/travis/obspy-anaconda/pkgs/.install.py", line 508, in main2
    post_extract()
  File "/home/travis/obspy-anaconda/pkgs/.install.py", line 447, in post_extract
    link(prefix, dist, linktype=None)
  File "/home/travis/obspy-anaconda/pkgs/.install.py", line 349, in link
    if not run_script(prefix, dist, 'post-link'):
  File "/home/travis/obspy-anaconda/pkgs/.install.py", line 254, in run_script
    import subprocess
  File "/home/travis/obspy-anaconda/lib/python2.7/subprocess.py", line 75, in <module>
    import pickle
  File "/home/travis/obspy-anaconda/lib/python2.7/pickle.py", line 1272, in <module>
    import binascii as _binascii
ImportError: libz.so.1: cannot open shared object file: No such file or directory

Need to check if just the installing doesn't work or if the built installer is broken too..

Appveyor is not deploying to github releases properly

Despite setting force_update: true in appveyor.yml, appveyor is complaining that "Skipped - release with tag "1.0.3" already exists" and doesn't upload the binaries to github releases. See https://ci.appveyor.com/project/obspy/anaconda-installers/build/1.0.36/job/ewnrcnnhqjtuaer5#L1738

But since appveyor is supporting artifacts on their own site out of the box, we can still grab the built windows installers from the jobs artifacts page, e.g.: https://ci.appveyor.com/project/obspy/anaconda-installers/build/1.0.36/job/ewnrcnnhqjtuaer5/artifacts

It's just a bit less convenient to not have all installers in one place..

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.