Add Erlang/OTP 20 and 21 to CI matrix
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 1316ffe..cd3b777 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -16,6 +16,18 @@
         otp-version: ['22', '23', '24']
         # erlef/setup-beam action does not support macos yet
         os: [ubuntu-latest, windows-latest]
+        rebar3-version: ['3.17']
+        include:
+          - otp-version: '21'
+            os: ubuntu-latest
+            rebar3-version: '3.15.2'
+          - otp-version: '21'
+            os: windows-latest
+            rebar3-version: '3.15.2'
+          - otp-version: '20'
+            os: ubuntu-latest
+            rebar3-version: '3.15.2'
+
     runs-on: ${{ matrix.os }}
     env:
       # Define to something other than empty string to enable verbose rebar3 logging
@@ -31,7 +43,7 @@
         uses: ./.github/actions/setup-beam
         with:
           otp-version: ${{ matrix.otp-version }}
-          rebar3-version: '3.17'
+          rebar3-version: ${{ matrix.rebar3-version }}
       - name: Setup MSVC toolchain
         if: ${{ matrix.os == 'windows-latest' }}
         uses: ./.github/actions/msvc-dev-cmd