diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 774775d461d35b430a0c1ce7cada718c3c0bafcf..ac3770fc5321769f7ae03a27ade867f7481ac683 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -4,19 +4,19 @@ on: [push]
 jobs:
   fmt:
     runs-on: ubuntu-latest
-    container: nhooyr/websocket-ci@sha256:f8b6e53a9fd256bcf6c90029276385b9ec730b76a0d7ccf3ff19084bce210c50
+    container: nhooyr/websocket-ci@sha256:13f9b8cc2f901e98c253595c4070254ece08543f6e100b4fa6682f87de4388eb
     steps:
       - uses: actions/checkout@v1
       - run: yarn --frozen-lockfile && yarn fmt
   lint:
     runs-on: ubuntu-latest
-    container: nhooyr/websocket-ci@sha256:f8b6e53a9fd256bcf6c90029276385b9ec730b76a0d7ccf3ff19084bce210c50
+    container: nhooyr/websocket-ci@sha256:13f9b8cc2f901e98c253595c4070254ece08543f6e100b4fa6682f87de4388eb
     steps:
       - uses: actions/checkout@v1
       - run: yarn --frozen-lockfile && yarn lint
   test:
     runs-on: ubuntu-latest
-    container: nhooyr/websocket-ci@sha256:f8b6e53a9fd256bcf6c90029276385b9ec730b76a0d7ccf3ff19084bce210c50
+    container: nhooyr/websocket-ci@sha256:13f9b8cc2f901e98c253595c4070254ece08543f6e100b4fa6682f87de4388eb
     steps:
       - uses: actions/checkout@v1
       - run: yarn --frozen-lockfile && yarn test
diff --git a/ci/test.ts b/ci/test.ts
index aa1a00296f0d02a7b9e9ceab6ed4e8c1621a95c5..b44ae34b1b3cc3f0f2d6d8ccbf0c382d873a79c6 100755
--- a/ci/test.ts
+++ b/ci/test.ts
@@ -11,7 +11,7 @@ if (require.main === module) {
 }
 
 export async function test(ctx: Promise<unknown>) {
-  const args = ["-parallel=1024", "-coverprofile=ci/out/coverage.prof", "-coverpkg=./..."]
+  const args = ["-parallel=32", "-coverprofile=ci/out/coverage.prof", "-coverpkg=./..."]
 
   if (process.env.CI) {
     args.push("-race")