diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml
index 854cc75376681462173afe0478964bf5b1e373aa..b00dcb736dd210823c86299ff085ca56dd418f88 100644
--- a/.github/workflows/python-package.yml
+++ b/.github/workflows/python-package.yml
@@ -12,7 +12,7 @@ on:
 jobs:
   build:
 
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-18.04
     strategy:
       fail-fast: false
       matrix:
diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml
index 50cfa3855b92298ceed7f6a2df41c826667cd8bc..4e083592ed5ed0101bbfed0a7c30e67d86959adf 100644
--- a/.github/workflows/python-publish.yml
+++ b/.github/workflows/python-publish.yml
@@ -18,7 +18,7 @@ jobs:
     runs-on: ${{ matrix.os }}
     strategy:
       matrix:
-        os: [ubuntu-latest, macos-latest, windows-latest]
+        os: [ubuntu-18.04, macos-latest, windows-latest]
         python-version: [3.6, 3.7, 3.8, 3.9]
         
     steps:
@@ -48,7 +48,7 @@ jobs:
       run: python setup.py bdist_wheel
         
     - name: Rename Linux wheels to supported platform of PyPI
-      if: matrix.os == 'ubuntu-latest'
+      if: matrix.os == 'ubuntu-18.04'
       run: for f in dist/*.whl; do mv "$f" "$(echo "$f" | sed s/linux/manylinux1/)"; done
 
     - name: Publish wheels to GitHub artifacts
@@ -60,7 +60,7 @@ jobs:
 
   publish-pypi:
     needs: [build-wheels]
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-18.04
     steps:
     - uses: actions/checkout@v2