diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 0effeec..6d89d3a 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -65,13 +65,16 @@ jobs: run: flutter --version test_any_channel: runs-on: ubuntu-latest + strategy: + matrix: + version: [ 2, any ] steps: - name: Checkout uses: actions/checkout@v3 - uses: ./ with: channel: any - flutter-version: 2 + flutter-version: ${{ matrix.version }} - name: Run dart --version shell: bash run: dart --version diff --git a/setup.sh b/setup.sh index 8d048aa..c59fb4a 100755 --- a/setup.sh +++ b/setup.sh @@ -14,6 +14,10 @@ normalize_version() { } latest_version() { + jq --arg arch "$ARCH" '.releases | map(select(.dart_sdk_arch == null or .dart_sdk_arch == $arch)) | first' +} + +latest_channel_version() { jq --arg channel "$1" --arg arch "$ARCH" '.releases | map(select(.channel==$channel) | select(.dart_sdk_arch == null or .dart_sdk_arch == $arch)) | first' } @@ -32,8 +36,10 @@ wildcard_version() { } get_version() { - if [[ $2 == any ]]; then - latest_version $1 + if [[ $1 == any && $2 == any ]]; then + latest_version + elif [[ $2 == any ]]; then + latest_channel_version $1 else wildcard_version $1 $2 fi