block Cython 3.0+ as a build dep (#702)

* keeps libyaml extension build functional once Cython 3.0 releases; stopgap measure until we can rewrite the extension build to eliminate all the ancient deprecated distutils magic
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 5379639..160d8e4 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -197,7 +197,7 @@
     defaults:
       run:
         shell: ${{ matrix.run_wrapper || 'bash --noprofile --norc -eo pipefail {0}' }}
-    runs-on: ${{ matrix.runs_on || 'macos-10.15' }}
+    runs-on: ${{ matrix.runs_on || 'macos-11' }}
     steps:
     - name: Check cached libyaml state
       id: cached_libyaml
@@ -225,7 +225,7 @@
   macos_pyyaml:
     needs: macos_libyaml
     name: pyyaml ${{ matrix.spec }}
-    runs-on: ${{ matrix.runs_on || 'macos-10.15' }}
+    runs-on: ${{ matrix.runs_on || 'macos-11' }}
     defaults:
       run:
         shell: ${{ matrix.run_wrapper || 'bash --noprofile --norc -eo pipefail {0}' }}
@@ -233,6 +233,7 @@
       matrix:
         include:
         - spec: cp36-macosx_x86_64
+          cibw_version: cibuildwheel==2.11.1
 #        - spec: cp37-macosx_x86_64
 #        - spec: cp38-macosx_x86_64
 #        - spec: cp39-macosx_x86_64
@@ -288,7 +289,7 @@
         SDKROOT: ${{ matrix.sdkroot || 'macosx' }}
       run: |
         python3 -V
-        python3 -m pip install -U --user cibuildwheel
+        python3 -m pip install -U --user ${{ matrix.cibw_version || 'cibuildwheel' }}
         python3 -m cibuildwheel --platform auto --output-dir dist .
 
     - name: Upload artifacts
@@ -369,7 +370,7 @@
         - platform: windows-2019
           build_arch: x64
           python_arch: x64
-          spec: '3.11.0-rc.2'
+          spec: '3.11'
         - platform: windows-2019
           build_arch: win32
           python_arch: x86
@@ -393,7 +394,7 @@
         - platform: windows-2019
           build_arch: win32
           python_arch: x86
-          spec: '3.11.0-rc.2'
+          spec: '3.11'
     steps:
     # autocrlf screws up tests under Windows
     - name: Set git to use LF
@@ -429,7 +430,7 @@
       run: |
         set -eux
         python -V
-        python -m pip install Cython wheel
+        python -m pip install "Cython<3.0" wheel
 
         python setup.py \
         --with-libyaml build_ext \
diff --git a/.github/workflows/manual_artifact_build.yaml b/.github/workflows/manual_artifact_build.yaml
index fdc7faa..97d9add 100644
--- a/.github/workflows/manual_artifact_build.yaml
+++ b/.github/workflows/manual_artifact_build.yaml
@@ -195,7 +195,7 @@
     defaults:
       run:
         shell: ${{ matrix.run_wrapper || 'bash --noprofile --norc -eo pipefail {0}' }}
-    runs-on: ${{ matrix.runs_on || 'macos-10.15' }}
+    runs-on: ${{ matrix.runs_on || 'macos-11' }}
     steps:
     - name: Check cached libyaml state
       id: cached_libyaml
@@ -223,7 +223,7 @@
   macos_pyyaml:
     needs: macos_libyaml
     name: pyyaml ${{ matrix.spec }}
-    runs-on: ${{ matrix.runs_on || 'macos-10.15' }}
+    runs-on: ${{ matrix.runs_on || 'macos-11' }}
     defaults:
       run:
         shell: ${{ matrix.run_wrapper || 'bash --noprofile --norc -eo pipefail {0}' }}
@@ -231,8 +231,11 @@
       matrix:
         include:
         - spec: cp36-macosx_x86_64
+          cibw_version: cibuildwheel==2.11.1
         - spec: cp37-macosx_x86_64
+          cibw_version: cibuildwheel==2.11.1
         - spec: cp38-macosx_x86_64
+          cibw_version: cibuildwheel==2.11.1
         - spec: cp39-macosx_x86_64
         - spec: cp310-macosx_x86_64
         - spec: cp311-macosx_x86_64
@@ -286,7 +289,7 @@
         SDKROOT: ${{ matrix.sdkroot || 'macosx' }}
       run: |
         python3 -V
-        python3 -m pip install -U --user cibuildwheel
+        python3 -m pip install -U --user ${{ matrix.cibw_version || 'cibuildwheel' }}
         python3 -m cibuildwheel --platform auto --output-dir dist .
 
     - name: Upload artifacts
@@ -367,7 +370,7 @@
         - platform: windows-2019
           build_arch: x64
           python_arch: x64
-          spec: '3.11.0-rc.2'
+          spec: '3.11'
         - platform: windows-2019
           build_arch: win32
           python_arch: x86
@@ -391,7 +394,7 @@
         - platform: windows-2019
           build_arch: win32
           python_arch: x86
-          spec: '3.11.0-rc.2'
+          spec: '3.11'
     steps:
     # autocrlf screws up tests under Windows
     - name: Set git to use LF
@@ -427,7 +430,7 @@
       run: |
         set -eux
         python -V
-        python -m pip install Cython wheel
+        python -m pip install "Cython<3.0" wheel
 
         python setup.py \
         --with-libyaml build_ext \
diff --git a/pyproject.toml b/pyproject.toml
index 2bf5ec8..4bc04c0 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,3 +1,3 @@
 [build-system]
-requires = ["setuptools", "wheel", "Cython"]
+requires = ["setuptools", "wheel", "Cython<3.0"]
 build-backend = "setuptools.build_meta"