diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 25f2cfd0..9a9f0462 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -8,13 +8,16 @@ jobs:
       matrix:
         os: [ macOS-latest, windows-latest ]
     runs-on: ${{matrix.os}}
+    timeout-minutes: 30
     steps:
       - name: Checkout the repo
         uses: actions/checkout@v2
       - name: Set up JDK 11
-        uses: actions/setup-java@v1
+        uses: DeLaGuardo/setup-graalvm@4.0
         with:
-          java-version: 11
+          graalvm: 21.1.0
+          java: java11
+          arch: amd64
       - name: Add msys to path
         if: matrix.os == 'windows-latest'
         run: SETX PATH "%PATH%;C:\msys64\mingw64\bin"
diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
index 74c1bffd..5892b3c4 100644
--- a/.github/workflows/pages.yml
+++ b/.github/workflows/pages.yml
@@ -12,9 +12,11 @@ jobs:
       - name: Checkout the repo
         uses: actions/checkout@v2
       - name: Set up JDK 11
-        uses: actions/setup-java@v1
+        uses: DeLaGuardo/setup-graalvm@4.0
         with:
-          java-version: 11
+          graalvm: 21.1.0
+          java: java11
+          arch: amd64
       - name: Cache gradle
         uses: actions/cache@v2
         with:
@@ -22,10 +24,15 @@ jobs:
           key: ubuntu-20.04-gradle-${{ hashFiles('*.gradle.kts') }}
           restore-keys: |
             ubuntu-20.04-gradle-
+      - name: Cache konan
+        uses: actions/cache@v2
+        with:
+          path: ~/.konan
+          key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }}
+          restore-keys: |
+            ${{ runner.os }}-gradle-
       - name: Build
-        run: |
-          ./gradlew dokkaHtmlMultiModule --no-daemon --no-parallel --stacktrace
-          mv build/dokka/htmlMultiModule/-modules.html build/dokka/htmlMultiModule/index.html
+        run: ./gradlew dokkaHtmlMultiModule --no-daemon --no-parallel --stacktrace
       - name: Deploy to GitHub Pages
         uses: JamesIves/github-pages-deploy-action@4.1.0
         with:
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 42fa6d3b..c5c110e8 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -12,15 +12,17 @@ jobs:
       name: publish
     strategy:
       matrix:
-        os: [macOS-latest, windows-latest]
+        os: [ macOS-latest, windows-latest ]
     runs-on: ${{matrix.os}}
     steps:
       - name: Checkout the repo
         uses: actions/checkout@v2
       - name: Set up JDK 11
-        uses: actions/setup-java@v1
+        uses: DeLaGuardo/setup-graalvm@4.0
         with:
-          java-version: 11
+          graalvm: 21.1.0
+          java: java11
+          arch: amd64
       - name: Add msys to path
         if: matrix.os == 'windows-latest'
         run: SETX PATH "%PATH%;C:\msys64\mingw64\bin"