Repository: edgedb/edgedb-python (language: python)

Issue:
Retry on TransactionError when attempting to commit
Serialization errors can be generated at commit time and should be
retried.

We probably want to check the other bindings for this also?


Discussion / hints:
I'm able to reproduce the bug manually and verify the fix works, but my attempts to reproduce it in the test suite haven't worked! Argh! Going to just merge it for now.

Fix patch:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index e70cbdb5..1eb283cf 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -75,7 +75,7 @@ jobs:
     runs-on: ${{ matrix.os }}
     strategy:
       matrix:
-        os: [ubuntu-latest, macos-latest, windows-latest]
+        os: [ubuntu-latest, macos-latest, windows-2019]
         cibw_python: ["cp36-*", "cp37-*", "cp38-*", "cp39-*", "cp310-*"]
         cibw_arch: ["auto64"]
         exclude:
@@ -97,7 +97,7 @@ jobs:
         submodules: true
 
     - name: Setup WSL
-      if: ${{ steps.release.outputs.version == 0 && matrix.os == 'windows-latest' }}
+      if: ${{ steps.release.outputs.version == 0 && matrix.os == 'windows-2019' }}
       uses: vampire/setup-wsl@v1
       with:
         wsl-shell-user: edgedb
@@ -108,7 +108,7 @@ jobs:
     - name: Install EdgeDB
       uses: edgedb/setup-edgedb@v1
 
-    - uses: pypa/cibuildwheel@v2.2.2
+    - uses: pypa/cibuildwheel@v2.3.1
       env:
         CIBW_BUILD_VERBOSITY: 1
         CIBW_BUILD: ${{ matrix.cibw_python }}
diff --git a/edgedb/_version.py b/edgedb/_version.py
index bb476b30..1003d9bd 100644
--- a/edgedb/_version.py
+++ b/edgedb/_version.py
@@ -28,4 +28,4 @@
 # supported platforms, publish the packages on PyPI, merge the PR
 # to the target branch, create a Git tag pointing to the commit.
 
-__version__ = '0.22.0'
+__version__ = '0.23.0'


Test patch:
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 090cc202..7e9fa145 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -24,7 +24,7 @@ jobs:
       matrix:
         python-version: ["3.6", "3.7", "3.8", "3.9", "3.10"]
         edgedb-version: [stable, nightly]
-        os: [ubuntu-latest, macos-latest, windows-latest]
+        os: [ubuntu-latest, macos-latest, windows-2019]
         loop: [asyncio, uvloop]
         exclude:
           # uvloop does not support Python 3.6
@@ -32,7 +32,7 @@ jobs:
             python-version: "3.6"
           # uvloop does not support windows
           - loop: uvloop
-            os: windows-latest
+            os: windows-2019
 
     steps:
     - uses: actions/checkout@v2
@@ -56,7 +56,7 @@ jobs:
       # branch restrictions.
 
     - name: Setup WSL
-      if: ${{ steps.release.outputs.version == 0 && matrix.os == 'windows-latest' }}
+      if: ${{ steps.release.outputs.version == 0 && matrix.os == 'windows-2019' }}
       uses: vampire/setup-wsl@v1
       with:
         wsl-shell-user: edgedb