diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 77e0dd2f5..bf0cb8afd 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -38,7 +38,7 @@ on:
 jobs:
   linux:
 
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     strategy:
       fail-fast: true
       matrix:
@@ -52,7 +52,7 @@ jobs:
           - ghc: '8.6.5'
             cabal: '2.4'
           - ghc: '8.8.3'
-            cabal: '3.0'
+            cabal: '3.2'
           - ghc: '8.10.1'
             cabal: '3.2'
     steps:
@@ -91,7 +91,7 @@ jobs:
 
   windows:
 
-    runs-on: windows-latest
+    runs-on: windows-2019
 
     steps:
     - uses: actions/checkout@v1
@@ -130,7 +130,7 @@ jobs:
 
   macos:
 
-    runs-on: macOS-latest
+    runs-on: macOS-10.15
 
     steps:
     - uses: actions/checkout@v1
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index d5f26a733..22d0b5789 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -7,12 +7,12 @@ on:
 jobs:
   linux:
 
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     steps:
     - uses: actions/checkout@v1
     - name: Install dependencies
       run: |
-          export PATH=/opt/cabal/3.0/bin:/opt/ghc/8.8.3/bin:$PATH
+          export PATH=/opt/cabal/3.2/bin:/opt/ghc/8.8.3/bin:$PATH
           ls /opt/cabal/*/bin
           ls /opt/ghc/*/bin
           ghc --version
@@ -21,7 +21,7 @@ jobs:
           cabal v2-build --dependencies-only . pandoc-citeproc
     - name: Build
       run: |
-          export PATH=/opt/cabal/3.0/bin:/opt/ghc/8.8.3/bin:$PATH
+          export PATH=/opt/cabal/3.2/bin:/opt/ghc/8.8.3/bin:$PATH
           cabal v2-install . pandoc-citeproc
           strip $HOME/.cabal/bin/pandoc
           strip $HOME/.cabal/bin/pandoc-citeproc
@@ -40,7 +40,7 @@ jobs:
 
   windows:
 
-    runs-on: windows-latest
+    runs-on: windows-2019
 
     steps:
     - uses: actions/checkout@v1
@@ -70,7 +70,7 @@ jobs:
 
   macos:
 
-    runs-on: macOS-latest
+    runs-on: macOS-10.15
 
     steps:
     - uses: actions/checkout@v1
diff --git a/.github/workflows/release-candidate.yml b/.github/workflows/release-candidate.yml
index 9d9833b3a..45472c413 100644
--- a/.github/workflows/release-candidate.yml
+++ b/.github/workflows/release-candidate.yml
@@ -8,7 +8,7 @@ on:
 jobs:
   linux:
 
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-20.04
     steps:
     - uses: actions/checkout@v1
     - name: Create linux package
@@ -24,7 +24,7 @@ jobs:
 
   windows:
 
-    runs-on: windows-latest
+    runs-on: windows-2019
     strategy:
       fail-fast: true
       matrix:
@@ -94,7 +94,7 @@ jobs:
 
   macos:
 
-    runs-on: macOS-latest
+    runs-on: macOS-10.15
 
     steps:
     - uses: actions/checkout@v1