From 2d878a2256158648601dc7b45cee74d9aa5b9b7a Mon Sep 17 00:00:00 2001 From: Danny Hermes Date: Sat, 13 Feb 2021 20:45:07 -0600 Subject: [PATCH] [ci skip] Creating release `2021.2.12`. I made sure the templates are populated correctly via: ``` $ python scripts/doc_template_release.py CircleCI Build ID: 1900 AppVeyor Build ID: 1.0.1539.main Coveralls Build ID: 37113814 Travis Build ID: PLACEHOLDER ``` and then I made **several** manual edits to account for the fact that the repository still has references to Travis CI around. --- .github/workflows/macos.yml | 5 +++- DEVELOPMENT.rst | 45 ++++++++++++++++---------------- README.rst | 52 ++++++++++++++++--------------------- docs/index.rst | 30 ++++++++------------- docs/macos-passing.svg | 1 + docs/travis-passing.svg | 1 - 6 files changed, 61 insertions(+), 73 deletions(-) create mode 100644 docs/macos-passing.svg delete mode 100644 docs/travis-passing.svg diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 9e194296..04b791ed 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -25,7 +25,10 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install `gcc` - run: brew install gcc && brew unlink gcc && brew link gcc + run: | + brew install gcc + brew unlink gcc + brew link gcc - name: Run "install" to setup Python environment and tooling run: scripts/macos/setup.sh - name: Run tests diff --git a/DEVELOPMENT.rst b/DEVELOPMENT.rst index 75a7b6ac..f3cd8e4d 100644 --- a/DEVELOPMENT.rst +++ b/DEVELOPMENT.rst @@ -58,7 +58,7 @@ Binary Extension Many low-level computations have alternate implementations in Fortran. See the `Python Binary Extension`_ page for a more detailed description. -.. _Python Binary Extension: https://bezier.readthedocs.io/en/latest/python/binary-extension.html +.. _Python Binary Extension: https://bezier.readthedocs.io/en/2021.2.12/python/binary-extension.html Building / Compiling ==================== @@ -101,7 +101,7 @@ QUADPACK subroutines depend on). QUADPACK is used to perform numerical quadrature to compute the length of a curve segment. -.. _directory: https://github.com/dhermes/bezier/tree/main/src/fortran/quadpack +.. _directory: https://github.com/dhermes/bezier/tree/2021.2.12/src/fortran/quadpack .. _QUADPACK: https://en.wikipedia.org/wiki/QUADPACK ****************** @@ -261,32 +261,32 @@ To run the functional tests: $ PYTHONPATH=src/python/ python3.9 -m pytest tests/functional/ $ PYTHONPATH=src/python/ pypy3 -m pytest tests/functional/ -.. _functional tests: https://github.com/dhermes/bezier/tree/main/tests/functional +.. _functional tests: https://github.com/dhermes/bezier/tree/2021.2.12/tests/functional For example, the following curve-curve intersection is a functional test case: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/main/docs/images/curves11_and_26.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/images/curves11_and_26.png :align: center and there is a `Curve-Curve Intersection`_ document which captures many of the cases in the functional tests. -.. _Curve-Curve Intersection: https://bezier.readthedocs.io/en/latest/algorithms/curve-curve-intersection.html +.. _Curve-Curve Intersection: https://bezier.readthedocs.io/en/2021.2.12/algorithms/curve-curve-intersection.html A triangle-triangle intersection functional test case: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/main/docs/images/triangles1Q_and_2Q.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/images/triangles1Q_and_2Q.png :align: center a segment-box functional test case: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/main/docs/images/test_goes_through_box08.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/images/test_goes_through_box08.png :align: center and a "locate point on triangle" functional test case: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/main/docs/images/test_triangle3_and_point1.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/images/test_triangle3_and_point1.png :align: center Functional Test Data @@ -304,10 +304,10 @@ This way, the test cases are programming language agnostic and can be repurposed. The `JSON schema`_ for these files are stored in the ``tests/functional/schema`` directory. -.. _curves.json: https://github.com/dhermes/bezier/blob/main/tests/functional/curves.json -.. _curve_intersections.json: https://github.com/dhermes/bezier/blob/main/tests/functional/curve_intersections.json -.. _triangles.json: https://github.com/dhermes/bezier/blob/main/tests/functional/triangles.json -.. _triangle_intersections.json: https://github.com/dhermes/bezier/blob/main/tests/functional/triangle_intersections.json +.. _curves.json: https://github.com/dhermes/bezier/blob/2021.2.12/tests/functional/curves.json +.. _curve_intersections.json: https://github.com/dhermes/bezier/blob/2021.2.12/tests/functional/curve_intersections.json +.. _triangles.json: https://github.com/dhermes/bezier/blob/2021.2.12/tests/functional/triangles.json +.. _triangle_intersections.json: https://github.com/dhermes/bezier/blob/2021.2.12/tests/functional/triangle_intersections.json .. _JSON schema: http://json-schema.org/ ************ @@ -330,7 +330,7 @@ To check compliance: A few extensions and overrides have been specified in the `pylintrc`_ configuration for ``bezier``. -.. _pylintrc: https://github.com/dhermes/bezier/blob/main/pylintrc +.. _pylintrc: https://github.com/dhermes/bezier/blob/2021.2.12/pylintrc Docstring Style =============== @@ -432,9 +432,10 @@ To regenerate all the images: Continuous Integration ********************** -Tests are run on `CircleCI`_ (Linux), `Travis CI`_ (macOS) and +Tests are run on `CircleCI`_ (Linux), `GitHub Actions`_ (macOS) and `AppVeyor`_ (Windows) after every commit. To see which tests are run, see -the `CircleCI config`_, the `Travis config`_ and the `AppVeyor config`_. +the `CircleCI config`_, the `GitHub Actions config`_ and the +`AppVeyor config`_. On CircleCI, a `Docker`_ image is used to provide fine-grained control over the environment. There is a base `python-multi Dockerfile`_ that just has the @@ -442,7 +443,7 @@ Python versions we test in. The image used in our CircleCI builds (from `bezier Dockerfile`_) installs dependencies needed for testing (such as ``nox`` and NumPy). -On Travis CI, Matthew Brett's `multibuild`_ is used to install "official" +On GitHub Actions, Matthew Brett's `multibuild`_ is used to install "official" python.org CPython binaries for macOS. Then tests are run in 64-bit mode (NumPy has `discontinued`_ 32-bit support). @@ -450,13 +451,13 @@ On AppVeyor, the binary extension is built and tested with both 32-bit and 64-bit Python binaries. .. _CircleCI: https://circleci.com/gh/dhermes/bezier -.. _Travis CI: https://travis-ci.com/github/dhermes/bezier +.. _GitHub Actions: https://github.com/dhermes/bezier/actions .. _AppVeyor: https://ci.appveyor.com/project/dhermes/bezier -.. _CircleCI config: https://github.com/dhermes/bezier/blob/main/.circleci/config.yml -.. _Travis config: https://github.com/dhermes/bezier/blob/main/.travis.yml -.. _AppVeyor config: https://github.com/dhermes/bezier/blob/main/.appveyor.yml +.. _CircleCI config: https://github.com/dhermes/bezier/blob/2021.2.12/.circleci/config.yml +.. _GitHub Actions config: https://github.com/dhermes/bezier/blob/2021.2.12/.github/workflows/macos.yml +.. _AppVeyor config: https://github.com/dhermes/bezier/blob/2021.2.12/.appveyor.yml .. _python-multi Dockerfile: https://github.com/dhermes/python-multi/blob/master/src/Dockerfile -.. _bezier Dockerfile: https://github.com/dhermes/bezier/blob/main/scripts/docker/bezier.Dockerfile +.. _bezier Dockerfile: https://github.com/dhermes/bezier/blob/2021.2.12/scripts/docker/bezier.Dockerfile .. _multibuild: https://github.com/matthew-brett/multibuild .. _discontinued: https://github.com/numpy/numpy/issues/11625 @@ -509,7 +510,7 @@ Supported Python Versions Supported versions can be found in the ``noxfile.py`` `config`_. -.. _config: https://github.com/dhermes/bezier/blob/main/noxfile.py +.. _config: https://github.com/dhermes/bezier/blob/2021.2.12/noxfile.py Versioning ========== diff --git a/README.rst b/README.rst index d213e007..997d2295 100644 --- a/README.rst +++ b/README.rst @@ -3,9 +3,7 @@ Helper for B |eacute| zier Curves, Triangles, and Higher Order Objects -|circle-build| |travis-build| |appveyor-build| |coverage| - -|pypi| |versions| +|circle-build| |github-actions-build| |appveyor-build| |coverage| |docs| |zenodo| |JOSS| @@ -19,7 +17,7 @@ This library provides: Dive in and take a look! -.. image:: https://raw.githubusercontent.com/dhermes/bezier/main/docs/images/triangles6Q_and_7Q.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/images/triangles6Q_and_7Q.png :align: center Why B |eacute| zier? @@ -28,17 +26,17 @@ Why B |eacute| zier? A B |eacute| zier curve (and triangle, etc.) is a parametric curve that uses the `Bernstein basis`_: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/main/docs/images/bernstein_basis.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/images/bernstein_basis.png :align: center to define a curve as a linear combination: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/main/docs/images/bezier_defn.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/images/bezier_defn.png :align: center This comes from the fact that the weights sum to one: -.. image:: https://raw.githubusercontent.com/dhermes/bezier/main/docs/images/sum_to_unity.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/images/sum_to_unity.png :align: center This can be generalized to higher order by considering three, four, etc. @@ -146,7 +144,7 @@ intersections): >>> _ = ax.set_xlim(-0.125, 1.125) >>> _ = ax.set_ylim(-0.0625, 0.625) -.. image:: https://raw.githubusercontent.com/dhermes/bezier/main/docs/images/curves1_and_13.png +.. image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/images/curves1_and_13.png :align: center For API-level documentation, check out the B |eacute| zier Python @@ -193,32 +191,26 @@ License ``bezier`` is made available under the Apache 2.0 License. For more details, see `the LICENSE`_. -.. _Curves: https://bezier.readthedocs.io/en/latest/python/reference/bezier.curve.html -.. _Triangles: https://bezier.readthedocs.io/en/latest/python/reference/bezier.triangle.html -.. _package: https://bezier.readthedocs.io/en/latest/python/reference/bezier.html -.. _DEVELOPMENT doc: https://github.com/dhermes/bezier/blob/main/DEVELOPMENT.rst -.. _the LICENSE: https://github.com/dhermes/bezier/blob/main/LICENSE +.. _Curves: https://bezier.readthedocs.io/en/2021.2.12/python/reference/bezier.curve.html +.. _Triangles: https://bezier.readthedocs.io/en/2021.2.12/python/reference/bezier.triangle.html +.. _package: https://bezier.readthedocs.io/en/2021.2.12/python/reference/bezier.html +.. _DEVELOPMENT doc: https://github.com/dhermes/bezier/blob/2021.2.12/DEVELOPMENT.rst +.. _the LICENSE: https://github.com/dhermes/bezier/blob/2021.2.12/LICENSE -.. |docs| image:: https://readthedocs.org/projects/bezier/badge/?version=latest - :target: https://bezier.readthedocs.io/en/latest/ +.. |docs| image:: https://readthedocs.org/projects/bezier/badge/?version=2021.2.12 + :target: https://bezier.readthedocs.io/en/2021.2.12/ :alt: Documentation Status -.. |circle-build| image:: https://img.shields.io/circleci/project/github/dhermes/bezier/main.svg?maxAge=3600&logo=circleci&label=Linux - :target: https://circleci.com/gh/dhermes/bezier +.. |circle-build| image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/circleci-passing.svg?sanitize=true + :target: https://circleci.com/gh/dhermes/bezier/1900 :alt: CircleCI Build -.. |travis-build| image:: https://img.shields.io/travis/dhermes/bezier/main.svg?maxAge=3600&logo=travis&label=macOS - :target: https://travis-ci.com/github/dhermes/bezier - :alt: Travis Build -.. |appveyor-build| image:: https://img.shields.io/appveyor/ci/dhermes/bezier/main.svg?maxAge=3600&logo=appveyor&label=Windows - :target: https://ci.appveyor.com/project/dhermes/bezier +.. |github-actions-build| image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/macos-passing.svg?sanitize=true + :target: https://github.com/dhermes/bezier/actions/runs/564975428 + :alt: GitHub Actions Build +.. |appveyor-build| image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/appveyor-passing.svg?sanitize=true + :target: https://ci.appveyor.com/project/dhermes/bezier/build/1.0.1539.main :alt: AppVeyor CI Build -.. |pypi| image:: https://img.shields.io/pypi/v/bezier.svg - :target: https://pypi.org/project/bezier/ - :alt: PyPI Latest -.. |versions| image:: https://img.shields.io/pypi/pyversions/bezier.svg - :target: https://pypi.org/project/bezier/ - :alt: Package Versions -.. |coverage| image:: https://coveralls.io/repos/github/dhermes/bezier/badge.svg - :target: https://coveralls.io/github/dhermes/bezier +.. |coverage| image:: https://s3.amazonaws.com/assets.coveralls.io/badges/coveralls_100.svg + :target: https://coveralls.io/builds/37113814 :alt: Code Coverage .. |zenodo| image:: https://zenodo.org/badge/73047402.svg :target: https://zenodo.org/badge/latestdoi/73047402 diff --git a/docs/index.rst b/docs/index.rst index da4e9304..5fef943d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,9 +3,7 @@ Helper for B |eacute| zier Curves, Triangles, and Higher Order Objects -|circle-build| |travis-build| |appveyor-build| |coverage| - -|pypi| |versions| +|circle-build| |github-actions-build| |appveyor-build| |coverage| |zenodo| |JOSS| @@ -250,25 +248,19 @@ License ``bezier`` is made available under the Apache 2.0 License. For more details, see `the LICENSE`_. -.. _the LICENSE: https://github.com/dhermes/bezier/blob/main/LICENSE +.. _the LICENSE: https://github.com/dhermes/bezier/blob/2021.2.12/LICENSE -.. |circle-build| image:: https://img.shields.io/circleci/project/github/dhermes/bezier/main.svg?maxAge=3600&logo=circleci&label=Linux - :target: https://circleci.com/gh/dhermes/bezier +.. |circle-build| image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/circleci-passing.svg?sanitize=true + :target: https://circleci.com/gh/dhermes/bezier/1900 :alt: CircleCI Build -.. |travis-build| image:: https://img.shields.io/travis/dhermes/bezier/main.svg?maxAge=3600&logo=travis&label=macOS - :target: https://travis-ci.com/github/dhermes/bezier - :alt: Travis Build -.. |appveyor-build| image:: https://img.shields.io/appveyor/ci/dhermes/bezier/main.svg?maxAge=3600&logo=appveyor&label=Windows - :target: https://ci.appveyor.com/project/dhermes/bezier +.. |github-actions-build| image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/macos-passing.svg?sanitize=true + :target: https://github.com/dhermes/bezier/actions/runs/564975428 + :alt: GitHub Actions Build +.. |appveyor-build| image:: https://raw.githubusercontent.com/dhermes/bezier/2021.2.12/docs/appveyor-passing.svg?sanitize=true + :target: https://ci.appveyor.com/project/dhermes/bezier/build/1.0.1539.main :alt: AppVeyor CI Build -.. |pypi| image:: https://img.shields.io/pypi/v/bezier.svg - :target: https://pypi.org/project/bezier/ - :alt: PyPI Latest -.. |versions| image:: https://img.shields.io/pypi/pyversions/bezier.svg - :target: https://pypi.org/project/bezier/ - :alt: Package Versions -.. |coverage| image:: https://coveralls.io/repos/github/dhermes/bezier/badge.svg - :target: https://coveralls.io/github/dhermes/bezier +.. |coverage| image:: https://s3.amazonaws.com/assets.coveralls.io/badges/coveralls_100.svg + :target: https://coveralls.io/builds/37113814 :alt: Code Coverage .. |zenodo| image:: https://zenodo.org/badge/73047402.svg :target: https://zenodo.org/badge/latestdoi/73047402 diff --git a/docs/macos-passing.svg b/docs/macos-passing.svg new file mode 100644 index 00000000..1ffb067b --- /dev/null +++ b/docs/macos-passing.svg @@ -0,0 +1 @@ +macOS: passingmacOSpassing \ No newline at end of file diff --git a/docs/travis-passing.svg b/docs/travis-passing.svg deleted file mode 100644 index 2e7d8d32..00000000 --- a/docs/travis-passing.svg +++ /dev/null @@ -1 +0,0 @@ - macOSmacOSpassingpassing \ No newline at end of file