diff --git a/bob/devtools/data/gitlab-ci/beat-docker-package.yaml b/bob/devtools/data/gitlab-ci/beat-docker-package.yaml
index cf45e9c2c9e1fc60f49fa49427864d46f80bb9a6..980d7e10b2473af7f27d18e76f5a7b81288adfe4 100644
--- a/bob/devtools/data/gitlab-ci/beat-docker-package.yaml
+++ b/bob/devtools/data/gitlab-ci/beat-docker-package.yaml
@@ -1,3 +1,7 @@
 build_linux_37:
   tags:
     - docker-build
+
+build_linux_38:
+  tags:
+    - docker-build
diff --git a/bob/devtools/data/gitlab-ci/docs.yaml b/bob/devtools/data/gitlab-ci/docs.yaml
index a24fa2ca7c8db12bc760a7732a910d3b6f574e80..299ee79765498f0caf4518081e6eb44aa0ba1f37 100644
--- a/bob/devtools/data/gitlab-ci/docs.yaml
+++ b/bob/devtools/data/gitlab-ci/docs.yaml
@@ -39,7 +39,7 @@ build:
   stage: build
   variables:
     GITLAB_CHECKOUT_STRATEGY: "https://gitlab-ci-token:${CI_BUILD_TOKEN}@gitlab.idiap.ch/"
-    PYTHON_VERSION: "3.7"
+    PYTHON_VERSION: "3.8"
     BUILD_EGG: "true"
   script:
     - yum -y install dejavu-sans-fonts
diff --git a/bob/devtools/data/gitlab-ci/nightlies.yaml b/bob/devtools/data/gitlab-ci/nightlies.yaml
index fdd800093b4c88d9c115328e25f74de313bf6e6b..2b2ab48af485901dd308c3f2a49730c0d9832e77 100644
--- a/bob/devtools/data/gitlab-ci/nightlies.yaml
+++ b/bob/devtools/data/gitlab-ci/nightlies.yaml
@@ -50,6 +50,13 @@ build_linux_37:
   cache:
     key: 'build-py37'
 
+build_linux_38:
+  extends: .build_linux_template
+  variables:
+    PYTHON_VERSION: "3.8"
+  cache:
+    key: 'build-py38'
+
 build_macos_intel_37:
   extends: .build_template
   variables:
@@ -60,6 +67,16 @@ build_macos_intel_37:
   cache:
     key: 'build-py37'
 
+build_macos_intel_38:
+  extends: .build_template
+  variables:
+    PYTHON_VERSION: "3.8"
+  tags:
+    - macos
+    - intel
+  cache:
+    key: 'build-py38'
+
 
 # Periodic cleanup of beta packages
 .cleanup_template:
diff --git a/bob/devtools/data/gitlab-ci/noarch.yaml b/bob/devtools/data/gitlab-ci/noarch.yaml
index b9314488bf4cfa40804d6317c392fc1339aa5224..c804564f195a0153c3c57949bcec39c4a9669aff 100644
--- a/bob/devtools/data/gitlab-ci/noarch.yaml
+++ b/bob/devtools/data/gitlab-ci/noarch.yaml
@@ -50,7 +50,7 @@ build_linux:
     - docker
   image: docker.idiap.ch/bob/docker-images/c3i-linux-64
   variables:
-    PYTHON_VERSION: "3.7"
+    PYTHON_VERSION: "3.8"
     BUILD_EGG: "true"
   script:
     - bdt ci build -vv
@@ -68,7 +68,7 @@ build_linux:
 
 build_macos_intel:
   variables:
-    PYTHON_VERSION: "3.7"
+    PYTHON_VERSION: "3.8"
   cache:
     key: "build"
   extends: .build_template
diff --git a/bob/devtools/data/gitlab-ci/single-package.yaml b/bob/devtools/data/gitlab-ci/single-package.yaml
index 7938372e96262f839bfe0d6315d139bfd0463972..f512d032dc9d8fadf9569ce149ea5e2c1762a7bd 100644
--- a/bob/devtools/data/gitlab-ci/single-package.yaml
+++ b/bob/devtools/data/gitlab-ci/single-package.yaml
@@ -74,10 +74,24 @@ build_macos_intel_37:
   cache:
     key: "build-py37"
 
+build_macos_intel_38:
+  extends: .build_macos_intel_template
+  variables:
+    PYTHON_VERSION: "3.8"
+  cache:
+    key: "build-py38"
+
 build_linux_37:
   extends: .build_linux_template
   variables:
     PYTHON_VERSION: "3.7"
+  cache:
+    key: "build-py37"
+
+build_linux_38:
+  extends: .build_linux_template
+  variables:
+    PYTHON_VERSION: "3.8"
     BUILD_EGG: "true"
   script:
     - bdt ci build -vv
@@ -90,7 +104,7 @@ build_linux_37:
       - ${CONDA_ROOT}/conda-bld/linux-64/*.conda
       - ${CONDA_ROOT}/conda-bld/linux-64/*.tar.bz2
   cache:
-    key: "build-py37"
+    key: "build-py38"
 
 
 # Test targets (not normally used)
@@ -128,7 +142,9 @@ build_linux_37:
     - bdt ci clean -vv
   dependencies:
     - build_linux_37
+    - build_linux_38
     - build_macos_intel_37
+    - build_macos_intel_38
   tags:
     - docker
   cache:
@@ -167,7 +183,9 @@ pypi:
     - bdt ci clean -vv
   dependencies:
     - build_linux_37
+    - build_linux_38
     - build_macos_intel_37
+    - build_macos_intel_38
   tags:
     - docker
   cache: