From 612ae86672c0c67d0cae00e5819d0a476eb56e9d Mon Sep 17 00:00:00 2001
From: Yuta Saito <kateinoigakukun@gmail.com>
Date: Sun, 8 Aug 2021 04:06:51 +0000
Subject: [PATCH 1/5] Test for multiple version of toolchains

---
 .github/workflows/test.yml   | 7 ++++++-
 scripts/install-toolchain.sh | 9 +++++----
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index a04d6730f..0f63cd940 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -9,6 +9,10 @@ jobs:
     strategy:
       matrix:
         os: [macOS-10.15, Ubuntu-18.04]
+        toolchain:
+          - wasm-5.3.0-RELEASE
+          - wasm-5.4-SNAPSHOT-2021-08-07-a
+          # - wasm-5.4.0-RELEASE
     runs-on: ${{ matrix.os }}
     steps:
       - name: Checkout
@@ -21,5 +25,6 @@ jobs:
           export SWIFTENV_ROOT="$HOME/.swiftenv"
           export PATH="$SWIFTENV_ROOT/bin:$PATH"
           eval "$(swiftenv init -)"
-          make bootstrap
+          SWIFT_VERSION=${{ matrix.toolchain }} make bootstrap
+          echo ${{ matrix.toolchain }} > .swift-version
           make test
diff --git a/scripts/install-toolchain.sh b/scripts/install-toolchain.sh
index 068d4ff14..ef085aaaf 100755
--- a/scripts/install-toolchain.sh
+++ b/scripts/install-toolchain.sh
@@ -3,16 +3,17 @@ set -eu
 
 scripts_dir="$(cd "$(dirname $0)" && pwd)"
 
-swift_version="$(cat $scripts_dir/../.swift-version)"
-swift_tag="swift-$swift_version"
+default_swift_version="$(cat $scripts_dir/../.swift-version)"
+SWIFT_VERSION="${SWIFT_VERSION:-$default_swift_version}"
+swift_tag="swift-$SWIFT_VERSION"
 
 if [ -z "$(which swiftenv)" ]; then
   echo "swiftenv not installed, please install it before this script."
   exit 1
 fi
 
-if [ ! -z "$(swiftenv versions | grep $swift_version)" ]; then
-  echo "$swift_version is already installed."
+if [ ! -z "$(swiftenv versions | grep $SWIFT_VERSION)" ]; then
+  echo "$SWIFT_VERSION is already installed."
   exit 0
 fi
 

From b3799202a7216378d73bfb1164a9de5b47d51efb Mon Sep 17 00:00:00 2001
From: Max Desiatov <max@desiatov.com>
Date: Wed, 1 Sep 2021 13:45:13 +0100
Subject: [PATCH 2/5] Add `wasm-5.4.0-RELEASE` to `test.yml` workflow

---
 .github/workflows/test.yml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 0f63cd940..77637c372 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -11,8 +11,7 @@ jobs:
         os: [macOS-10.15, Ubuntu-18.04]
         toolchain:
           - wasm-5.3.0-RELEASE
-          - wasm-5.4-SNAPSHOT-2021-08-07-a
-          # - wasm-5.4.0-RELEASE
+          - wasm-5.4.0-RELEASE
     runs-on: ${{ matrix.os }}
     steps:
       - name: Checkout

From 28f5584dfe858cdab75f3ac7fbee7c7b0219b3e0 Mon Sep 17 00:00:00 2001
From: Max Desiatov <max@desiatov.com>
Date: Wed, 1 Sep 2021 13:46:09 +0100
Subject: [PATCH 3/5] Test with 5.3.1 instead of 5.3.0

---
 .github/workflows/test.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 77637c372..069a97cb7 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -10,7 +10,7 @@ jobs:
       matrix:
         os: [macOS-10.15, Ubuntu-18.04]
         toolchain:
-          - wasm-5.3.0-RELEASE
+          - wasm-5.3.1-RELEASE
           - wasm-5.4.0-RELEASE
     runs-on: ${{ matrix.os }}
     steps:

From 5d7c353e37456eed746cb142bdd28652d8a6acfd Mon Sep 17 00:00:00 2001
From: Max Desiatov <max@desiatov.com>
Date: Wed, 1 Sep 2021 13:46:57 +0100
Subject: [PATCH 4/5] Also test with macOS 11

---
 .github/workflows/test.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 069a97cb7..6dab9245c 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -8,7 +8,7 @@ jobs:
     name: Build and Test
     strategy:
       matrix:
-        os: [macOS-10.15, Ubuntu-18.04]
+        os: [macos-10.15, macos-11, ubuntu-18.04]
         toolchain:
           - wasm-5.3.1-RELEASE
           - wasm-5.4.0-RELEASE

From 0c664a92b183aaf7b7dc55af1ac5a56956808d62 Mon Sep 17 00:00:00 2001
From: Max Desiatov <max@desiatov.com>
Date: Wed, 1 Sep 2021 14:01:23 +0100
Subject: [PATCH 5/5] Test with Ubuntu 20.04

---
 .github/workflows/test.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 6dab9245c..0814f9d60 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -8,7 +8,7 @@ jobs:
     name: Build and Test
     strategy:
       matrix:
-        os: [macos-10.15, macos-11, ubuntu-18.04]
+        os: [macos-10.15, macos-11, ubuntu-18.04, ubuntu-20.04]
         toolchain:
           - wasm-5.3.1-RELEASE
           - wasm-5.4.0-RELEASE