Skip to content
This repository has been archived by the owner on Oct 17, 2024. It is now read-only.

MNT: Appveyor no longer supported #464

Merged
merged 2 commits into from
Oct 21, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 18 additions & 86 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,27 @@ About
-----

[![Build Status](https://travis-ci.org/astropy/ci-helpers.svg?branch=master)](https://travis-ci.org/astropy/ci-helpers)
[![Build status](https://ci.appveyor.com/api/projects/status/4mqtucv6ks4peakf/branch/master?svg=true)](https://ci.appveyor.com/project/Astropy/ci-helpers/branch/master)

This repository contains a set of scripts that are used by the
``.travis.yml`` and ``appveyor.yml`` files of astropy packages for the
[Travis](https://travis-ci.org) and [AppVeyor](https://www.appveyor.com/)
services respectively.
``.travis.yml`` file of Astropy packages for the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's not just astropy any more, but a more broad range

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any suggested wording? 😸

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not picky on words, and was just nitpicking. In fact, lets get this merged now rather than have another CI round.
If we get bored, we can always come back and reword the readme here and possibly elsewhere, too, as it got written in a very organic way.

A more useful thing would be through to let the batchpr/issue bot loose on all the packages still using the ci-helpers appveyor, and let them know that things got evolved, they better evolve, too.

[Travis](https://travis-ci.com) service.

The idea is to clone these at the last minute when the continuous
integration is about to be run. This is better than including this
repository as a sub-module, because this allows updates to this repository
to take effect immediately, and not have to update the sub-module every time
repository as a Git sub-module, because this allows updates to this repository
to take effect immediately, and not have to update the Git sub-module every time
a change is made.

Important notice
----------------

Scripts for ``appveyor.yml`` for the [AppVeyor](https://www.appveyor.com/)
service are no longer supported. Please use the
[Windows build on Travis](https://docs.travis-ci.com/user/reference/windows/)
instead.

For the usage of the deprecated scripts see [Appveyor scripts README](https://github.com/astropy/ci-helpers/blob/master/appveyor/README.md).

How to use
----------

Expand Down Expand Up @@ -168,8 +176,7 @@ environment variables
will default to ``RETRY_ERRORS="CondaHTTPError"``. When package installation
via conda fails, the respective command's output (stdout and stderr) is
searched for the strings in ``RETRY_ERRORS``. If any of these is found, the
installation will be automatically retried. Setting ``RETRY_ERRORS``
in ``appveyor.yml`` will *overwrite* the default.
installation will be automatically retried.

* ``RETRY_MAX``: an integer specifying the maximum number of automatic retries.
If not set, this will default to ``RETRY_MAX=3``. Setting ``RETRY_MAX`` to
Expand Down Expand Up @@ -213,78 +220,6 @@ Python and Numpy versions stay fixed to those requested, e.g.
- $CONDA_INSTALL another_package
```

### AppVeyor

Include the following lines at the start of the ``install`` section in
``appveyor.yml``:

```yaml
install:
- "git clone --depth 1 git://github.com/astropy/ci-helpers.git"
- "powershell ci-helpers/appveyor/install-miniconda.ps1"
- "conda activate test"
```

This does the following:

- Set up Miniconda.
- Set up the PATH appropriately.
- Set up a conda environment named 'test' and switch to it.
- Set the ``always_yes`` config option for conda to ``true`` so that you don't
need to include ``--yes``.

Following this, various dependencies are installed depending on the following
environment variables:

* ``NUMPY_VERSION``: if set to ``dev`` or ``development``, the latest
developer version of Numpy is installed along with Cython. If set to a
version number, that version is installed. If set to ``stable``, install
the latest stable version of Numpy.

* ``ASTROPY_VERSION``: if set to ``dev`` or ``development``, the latest
developer version of Astropy is installed, along with Cython and jinja2,
which are compile-time dependencies. If set to a version number, that
version is installed. If set to ``stable``, install the latest stable
version of Astropy. If set to ``lts`` the latest long term support (LTS)
version is installed (more info about LTS can be found
[here](https://github.com/astropy/astropy-APEs/blob/master/APE2.rst#version-numbering)).

* ``SUNPY_VERSION``: if set to ``dev`` or ``development``, the latest
developer version of Sunpy is installed. If set to a
version number, that version is installed. If set to ``stable``, install
the latest stable version of Sunpy.

* ``MINICONDA_VERSION``: this sets the version of Miniconda that will be
installed. Use this to override a pinned version if necessary.

* ``CONDA_DEPENDENCIES``: this should be a space-separated string of package
names that will be installed with conda.

* ``CONDA_CHANNELS``: this should be a space-separated string of conda
channel names. We don't add any channel by default.

* ``DEBUG``: if `True` this turns on the shell debug mode in the install
scripts, and provides information on the current conda install and
switches off the ``-q`` conda flag for verbose output.

* ``PIP_FALLBACK``: the default behaviour is to fall back to try to pip
install a package if installing it with conda fails for any reason. Set
this variable to ``false`` to opt out of this.

* ``RETRY_ERRORS``: a comma-separated string array containing error names.
If not set, this will default to ``$RETRY_ERRORS="CondaHTTPError"``. When
package installation via conda fails, the respective command's error output
(stderr) is searched for the strings in ``RETRY_ERRORS``. If any of these is
found, the installation will be automatically retried. Setting
``RETRY_ERRORS`` in ``appveyor.yml`` will *overwrite* the default.

* ``RETRY_MAX``: an integer specifying the maximum number of automatic retries.
If not set, this will default to ``$RETRY_MAX=3``. Setting ``RETRY_MAX`` to
zero will disable automatic retries.

* ``RETRY_DELAY``: a positive integer specifying the number of seconds to wait
before retrying. If not set, this will default to ``$RETRY_DELAY=2``.

### pip pinnings

We also provide a file called
Expand All @@ -310,16 +245,13 @@ Details

The scripts include:

* ``appveyor/install-miniconda.ps1`` - set up conda on Windows
* ``appveyor/windows_sdk.cmd`` - set up the compiler environment on Windows
* ``travis/setup_dependencies_common.sh`` - set up conda packages on Linux and
MacOS X
* ``travis/setup_conda.sh`` - set up conda on MacOS X or Linux, users should use
this directly rather than the OS specific ones below
* ``travis/setup_conda_linux.sh`` - set up conda on Linux
* ``travis/setup_conda_osx.sh`` - set up conda on MacOS X


This repository can be cloned directly from the ``.travis.yml`` and
``appveyor.yml`` files when about to run tests and does not need to be included
as a sub-module in repositories.
This repository can be cloned directly from the ``.travis.yml``
file when about to run tests and does not need to be included
as a Git sub-module in repositories.
94 changes: 0 additions & 94 deletions appveyor.yml

This file was deleted.

85 changes: 85 additions & 0 deletions appveyor/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
About
-----

Appveyor is no longer supported. The scripts are provided as-is.
They will be removed at some point in the future.

### AppVeyor

Include the following lines at the start of the ``install`` section in
``appveyor.yml``:

```yaml
install:
- "git clone --depth 1 git://github.com/astropy/ci-helpers.git"
- "powershell ci-helpers/appveyor/install-miniconda.ps1"
- "conda activate test"
```

This does the following:

- Set up Miniconda.
- Set up the PATH appropriately.
- Set up a conda environment named 'test' and switch to it.
- Set the ``always_yes`` config option for conda to ``true`` so that you don't
need to include ``--yes``.

Following this, various dependencies are installed depending on the following
environment variables:

* ``NUMPY_VERSION``: if set to ``dev`` or ``development``, the latest
developer version of Numpy is installed along with Cython. If set to a
version number, that version is installed. If set to ``stable``, install
the latest stable version of Numpy.

* ``ASTROPY_VERSION``: if set to ``dev`` or ``development``, the latest
developer version of Astropy is installed, along with Cython and jinja2,
which are compile-time dependencies. If set to a version number, that
version is installed. If set to ``stable``, install the latest stable
version of Astropy. If set to ``lts`` the latest long term support (LTS)
version is installed (more info about LTS can be found
[here](https://github.com/astropy/astropy-APEs/blob/master/APE2.rst#version-numbering)).

* ``SUNPY_VERSION``: if set to ``dev`` or ``development``, the latest
developer version of Sunpy is installed. If set to a
version number, that version is installed. If set to ``stable``, install
the latest stable version of Sunpy.

* ``MINICONDA_VERSION``: this sets the version of Miniconda that will be
installed. Use this to override a pinned version if necessary.

* ``CONDA_DEPENDENCIES``: this should be a space-separated string of package
names that will be installed with conda.

* ``CONDA_CHANNELS``: this should be a space-separated string of conda
channel names. We don't add any channel by default.

* ``DEBUG``: if `True` this turns on the shell debug mode in the install
scripts, and provides information on the current conda install and
switches off the ``-q`` conda flag for verbose output.

* ``PIP_FALLBACK``: the default behaviour is to fall back to try to pip
install a package if installing it with conda fails for any reason. Set
this variable to ``false`` to opt out of this.

* ``RETRY_ERRORS``: a comma-separated string array containing error names.
If not set, this will default to ``$RETRY_ERRORS="CondaHTTPError"``. When
package installation via conda fails, the respective command's error output
(stderr) is searched for the strings in ``RETRY_ERRORS``. If any of these is
found, the installation will be automatically retried. Setting
``RETRY_ERRORS`` in ``appveyor.yml`` will *overwrite* the default.

* ``RETRY_MAX``: an integer specifying the maximum number of automatic retries.
If not set, this will default to ``$RETRY_MAX=3``. Setting ``RETRY_MAX`` to
zero will disable automatic retries.

* ``RETRY_DELAY``: a positive integer specifying the number of seconds to wait
before retrying. If not set, this will default to ``$RETRY_DELAY=2``.

Details
-------

The scripts include:

* ``appveyor/install-miniconda.ps1`` - set up conda on Windows
* ``appveyor/windows_sdk.cmd`` - set up the compiler environment on Windows