ci: Use 32-bit Rust and Python on vs2017 x86

See also: https://github.com/mesonbuild/meson/issues/9038#issuecomment-898960933
diff --git a/ci/run.ps1 b/ci/run.ps1
index a0b9479..dbb4f69 100644
--- a/ci/run.ps1
+++ b/ci/run.ps1
@@ -7,8 +7,17 @@
 # remove PostgreSQL from path so we don't pickup a broken zlib from it
 $env:Path = ($env:Path.Split(';') | Where-Object { $_ -notmatch 'mingw|Strawberry|Chocolatey|PostgreSQL' }) -join ';'
 
-# Rust puts its shared stdlib in a secret place, but it is needed to run tests.
-$env:Path += ";$HOME/.rustup/toolchains/stable-x86_64-pc-windows-msvc/bin"
+if ($env:arch -eq 'x64') {
+    # Rust puts its shared stdlib in a secret place, but it is needed to run tests.
+    $env:Path += ";$HOME/.rustup/toolchains/stable-x86_64-pc-windows-msvc/bin"
+} else if ($env:arch -eq 'x86') {
+    # Switch to the x86 Rust toolchain
+    rustup default stable-i686-pc-windows-msvc
+    # Rust puts its shared stdlib in a secret place, but it is needed to run tests.
+    $env:Path += ";$HOME/.rustup/toolchains/stable-i686-pc-windows-msvc/bin"
+    # Need 32-bit Python for tests that need the Python dependency
+    $env:Path = "C:\hostedtoolcache\windows\Python\3.6.8\x86;C:\hostedtoolcache\windows\Python\3.6.8\x86\Scripts;$env:Path"
+}
 
 # Set the CI env var for the meson test framework
 $env:CI = '1'