8000 MAINT Remove travis ci config and related doc by ogrisel · Pull Request #25562 · scikit-learn/scikit-learn · GitHub
[go: up one dir, main page]

Skip to content

MAINT Remove travis ci config and related doc #25562

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Feb 8, 2023
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
93 changes: 0 additions & 93 deletions .travis.yml

This file was deleted.

5 changes: 1 addition & 4 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
.. -*- mode: rst -*-

|Azure|_ |Travis|_ |CirrusCI|_ |Codecov|_ |CircleCI|_ |Nightly wheels|_ |Black|_ |PythonVersion|_ |PyPi|_ |DOI|_ |Benchmark|_
|Azure|_ |CirrusCI|_ |Codecov|_ |CircleCI|_ |Nightly wheels|_ |Black|_ |PythonVersion|_ |PyPi|_ |DOI|_ |Benchmark|_

.. |Azure| image:: https://dev.azure.com/scikit-learn/scikit-learn/_apis/build/status/scikit-learn.scikit-learn?branchName=main
.. _Azure: https://dev.azure.com/scikit-learn/scikit-learn/_build/latest?definitionId=1&branchName=main

.. |CircleCI| image:: https://circleci.com/gh/scikit-learn/scikit-learn/tree/main.svg?style=shield&circle-token=:circle-token
.. _CircleCI: https://circleci.com/gh/scikit-learn/scikit-learn

.. |Travis| image:: https://api.travis-ci.com/scikit-learn/scikit-learn.svg?branch=main
.. _Travis: https://app.travis-ci.com/github/scikit-learn/scikit-learn

.. |CirrusCI| image:: https://img.shields.io/cirrus/github/scikit-learn/scikit-learn/main?label=Cirrus%20CI
.. _CirrusCI: https://cirrus-ci.com/github/scikit-learn/scikit-learn/main

Expand Down
35 changes: 0 additions & 35 deletions build_tools/travis/after_success.sh

This file was deleted.

11 changes: 0 additions & 11 deletions build_tools/travis/install.sh

This file was deleted.

66 changes: 0 additions & 66 deletions build_tools/travis/install_main.sh

This file was deleted.

4 changes: 0 additions & 4 deletions build_tools/travis/install_wheels.sh

This file was deleted.

12 changes: 0 additions & 12 deletions build_tools/travis/script.sh

This file was deleted.

8 changes: 0 additions & 8 deletions build_tools/travis/test_docs.sh

This file was deleted.

39 changes: 0 additions & 39 deletions build_tools/travis/test_script.sh

This file was deleted.

9 changes: 0 additions & 9 deletions build_tools/travis/test_wheels.sh

This file was deleted.

2 changes: 1 addition & 1 deletion doc/about.rst
Original file line number Diff line number Diff line change
Expand Up @@ -619,7 +619,7 @@ Infrastructure support
----------------------

- We would also like to thank `Microsoft Azure
<https://azure.microsoft.com/en-us/>`_, `Travis Cl <https://travis-ci.org/>`_,
<https://azure.microsoft.com/en-us/>`_, `Cirrus Cl <https://cirrus-ci.org>`_,
`CircleCl <https://circleci.com/>`_ for free CPU time on their Continuous
Integration servers, and `Anaconda Inc. <https://www.anaconda.com>`_ for the
storage they provide for our staging and nightly builds.
24 changes: 0 additions & 24 deletions doc/developers/maintainer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -342,30 +342,6 @@ updates can be made by pushing to master (for /dev) or a release branch
like 0.99.X, from which Circle CI builds and uploads the documentation
automatically.

Travis Cron jobs
----------------

From `<https://docs.travis-ci.com/user/cron-jobs>`_: Travis CI cron jobs work
similarly to the cron utility, they run builds at regular scheduled intervals
independently of whether any commits were pushed to the repository. Cron jobs
always fetch the most recent commit on a particular branch and build the project
at that state. Cron jobs can run daily, weekly or monthly, which in practice
means up to an hour after the selected time span, and you cannot set them to run
at a specific time.

For scikit-learn, Cron jobs are used for builds that we do not want to run in
each PR. As an example the build with the dev versions of numpy and scipy is
run as a Cron job. Most of the time when this numpy-dev build fail, it is
related to a numpy change and not a scikit-learn one, so it would not make sense
to blame the PR author for the Travis failure.

The definition of what gets run in the Cron job is done in the .travis.yml
config file, exactly the same way as the other Travis jobs. We use a ``if: type
= cron`` filter in order for the build to be run only in Cron jobs.

The branch targeted by the Cron job and the frequency of the Cron job is set
via the web UI at https://www.travis-ci.org/scikit-learn/scikit-learn/settings.

Copy link
Member Author
@ogrisel ogrisel Feb 7, 2023

Choose a reason for hiding this comment

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

I removed this section because it was phrased in a travis specific way (and only focused on a technical detail, cron jobs without explaining the high level purpose) but I think it might be helpful to give a high level description of our CI somewhere in the doc, both for new contributors and maintainers.

In particular, we should summarize the various missions of our CI:

  • testing PRs and give feedback to contributors and reviewers prior to merging,
  • building the stable and dev doc websites,
  • building and testing scikit-learn against the development versions of its dependencies,
  • building, testing, and publishing nightly wheels against stable dependencies,
  • building, testing, and publishing release wheels to pypi.org,

Ideally this doc should only describe the high level objectives of the CI infrastructure and point the readers to the config files and the build_tools folder for the details (which typically evolve faster than we update the doc).

We should carefully use inline comments in those config files and scripts to make sure that people easily understand how they operate and how to conduct common maintenance operations (e.g. rotating secret tokens).

Copy link
Member

Choose a reason for hiding this comment

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

Do you see this as something for contributors, for maintainers, for both?

This sounds like a good idea, but at the same time striking the right balance between documenting the general idea and not the minor details is not that easy.

In my experience, CI change quite often and we forget to update the documentation making things untrustable quite quickly ...

Copy link
Member Author

Choose a reason for hiding this comment

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

I think we should have a unique chapter/section on the CI and cross-link from the contributors and maintainers guides.

Copy link
Member Author
@ogrisel ogrisel Feb 8, 2023

Choose a reason for hiding this comment

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

I will open an issue to discuss this in a more visible place.

EDIT: done at #25565.

Experimental features
---------------------

Expand Down
2 changes: 1 addition & 1 deletion sklearn/datasets/tests/test_20news.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Test the 20news downloader, if the data is available,
or if specifically requested via environment variable
(e.g. for travis cron job)."""
(e.g. for CI jobs)."""
from functools import partial
from unittest.mock import patch

Expand Down
2 changes: 1 addition & 1 deletion sklearn/datasets/tests/test_california_housing.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Test the california_housing loader, if the data is available,
or if specifically requested via environment variable
(e.g. for travis cron job)."""
(e.g. for CI jobs)."""
import pytest

from sklearn.datasets.tests.test_common import check_return_X_y
Expand Down
2 changes: 1 addition & 1 deletion sklearn/datasets/tests/test_covtype.py
< 10000 td class="blob-code blob-code-context js-file-line"> """Test the covtype loader, if the data is available,
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
or if specifically requested via environment variable
(e.g. for travis cron job)."""
(e.g. for CI jobs)."""
from functools import partial
import pytest
from sklearn.datasets.tests.test_common import check_return_X_y
Expand Down
2 changes: 1 addition & 1 deletion sklearn/datasets/tests/test_kddcup99.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Test kddcup99 loader, if the data is available,
or if specifically requested via environment variable
(e.g. for travis cron job).
(e.g. for CI jobs).

Only 'percent10' mode is tested, as the full data
is too big to use in unit-testing.
Expand Down
2 changes: 1 addition & 1 deletion sklearn/datasets/tests/test_olivetti_faces.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Test Olivetti faces fetcher, if the data is available,
or if specifically requested via environment variable
(e.g. for travis cron job)."""
(e.g. for CI jobs)."""

import numpy as np

Expand Down
2 changes: 1 addition & 1 deletion sklearn/datasets/tests/test_rcv1.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"""Test the rcv1 loader, if the data is available,
or if specifically requested via environment variable
(e.g. for travis cron job)."""
(e.g. for CI jobs)."""

import scipy.sparse as sp
import numpy as np
Expand Down
Loading
0