Skip to content

Commit

Permalink
still can't compile healpy
Browse files Browse the repository at this point in the history
  • Loading branch information
weaverba137 committed Dec 10, 2020
1 parent 34482fd commit fdb7d57
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 156 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
matrix:
os: [ubuntu-latest]
python-version: [3.6, 3.7, 3.8]
astropy-version: ['<3.0', '<4.1'] #, '>4.0']
# astropy-version: ['<3.0', '<4.1'] #, '<5.0']

steps:
- name: Checkout code
Expand All @@ -34,8 +34,8 @@ jobs:
python -m pip install --upgrade pip wheel
python -m pip install pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; pip install .; fi
pip install -U "astropy${{ matrix.astropy-version }}"
if [ "${{ matrix.astropy-version }}" = "<3.0" ]; then pip install -U "healpy==1.12.9"; fi
# pip install -U "astropy${{ matrix.astropy-version }}"
# if [ "${{ matrix.astropy-version }}" = "<3.0" ]; then pip install -U "healpy==1.12.9"; fi
- name: Run the test
run: |
pytest
Expand Down
107 changes: 0 additions & 107 deletions .travis.yml

This file was deleted.

62 changes: 31 additions & 31 deletions doc/desiInstall.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ Configuring desiInstall
:command:`desiInstall` has many options, which are best viewed by typing
``desiInstall --help``.

In addition, desiInstall both reads and sets several environment variables.
In addition, :command:`desiInstall` both reads and sets several environment variables.

Environment variables that strongly affect the behavior of desiInstall.
Environment variables that strongly affect the behavior of :command:`desiInstall`.

:envvar:`DESICONDA`
This variable contains the path to the `DESI+Anaconda infrastructure`_.
Expand All @@ -54,18 +54,18 @@ Environment variables that strongly affect the behavior of desiInstall.
This variable is read to determine the username to pass to, *e.g.*,
:command:`svn`.

Environment variables that are *set* by desiInstall for use by
Environment variables that are *set* by :command:`desiInstall` for use by
:command:`python setup.py` or :command:`make`.

:envvar:`INSTALL_DIR`
This variable is *set* by desiInstall to the directory that will contain
This variable is *set* by :command:`desiInstall` to the directory that will contain
the final, installed version of the software package.
:envvar:`PRODUCT_VERSION`
This variable is *set* by desiInstall, with ``PRODUCT`` replaced by the
This variable is *set* by :command:`desiInstall`, with ``PRODUCT`` replaced by the
actual name of the software being installed, *e.g.*,
:envvar:`DESISPEC_VERSION`.
:envvar:`WORKING_DIR`
This variable is *set* by desiInstall to the path containing a downloaded,
This variable is *set* by :command:`desiInstall` to the path containing a downloaded,
expanded software package.

Environment variables related to the Modules infrastructure that may be
Expand Down Expand Up @@ -99,24 +99,24 @@ manipulated by setting up Modules, or loading Module files.
Directory Structure Assumed by the Install
==========================================

desiInstall is primarily intended to run in a production environment that
:command:`desiInstall` is primarily intended to run in a production environment that
supports Module files, *i.e.* at NERSC.

*desiInstall does not install a Modules infrastructure for you.* You have to
*:command:`desiInstall` does not install a Modules infrastructure for you.* You have to
do this yourself, if your system does not already have this.

For the purposes of this section, we define ``$product_root`` as the
directory that desiInstall will be writing to. For standard NERSC installs it
directory that :command:`desiInstall` will be writing to. For standard NERSC installs it
defaults to a pre-defined value. ``$product_root`` may contain the following
directories:

code/
This contains the installed code, the result of :command:`python setup.py install`
or :command:`make install`. The code is always placed in a ``product/version``
directory. So for example, the full path to desiInstall might be
directory. So for example, the full path to :command:`desiInstall` might be
``$product_root/code/desiutil/1.8.0/bin/desiInstall``.
modulefiles/
This contains the the Module files installed by desiInstall. A Module
This contains the the Module files installed by :command:`desiInstall`. A Module
file is almost always named ``product/version``. For example, the
Module file for desiutil might be ``$product_root/modulefiles/desiutil/1.8.0``.

Expand Down Expand Up @@ -157,17 +157,17 @@ Stages of the Install
Input Validation
----------------

desiInstall checks the command-line input, verifying that the user has
:command:`desiInstall` checks the command-line input, verifying that the user has
specified a product and a version to install.

Product/Version Parsing
-----------------------

Because of the structures of the DESI code repositories, it is sometimes necessary
to specify a directory name along with the product name. desiInstall contains
a list of known products, but it is not necessarily complete. desiInstall parses
to specify a directory name along with the product name. :command:`desiInstall` contains
a list of known products, but it is not necessarily complete. :command:`desiInstall` parses
the input to determine the base name and base version to install. At this
stage desiInstall also determines whether a branch install [#]_ has
stage :command:`desiInstall` also determines whether a branch install [#]_ has
been requested.

The internal list of known products can be added to or overridden on the
Expand All @@ -187,7 +187,7 @@ matters to the product actually being installed.
Product Existence
-----------------

After the product name and version have been determined, desiInstall
After the product name and version have been determined, :command:`desiInstall`
constructs the full URL pointing to the product/version and runs the code
necessary to verify that the product/version really exists. Typically, this
will be :command:`svn ls`, unless a GitHub install is detected.
Expand All @@ -196,9 +196,9 @@ Download Code
-------------

The code is downloaded, using :command:`svn export` for standard (tag) installs, or
:command:`svn checkout` for branch installs. For GitHub installs, desiInstall
:command:`svn checkout` for branch installs. For GitHub installs, :command:`desiInstall`
will look for a release tarball, or do a :command:`git clone` for tag or branch
installs. desiInstall will set the environment variable :envvar:`WORKING_DIR`
installs. :command:`desiInstall` will set the environment variable :envvar:`WORKING_DIR`
to point to the directory containing this downloaded code.

Determine Build Type
Expand All @@ -211,15 +211,15 @@ plain
This is the default build type. With this build type, the downloaded code
is simply copied to the final install directory.
py
If a setup.py file is detected, desiInstall will attempt to execute
If a setup.py file is detected, :command:`desiInstall` will attempt to execute
:command:`python setup.py install`. This build type can be suppressed with the
command line option ``--compile-c``.
make
If a Makefile is detected, desiInstall will attempt to execute
If a Makefile is detected, :command:`desiInstall` will attempt to execute
:command:`make install`.
src
If a Makefile is not present, but a src/ directory is,
desiInstall will attempt to execute :command:`make -C src all`. This build type
:command:`desiInstall` will attempt to execute :command:`make -C src all`. This build type
*is* mutually exclusive with 'make', but is not mutually exclusive with
the other types.

Expand All @@ -238,10 +238,10 @@ predetermined based on the value of :envvar:`NERSC_HOST`::
The actual install directory is determined by appending ``/code/product/verson``
to the combining the top-level directory listed above.

If the install directory already exists, desiInstall will exit, unless the
If the install directory already exists, :command:`desiInstall` will exit, unless the
``--force`` parameter is supplied on the command line.

desiInstall will set the environment variable :envvar:`INSTALL_DIR` to point to the
:command:`desiInstall` will set the environment variable :envvar:`INSTALL_DIR` to point to the
install directory.

.. _`DESI+Anaconda infrastructure`: https://github.com/desihub/desiconda
Expand All @@ -250,35 +250,35 @@ install directory.
Module Infrastructure
---------------------

desiInstall sets up the Modules infrastructure by running code in
:command:`desiInstall` sets up the Modules infrastructure by running code in
:mod:`desiutil.modules` that is *based on* the Python init file supplied by
the Modules infrastructure, but updated to be both Python 2 and Python 3 compatible.

Find Module File
----------------

desiInstall will search for a module file in ``$WORKING_DIR/etc``. If that
module file is not found, desiInstall will use the file that comes with
:command:`desiInstall` will search for a module file in ``$WORKING_DIR/etc``. If that
module file is not found, :command:`desiInstall` will use the file that comes with
desiutil_ (*i.e.*, this product's own module file).

Load Dependencies
-----------------

desiInstall will scan the module file identified in the previous stage, and
:command:`desiInstall` will scan the module file identified in the previous stage, and
will module load any dependencies found in the file.

Configure Module File
---------------------

desiInstall will scan :envvar:`WORKING_DIR` to determine the details that need
:command:`desiInstall` will scan :envvar:`WORKING_DIR` to determine the details that need
to be added to the module file. The final module file will then be written
into the DESI module directory at NERSC. If ``--default`` is specified
on the command line, an appropriate .version file will be created.

Load Module
-----------

desiInstall will load the module file just created to set up any environment
:command:`desiInstall` will load the module file just created to set up any environment
variables needed by the install. At this point it is also safe to assume that
the environment variables :envvar:`WORKING_DIR` and :envvar:`INSTALL_DIR` exist.
It will also set :envvar:`PRODUCT_VERSION`, where ``PRODUCT`` will be replaced
Expand Down Expand Up @@ -314,11 +314,11 @@ will be run in :envvar:`INSTALL_DIR`.
Download Extra Data
-------------------

If desiInstall detects ``etc/product_data.sh``, where ``product`` should be
If :command:`desiInstall` detects ``etc/product_data.sh``, where ``product`` should be
replaced by the actual name of the package, it will download extra data
not bundled with the code. The script should download data *directly* to
:envvar:`INSTALL_DIR`. The script should *only* be used
with desiInstall and Travis tests. Note that here are other, better ways to
with :command:`desiInstall` and Travis tests. Note that here are other, better ways to
install and manipulate data that is bundled *with* a Python package.

Fix Permissions
Expand Down
Loading

0 comments on commit fdb7d57

Please sign in to comment.