Update GH CI workflow

Change-Id: I92fd4f83ebe8d2e98e84f988855fbf16a779cc4b
diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml
index 85bc282..184e527 100644
--- a/.github/workflows/pythonpackage.yml
+++ b/.github/workflows/pythonpackage.yml
@@ -10,25 +10,16 @@
       max-parallel: 6
       fail-fast: false
       matrix:
-        python-version: ['3.9', '3.10', '3.11']
+        python-version: ['3.9', '3.11', '3.12']
         r-version: [release]
         os: [windows-latest, macOS-latest, ubuntu-latest]
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@v4
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v4
+      uses: actions/setup-python@v5
       with:
         python-version: ${{ matrix.python-version }}
-    - name: Cache pip
-      uses: actions/cache@v3
-      with:
-        # This path is specific to Ubuntu
-        path: ~/.cache/pip
-        # Look to see if there is a cache hit for the corresponding requirements file
-        key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
-        restore-keys: |
-          ${{ runner.os }}-pip-
-          ${{ runner.os }}-
+        cache: 'pip' # caching pip dependencies
     - name: Set up R ${{ matrix.r-version }}
       uses: r-lib/actions/setup-r@v2
       with:
@@ -59,9 +50,19 @@
       run: |
         python -m pip install --upgrade pip
         pip install wheel
-    - name: Install package
+    - name: Install package on Mac and Linux
+      if: runner.os != 'Windows'
       run: |
         pip install .
+    - name: Install package on Windows
+      if: runner.os == 'Windows'
+      run: |
+        pip install rpy2
+        pip install .
+      env:
+        R_HOME: "c:/R"
+        R_USER: "c:/R"
+        PATH: "c:/R/bin/x64;${{ env.PATH }}"
     - name: Test with pytest on POSIX
       if: runner.os != 'Windows'
       run: |