diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b174f0144..445ad576a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -208,6 +208,11 @@ jobs:
         run: |
           cl.exe /DJS_NAN_BOXING=0 /Zs cxxtest.cc
           cl.exe /DJS_NAN_BOXING=1 /Zs cxxtest.cc
+      - name: test amalgamation
+        run: |
+          build\${{matrix.buildType}}\qjs.exe amalgam.js
+          cl.exe /std:c11 /experimental:c11atomics quickjs-amalgam.c api-test.c /Fe:amalgam-api-test.exe
+          .\amalgam-api-test.exe
 
   windows-msvc-vs2019:
     runs-on: windows-2019
@@ -383,6 +388,12 @@ jobs:
     - name: test api
       run: |
         ./build/api-test
+    - name: test amalgamation
+      run: |
+        ./build/qjs amalgam.js
+        cc -Wall -I. quickjs-amalgam.c api-test.c -o amalgam-api-test -lm
+        ./amalgam-api-test
+
   windows-mingw-shared:
     runs-on: windows-latest
     defaults:
@@ -570,7 +581,7 @@ jobs:
   amalgam:
     strategy:
       matrix:
-        # TODO(bnoordhuis) test on windows
+        # Windows is tested as part of windows-msvc
         config:
           - { os: ubuntu-latest }
           - { os: macos-latest }