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 @@
+
\ 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 @@
-
\ No newline at end of file