diff --git a/ci/postgres-config.yaml b/.ci/postgres-config.yaml
similarity index 91%
rename from ci/postgres-config.yaml
rename to .ci/postgres-config.yaml
index 511fef495d19684d46b32cad3947e35f71d006b4..f5a4aecd51caf5af47dedb7d70000a2457019bc9 100644
--- a/ci/postgres-config.yaml
+++ b/.ci/postgres-config.yaml
@@ -3,7 +3,7 @@
 # CI's Docker setup at the point where this file is considered.
 server_name: "localhost:8800"
 
-signing_key_path: "ci/test.signing.key"
+signing_key_path: ".ci/test.signing.key"
 
 report_stats: false
 
diff --git a/ci/scripts/postgres_exec.py b/.ci/scripts/postgres_exec.py
similarity index 100%
rename from ci/scripts/postgres_exec.py
rename to .ci/scripts/postgres_exec.py
diff --git a/ci/scripts/test_old_deps.sh b/.ci/scripts/test_old_deps.sh
similarity index 100%
rename from ci/scripts/test_old_deps.sh
rename to .ci/scripts/test_old_deps.sh
diff --git a/ci/scripts/test_synapse_port_db.sh b/.ci/scripts/test_synapse_port_db.sh
similarity index 100%
rename from ci/scripts/test_synapse_port_db.sh
rename to .ci/scripts/test_synapse_port_db.sh
diff --git a/ci/sqlite-config.yaml b/.ci/sqlite-config.yaml
similarity index 82%
rename from ci/sqlite-config.yaml
rename to .ci/sqlite-config.yaml
index fd5a1c14512242e6fb65694837a8c72a5003114c..3373743da3cd022a1b27f8fcb1f3341b45fefb8d 100644
--- a/ci/sqlite-config.yaml
+++ b/.ci/sqlite-config.yaml
@@ -3,14 +3,14 @@
 # schema and run background updates on it.
 server_name: "localhost:8800"
 
-signing_key_path: "ci/test.signing.key"
+signing_key_path: ".ci/test.signing.key"
 
 report_stats: false
 
 database:
   name: "sqlite3"
   args:
-    database: "ci/test_db.db"
+    database: ".ci/test_db.db"
 
 # Suppress the key server warning.
 trusted_key_servers: []
diff --git a/ci/test_db.db b/.ci/test_db.db
similarity index 100%
rename from ci/test_db.db
rename to .ci/test_db.db
diff --git a/ci/worker-blacklist b/.ci/worker-blacklist
similarity index 100%
rename from ci/worker-blacklist
rename to .ci/worker-blacklist
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 572bc81b0f71582f2ebb782845db36ab8990b365..df2e3901cb70bbe355d6ff6c33bb53ad3a1bbc8c 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -142,7 +142,7 @@ jobs:
         uses: docker://ubuntu:bionic # For old python and sqlite
         with:
           workdir: /github/workspace
-          entrypoint: ci/scripts/test_old_deps.sh
+          entrypoint: .ci/scripts/test_old_deps.sh
         env:
           TRIAL_FLAGS: "--jobs=2"
       - name: Dump logs
@@ -229,7 +229,7 @@ jobs:
     steps:
       - uses: actions/checkout@v2
       - name: Prepare test blacklist
-        run: cat sytest-blacklist ci/worker-blacklist > synapse-blacklist-with-workers
+        run: cat sytest-blacklist .ci/worker-blacklist > synapse-blacklist-with-workers
       - name: Run SyTest
         run: /bootstrap.sh synapse
         working-directory: /src
@@ -278,7 +278,7 @@ jobs:
       - uses: actions/setup-python@v2
         with:
           python-version: ${{ matrix.python-version }}
-      - run: ci/scripts/test_synapse_port_db.sh
+      - run: .ci/scripts/test_synapse_port_db.sh
 
   complement:
     if: ${{ !failure() && !cancelled() }}