{"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-510730200", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 510730200, "node_id": "MDEyOklzc3VlQ29tbWVudDUxMDczMDIwMA==", "user": {"value": 3243482, "label": "abdusco"}, "created_at": "2019-07-12T03:23:22Z", "updated_at": "2019-07-12T03:23:22Z", "author_association": "CONTRIBUTOR", "body": "@simonw yes it works fine on Windows, but test suite doesn't run properly, for that I had to use WSL", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-730893729", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 730893729, "node_id": "MDEyOklzc3VlQ29tbWVudDczMDg5MzcyOQ==", "user": {"value": 4060506, "label": "Carib0u"}, "created_at": "2020-11-20T06:35:13Z", "updated_at": "2020-11-20T06:35:13Z", "author_association": "NONE", "body": "Trying to run on Windows today, I get an error from the utils/asgi.py module. \r\n\r\nIt's trying `from os import EX_CANTCREAT` which is Unix-only. I commented this line out, and (so far) it's working. ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-502420036", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 502420036, "node_id": "MDEyOklzc3VlQ29tbWVudDUwMjQyMDAzNg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-06-16T04:51:39Z", "updated_at": "2019-06-16T04:52:14Z", "author_association": "OWNER", "body": "It looks like AppVeyor is the right solution for Windows CI. I've set up a Datasette project there but I do t yet have the configuration figured out (plus Datasette won't work on windows yet anyway): https://ci.appveyor.com/project/simonw/datasette", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-504863286", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 504863286, "node_id": "MDEyOklzc3VlQ29tbWVudDUwNDg2MzI4Ng==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-06-24T05:30:02Z", "updated_at": "2019-06-24T05:30:02Z", "author_association": "OWNER", "body": "I've landed #272 - need to manually test if it works on Windows now!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-510559337", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 510559337, "node_id": "MDEyOklzc3VlQ29tbWVudDUxMDU1OTMzNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-11T16:31:06Z", "updated_at": "2019-07-11T16:31:06Z", "author_association": "OWNER", "body": "@abdusco you mentioned Windows in #554 - can you confirm that Datasette is Windows compatible as of v0.29?", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-510559836", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 510559836, "node_id": "MDEyOklzc3VlQ29tbWVudDUxMDU1OTgzNg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-07-11T16:32:27Z", "updated_at": "2019-07-11T16:32:27Z", "author_association": "OWNER", "body": "Travis CI supports Windows - Uvicorn is using it here: https://github.com/encode/uvicorn/blob/15c4e9cfe2d996bd73ed6b542e44160f620b9519/.travis.yml", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-877717791", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 877717791, "node_id": "MDEyOklzc3VlQ29tbWVudDg3NzcxNzc5MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-07-10T23:45:35Z", "updated_at": "2021-07-10T23:45:35Z", "author_association": "OWNER", "body": "> Trying to run on Windows today, I get an error from the utils/asgi.py module.\r\n> \r\n> It's trying `from os import EX_CANTCREAT` which is Unix-only. I commented this line out, and (so far) it's working.\r\n\r\nGood news: that line was removed in #1094.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-877718286", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 877718286, "node_id": "MDEyOklzc3VlQ29tbWVudDg3NzcxODI4Ng==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-07-10T23:53:29Z", "updated_at": "2021-07-10T23:53:29Z", "author_association": "OWNER", "body": "Test suite on Windows seems to run a lot slower:\r\n\r\n\"Ran_Black__refs__1388_\u00b7_simonw_datasette_518cb06\"\r\n\r\nFrom https://github.com/simonw/datasette/actions/runs/1018938850 which is still going.\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-877718364", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 877718364, "node_id": "MDEyOklzc3VlQ29tbWVudDg3NzcxODM2NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-07-10T23:54:37Z", "updated_at": "2021-07-10T23:54:37Z", "author_association": "OWNER", "body": "Looks like it's not even 10% of the way through, and already a bunch of errors:\r\n\r\n\"Ran_Black__refs__1388_\u00b7_simonw_datasette_518cb06\"\r\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-877725742", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 877725742, "node_id": "MDEyOklzc3VlQ29tbWVudDg3NzcyNTc0Mg==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-07-11T01:25:01Z", "updated_at": "2021-07-11T01:26:38Z", "author_association": "OWNER", "body": "That's weird. https://github.com/simonw/datasette/runs/3037862798 finished running and came up green - but actually a TON of the tests failed on Windows. Not sure why that didn't fail the whole test suite:\r\n\r\n\"Ran_Black__refs__1388_\u00b7_simonw_datasette_518cb06\"\r\n\r\nAlso the test suite took 50 minutes on Windows!\r\n\r\nHere's a copy of the full log file for the tests on Python 3.8 on Windows: https://gist.github.com/simonw/2900ef33693c1bbda09188eb31c8212d", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-877726288", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 877726288, "node_id": "MDEyOklzc3VlQ29tbWVudDg3NzcyNjI4OA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-07-11T01:29:41Z", "updated_at": "2021-07-11T01:29:41Z", "author_association": "OWNER", "body": "Lots of errors that look like this:\r\n```\r\n2021-07-11T00:40:32.1189321Z E NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\tmpdr41pgwg\\\\data.db'\r\n2021-07-11T00:40:32.1190083Z \r\n2021-07-11T00:40:32.1191128Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\shutil.py:596: NotADirectoryError\r\n2021-07-11T00:40:32.1191999Z ___________________ ERROR at teardown of test_insert_error ____________________\r\n2021-07-11T00:40:32.1192842Z [gw1] win32 -- Python 3.8.10 c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\python.exe\r\n2021-07-11T00:40:32.1193387Z \r\n2021-07-11T00:40:32.1193930Z path = 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\tmpry729pq_'\r\n2021-07-11T00:40:32.1194876Z onerror = .onerror at 0x00000291FCEA93A0>\r\n2021-07-11T00:40:32.1195480Z \r\n2021-07-11T00:40:32.1195927Z def _rmtree_unsafe(path, onerror):\r\n2021-07-11T00:40:32.1196435Z try:\r\n2021-07-11T00:40:32.1196910Z with os.scandir(path) as scandir_it:\r\n2021-07-11T00:40:32.1197504Z entries = list(scandir_it)\r\n2021-07-11T00:40:32.1198002Z except OSError:\r\n2021-07-11T00:40:32.1198607Z onerror(os.scandir, path, sys.exc_info())\r\n2021-07-11T00:40:32.1199137Z entries = []\r\n2021-07-11T00:40:32.1199637Z for entry in entries:\r\n2021-07-11T00:40:32.1200184Z fullname = entry.path\r\n2021-07-11T00:40:32.1200692Z if _rmtree_isdir(entry):\r\n2021-07-11T00:40:32.1201198Z try:\r\n2021-07-11T00:40:32.1201643Z if entry.is_symlink():\r\n2021-07-11T00:40:32.1202280Z # This can only happen if someone replaces\r\n2021-07-11T00:40:32.1202944Z # a directory with a symlink after the call to\r\n2021-07-11T00:40:32.1203623Z # os.scandir or entry.is_dir above.\r\n2021-07-11T00:40:32.1204303Z raise OSError(\"Cannot call rmtree on a symbolic link\")\r\n2021-07-11T00:40:32.1204942Z except OSError:\r\n2021-07-11T00:40:32.1206416Z onerror(os.path.islink, fullname, sys.exc_info())\r\n2021-07-11T00:40:32.1207022Z continue\r\n2021-07-11T00:40:32.1207584Z _rmtree_unsafe(fullname, onerror)\r\n2021-07-11T00:40:32.1208074Z else:\r\n2021-07-11T00:40:32.1208496Z try:\r\n2021-07-11T00:40:32.1208926Z > os.unlink(fullname)\r\n2021-07-11T00:40:32.1210053Z E PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\tmpry729pq_\\\\data.db'\r\n2021-07-11T00:40:32.1210974Z \r\n2021-07-11T00:40:32.1211638Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\shutil.py:616: PermissionError\r\n2021-07-11T00:40:32.1212211Z \r\n2021-07-11T00:40:32.1212846Z During handling of the above exception, another exception occurred:\r\n2021-07-11T00:40:32.1213320Z \r\n2021-07-11T00:40:32.1213797Z func = \r\n2021-07-11T00:40:32.1214529Z path = 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\tmpry729pq_\\\\data.db'\r\n2021-07-11T00:40:32.1215763Z exc_info = (, PermissionError(13, 'The process cannot access the file because it is being used by another process'), )\r\n2021-07-11T00:40:32.1217263Z \r\n2021-07-11T00:40:32.1217777Z def onerror(func, path, exc_info):\r\n2021-07-11T00:40:32.1218421Z if issubclass(exc_info[0], PermissionError):\r\n2021-07-11T00:40:32.1219079Z def resetperms(path):\r\n2021-07-11T00:40:32.1219518Z try:\r\n2021-07-11T00:40:32.1219992Z _os.chflags(path, 0)\r\n2021-07-11T00:40:32.1220535Z except AttributeError:\r\n2021-07-11T00:40:32.1221110Z pass\r\n2021-07-11T00:40:32.1221545Z _os.chmod(path, 0o700)\r\n2021-07-11T00:40:32.1221984Z \r\n2021-07-11T00:40:32.1222330Z try:\r\n2021-07-11T00:40:32.1222768Z if path != name:\r\n2021-07-11T00:40:32.1223332Z resetperms(_os.path.dirname(path))\r\n2021-07-11T00:40:32.1223963Z resetperms(path)\r\n2021-07-11T00:40:32.1224408Z \r\n2021-07-11T00:40:32.1224749Z try:\r\n2021-07-11T00:40:32.1225954Z > _os.unlink(path)\r\n2021-07-11T00:40:32.1227032Z E PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\tmpry729pq_\\\\data.db'\r\n2021-07-11T00:40:32.1227927Z \r\n2021-07-11T00:40:32.1228646Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\tempfile.py:802: PermissionError\r\n2021-07-11T00:40:32.1229200Z \r\n2021-07-11T00:40:32.1229842Z During handling of the above exception, another exception occurred:\r\n2021-07-11T00:40:32.1230355Z \r\n2021-07-11T00:40:32.1230783Z @pytest.fixture\r\n2021-07-11T00:40:32.1231322Z def canned_write_client():\r\n2021-07-11T00:40:32.1231805Z with make_app_client(\r\n2021-07-11T00:40:32.1232467Z extra_databases={\"data.db\": \"create table names (name text)\"},\r\n2021-07-11T00:40:32.1233104Z metadata={\r\n2021-07-11T00:40:32.1233535Z \"databases\": {\r\n2021-07-11T00:40:32.1233989Z \"data\": {\r\n2021-07-11T00:40:32.1234416Z \"queries\": {\r\n2021-07-11T00:40:32.1235001Z \"canned_read\": {\"sql\": \"select * from names\"},\r\n2021-07-11T00:40:32.1235527Z \"add_name\": {\r\n2021-07-11T00:40:32.1236117Z \"sql\": \"insert into names (name) values (:name)\",\r\n2021-07-11T00:40:32.1236686Z \"write\": True,\r\n2021-07-11T00:40:32.1237317Z \"on_success_redirect\": \"/data/add_name?success\",\r\n2021-07-11T00:40:32.1237882Z },\r\n2021-07-11T00:40:32.1238331Z \"add_name_specify_id\": {\r\n2021-07-11T00:40:32.1239009Z \"sql\": \"insert into names (rowid, name) values (:rowid, :name)\",\r\n2021-07-11T00:40:32.1239610Z \"write\": True,\r\n2021-07-11T00:40:32.1240259Z \"on_error_redirect\": \"/data/add_name_specify_id?error\",\r\n2021-07-11T00:40:32.1240839Z },\r\n2021-07-11T00:40:32.1241320Z \"delete_name\": {\r\n2021-07-11T00:40:32.1242504Z \"sql\": \"delete from names where rowid = :rowid\",\r\n2021-07-11T00:40:32.1243127Z \"write\": True,\r\n2021-07-11T00:40:32.1243721Z \"on_success_message\": \"Name deleted\",\r\n2021-07-11T00:40:32.1244282Z \"allow\": {\"id\": \"root\"},\r\n2021-07-11T00:40:32.1244749Z },\r\n2021-07-11T00:40:32.1245959Z \"update_name\": {\r\n2021-07-11T00:40:32.1246614Z \"sql\": \"update names set name = :name where rowid = :rowid\",\r\n2021-07-11T00:40:32.1247267Z \"params\": [\"rowid\", \"name\", \"extra\"],\r\n2021-07-11T00:40:32.1247828Z \"write\": True,\r\n2021-07-11T00:40:32.1248247Z },\r\n2021-07-11T00:40:32.1248653Z }\r\n2021-07-11T00:40:32.1249166Z }\r\n2021-07-11T00:40:32.1249577Z }\r\n2021-07-11T00:40:32.1249962Z },\r\n2021-07-11T00:40:32.1250333Z ) as client:\r\n2021-07-11T00:40:32.1250822Z > yield client\r\n2021-07-11T00:40:32.1251078Z \r\n2021-07-11T00:40:32.1251678Z D:\\a\\datasette\\datasette\\tests\\test_canned_queries.py:43: \r\n2021-07-11T00:40:32.1252347Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\r\n2021-07-11T00:40:32.1253040Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\contextlib.py:120: in __exit__\r\n2021-07-11T00:40:32.1253759Z next(self.gen)\r\n2021-07-11T00:40:32.1254398Z D:\\a\\datasette\\datasette\\tests\\fixtures.py:156: in make_app_client\r\n2021-07-11T00:40:32.1255098Z yield TestClient(ds)\r\n2021-07-11T00:40:32.1255796Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\tempfile.py:827: in __exit__\r\n2021-07-11T00:40:32.1256510Z self.cleanup()\r\n2021-07-11T00:40:32.1257200Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\tempfile.py:831: in cleanup\r\n2021-07-11T00:40:32.1257961Z self._rmtree(self.name)\r\n2021-07-11T00:40:32.1258712Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\tempfile.py:813: in _rmtree\r\n2021-07-11T00:40:32.1259487Z _shutil.rmtree(name, onerror=onerror)\r\n2021-07-11T00:40:32.1260280Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\shutil.py:740: in rmtree\r\n2021-07-11T00:40:32.1261039Z return _rmtree_unsafe(path, onerror)\r\n2021-07-11T00:40:32.1261843Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\shutil.py:618: in _rmtree_unsafe\r\n2021-07-11T00:40:32.1262633Z onerror(os.unlink, fullname, sys.exc_info())\r\n2021-07-11T00:40:32.1263456Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\tempfile.py:805: in onerror\r\n2021-07-11T00:40:32.1264175Z cls._rmtree(path)\r\n2021-07-11T00:40:32.1264848Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\tempfile.py:813: in _rmtree\r\n2021-07-11T00:40:32.1266329Z _shutil.rmtree(name, onerror=onerror)\r\n2021-07-11T00:40:32.1267082Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\shutil.py:740: in rmtree\r\n2021-07-11T00:40:32.1267858Z return _rmtree_unsafe(path, onerror)\r\n2021-07-11T00:40:32.1268615Z c:\\hostedtoolcache\\windows\\python\\3.8.10\\x64\\lib\\shutil.py:599: in _rmtree_unsafe\r\n2021-07-11T00:40:32.1269440Z onerror(os.scandir, path, sys.exc_info())\r\n2021-07-11T00:40:32.1269979Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\r\n2021-07-11T00:40:32.1270287Z \r\n2021-07-11T00:40:32.1270947Z path = 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\tmpry729pq_\\\\data.db'\r\n2021-07-11T00:40:32.1273356Z onerror = .onerror at 0x00000291FCF40E50>\r\n2021-07-11T00:40:32.1273999Z \r\n2021-07-11T00:40:32.1274493Z def _rmtree_unsafe(path, onerror):\r\n2021-07-11T00:40:32.1274953Z try:\r\n2021-07-11T00:40:32.1275461Z > with os.scandir(path) as scandir_it:\r\n2021-07-11T00:40:32.1276459Z E NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\\\\Users\\\\RUNNER~1\\\\AppData\\\\Local\\\\Temp\\\\tmpry729pq_\\\\data.db'\r\n2021-07-11T00:40:32.1277220Z \r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-877726495", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 877726495, "node_id": "MDEyOklzc3VlQ29tbWVudDg3NzcyNjQ5NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-07-11T01:32:27Z", "updated_at": "2021-07-11T01:32:27Z", "author_association": "OWNER", "body": "I'm using `pytest-xdist` and this:\r\n\r\n pytest -n auto -m \"not serial\"\r\n\r\nI'll try not using the `-n auto` bit on Windows and see if that helps.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/511#issuecomment-877835171", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/511", "id": 877835171, "node_id": "MDEyOklzc3VlQ29tbWVudDg3NzgzNTE3MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-07-11T17:23:05Z", "updated_at": "2021-07-11T17:23:05Z", "author_association": "OWNER", "body": " == 87 failed, 819 passed, 7 skipped, 29 errors in 2584.85s (0:43:04) ==\r\n\r\nhttps://github.com/simonw/datasette/runs/3038188870?check_suite_focus=true\r\n\r\nFull copy of log here: https://gist.github.com/simonw/4b1fdd24496b989fca56bc757be345ad", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 456578474, "label": "Get Datasette tests passing on Windows in GitHub Actions"}, "performed_via_github_app": null}