Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: spnngl/numpy
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: numpy/numpy
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Able to merge. These branches can be automatically merged.
Loading
Showing 2,668 changed files with 632,606 additions and 287,325 deletions.
195 changes: 0 additions & 195 deletions .appveyor.yml

This file was deleted.

171 changes: 171 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
# Python CircleCI 2.1 configuration file
#
# Check https://circleci.com/docs/2.1/language-python/ for more details
#
version: 2.1

# Aliases to reuse
_defaults: &defaults
docker:
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/developer/images/image/cimg/python
- image: cimg/python:3.11.10
working_directory: ~/repo


jobs:
build:
<<: *defaults
steps:
- checkout

- run:
name: check skip
command: |
export git_log=$(git log --max-count=1 --pretty=format:"%B" | tr "\n" " ")
echo "Got commit message:"
echo "${git_log}"
if [[ -v CIRCLE_PULL_REQUEST ]] && \
([[ "$git_log" == *"[skip circle]"* ]] || \
[[ "$git_log" == *"[circle skip]"* ]])
then
echo "Skip detected, exiting job ${CIRCLE_JOB} for PR ${CIRCLE_PULL_REQUEST}."
circleci-agent step halt;
fi
- run:
name: pull changes from merge
command: |
if [[ -v CI_PULL_REQUEST ]] ; then git pull --ff-only origin "refs/pull/${CI_PULL_REQUEST//*pull\//}/merge" ; fi
- run:
name: update submodules
command: |
git submodule update --init
- run:
name: install system dependencies
command: |
sudo apt-get update
sudo apt-get install -y graphviz texlive-fonts-recommended texlive-latex-recommended \
texlive-latex-extra latexmk texlive-xetex texlive-lang-chinese doxygen
- run:
name: build NumPy
command: |
python3.11 -m venv venv
. venv/bin/activate
pip install --progress-bar=off -r requirements/test_requirements.txt \
-r requirements/build_requirements.txt \
-r requirements/ci_requirements.txt
# get newer, pre-release versions of critical packages
pip install --progress-bar=off --pre -r requirements/doc_requirements.txt
# then install numpy HEAD, which will override the version installed above
spin build --with-scipy-openblas=64 -j 2
- run:
name: build devdocs w/ref warnings
command: |
. venv/bin/activate
# Don't use -q, show warning summary"
SPHINXOPTS="-W -n" spin docs
if [[ $(find doc/build/html -type f | wc -l) -lt 1000 ]]; then
echo "doc build failed: doc/build/html is empty"
exit -1
fi
- run:
name: build neps
command: |
. venv/bin/activate
cd doc/neps
SPHINXOPTS="-n" make -e html || echo "ignoring errors for now"
- store_artifacts:
path: doc/build/html/

- store_artifacts:
path: doc/neps/_build/html/
# destination: neps

- run:
name: check doctests
command: |
. venv/bin/activate
spin check-docs -v
spin check-tutorials -v
# Currently, this does two checks not done by check-docs:
# - validates ReST blocks (via validate_rst_syntax)
# - checks that all of a module's `__all__` is reflected in the
# module-level docstring autosummary
echo calling python3 tools/refguide_check.py -v
python3 tools/refguide_check.py -v
- persist_to_workspace:
root: ~/repo
paths:
- doc/build/html
- doc/neps/_build
- tools/ci/push_docs_to_repo.py

deploy:
<<: *defaults
steps:
- checkout

- attach_workspace:
at: ~/repo

- add_ssh_keys:
fingerprints:
- "45:d8:d1:d6:f7:53:47:c5:d0:9e:35:19:79:e7:ff:24"

- run:
name: deploy devdocs
command: |
touch doc/build/html/.nojekyll
./tools/ci/push_docs_to_repo.py doc/build/html \
--committer "numpy-circleci-bot" \
--email "numpy-circleci-bot@nomail" \
--message "Docs build of $CIRCLE_SHA1" \
--count 5 \
--force \
git@github.com:numpy/devdocs.git
- add_ssh_keys:
fingerprints:
- "df:8b:fb:34:2d:38:7d:49:fc:1b:e8:44:4f:bd:2c:0e"

- run:
name: select SSH key for neps repo
command: |
cat \<<\EOF > ~/.ssh/config
Host github.com
IdentitiesOnly yes
IdentityFile /home/circleci/.ssh/id_rsa_df8bfb342d387d49fc1be8444fbd2c0e
EOF
- run:
name: deploy neps
command: |
touch doc/neps/_build/html/.nojekyll
./tools/ci/push_docs_to_repo.py doc/neps/_build/html \
--committer "numpy-circleci-bot" \
--email "numpy-circleci-bot@nomail" \
--message "Docs build of $CIRCLE_SHA1" \
--count 5 \
--force \
git@github.com:numpy/neps.git \
workflows:
version: 2
default:
jobs:
- build
- deploy:
requires:
- build
filters:
branches:
only: main
Loading