name: test on: workflow_dispatch: push: branches: - main - dev pull_request: paths: - setup.sh - action.yaml - .github/workflows/workflow.yaml jobs: lint_shellcheck: runs-on: ubuntu-latest steps: - name: Clone repository uses: actions/checkout@v4 - name: Run shellcheck uses: ludeeus/action-shellcheck@master test_channel: runs-on: ${{ matrix.operating-system }} strategy: matrix: operating-system: - ubuntu-latest - windows-latest - macos-latest - macos-13 channel: [stable, beta, master] dry-run: [true, false] git-source: - https://github.com/flutter/flutter.git - https://github.com/Flutter-Foundation/flutter.git - https://gitee.com/harmonycommando_flutter/flutter.git include: - operating-system: ubuntu-latest channel: main steps: - name: Clone repository uses: actions/checkout@v4 - id: flutter-action uses: ./ with: channel: ${{ matrix.channel }} dry-run: ${{ matrix.dry-run }} git-source: ${{ matrix.git-source }} - name: Echo outputs run: | echo RUNNER-OS=${{ runner.os }} echo RUNNER-ARCH=${{ runner.arch }} echo CACHE-PATH=${{ steps.flutter-action.outputs.CACHE-PATH }} echo CACHE-KEY=${{ steps.flutter-action.outputs.CACHE-KEY }} echo CHANNEL=${{ steps.flutter-action.outputs.CHANNEL }} echo VERSION=${{ steps.flutter-action.outputs.VERSION }} echo ARCHITECTURE=${{ steps.flutter-action.outputs.ARCHITECTURE }} shell: bash - run: dart --version if: ${{ matrix.dry-run != true }} shell: bash - run: flutter --version if: ${{ matrix.dry-run != true }} shell: bash - run: "! dart --version" if: ${{ matrix.dry-run == true }} shell: bash - run: "! flutter --version" if: ${{ matrix.dry-run == true }} shell: bash test_cache: runs-on: ${{ matrix.operating-system }} strategy: matrix: operating-system: [ubuntu-latest, windows-latest, macos-latest, macos-13] steps: - name: Clone repository uses: actions/checkout@v4 - uses: ./ with: channel: stable flutter-version: 3.10.6 cache: true - run: dart --version shell: bash - run: flutter --version shell: bash test_version_file: runs-on: ${{ matrix.operating-system }} strategy: matrix: operating-system: [ubuntu-latest] steps: - name: Clone repository uses: actions/checkout@v4 - uses: ./ with: channel: stable flutter-version-file: test/pubspec.yaml - name: Verify Dart version run: dart --version | grep '2.18.6' shell: bash - name: Verify Flutter version run: flutter --version | grep '3.3.10' shell: bash test_print_output: runs-on: macos-13 # These calls to setup.sh sepcify the -t flag, which enables test mode. # Test mode uses hardcoded Flutter release manifests from test/ directory. steps: - name: Clone repository uses: actions/checkout@v4 - run: ./setup.sh -t -p -f test/pubspec.yaml | grep '3.3.10' shell: bash - run: ./setup.sh -t -p | grep 'stable' shell: bash - run: ./setup.sh -t -p | grep '3.7.7' shell: bash - run: ./setup.sh -t -p -a x64 | grep 'x64' shell: bash - run: ./setup.sh -t -p stable | grep 'stable' shell: bash - run: ./setup.sh -t -p beta | grep 'beta' shell: bash - run: ./setup.sh -t -p beta | grep '3.9.0-0.1.pre' shell: bash - run: ./setup.sh -t -p -n 3.3.10 stable | grep '3.3.10' shell: bash - run: ./setup.sh -t -p -n 3.3.1 stable | grep '3.3.1' shell: bash - run: ./setup.sh -t -p -n 2 -a x64 stable | grep '2.10.5' shell: bash - run: ./setup.sh -t -p -n 2 -a x64 beta | grep '2.13.0-0.4.pre' shell: bash - run: ./setup.sh -t -p -n 2 -a x64 any | grep 'beta' shell: bash - run: ./setup.sh -t -p -n 2 -a x64 any | grep '2.13.0-0.4.pre' shell: bash - run: ./setup.sh -t -p -n 3 any | grep 'beta' shell: bash - run: ./setup.sh -t -p -n 3 any | grep '3.9.0-0.1.pre' shell: bash - run: ./setup.sh -t -p -n 3 -a arm64 any | grep 'arm64' shell: bash - run: ./setup.sh -t -p -n any -a arm64 stable | grep 'stable' shell: bash - run: ./setup.sh -t -p -n any -a arm64 stable | grep '3.7.7' shell: bash - run: ./setup.sh -t -p -n any -a arm64 stable | grep 'arm64' shell: bash - run: ./setup.sh -t -p -n 1 -a x64 stable | grep '1.22.6' shell: bash - run: ./setup.sh -t -p -n 0 -a x64 any | grep 'beta' shell: bash - run: ./setup.sh -t -p -n 0 -a x64 any | grep '0.11.13' shell: bash - run: ./setup.sh -t -p -a x64 | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da' shell: bash - run: ./setup.sh -t -p -a x64 stable | grep 'flutter-macos-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da' shell: bash - run: ./setup.sh -t -p -a x64 beta | grep 'flutter-macos-beta-3.9.0-0.1.pre-x64-f732038a8cf4562ce38a1d7debb30209ae3da896' shell: bash - run: ./setup.sh -t -p -a x64 dev | grep 'flutter-macos-dev-2.11.0-0.1.pre-x64-b101bfe32f634566e7cb2791a9efe19cf8828b15' shell: bash - run: ./setup.sh -t -p -a x64 master | grep 'flutter-macos-master-any-x64-master' shell: bash - run: ./setup.sh -t -p -n 5b12b74 -a x64 master | grep 'flutter-macos-master-5b12b74-x64-master' shell: bash - run: ./setup.sh -t -p -n 3.12.0-12.0.pre -a x64 master | grep 'flutter-macos-master-3.12.0-12.0.pre-x64-master' shell: bash - run: ./setup.sh -t -p -n 2 -a x64 any | grep 'flutter-macos-beta-2.13.0-0.4.pre-x64-25caf1461b8f643092a9f6f5b224453b5c057d10' shell: bash - run: ./setup.sh -t -p -n 1 -a x64 any | grep 'flutter-macos-beta-1.26.0-17.8.pre-x64-044f2cf5607a26f8818dab0f766400e85c52bdff' shell: bash - run: ./setup.sh -t -p -n 0 -a x64 any | grep 'flutter-macos-beta-0.11.13-x64-58c8489fcdb4e4ef6c010117584c9b23d15221aa' shell: bash - run: ./setup.sh -t -p -a x64 | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-x64' shell: bash - run: ./setup.sh -t -p -a x64 stable | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-x64' shell: bash - run: ./setup.sh -t -p -a x64 beta | grep '/Users/runner/hostedtoolcache/flutter/beta-3.9.0-0.1.pre-x64' shell: bash - run: ./setup.sh -t -p -a x64 dev | grep '/Users/runner/hostedtoolcache/flutter/dev-2.11.0-0.1.pre-x64' shell: bash - run: ./setup.sh -t -p -a x64 master | grep '/Users/runner/hostedtoolcache/flutter/master-any-x64' shell: bash - run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:hash:' | grep 'custom-stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da' shell: bash - run: ./setup.sh -t -p -k 'custom-:channel:-:version:-:sha256:' -a x64 | grep 'custom-stable-3.7.7-78957b52f023a0d811add27eddc59b1a59d27d2ada5df123f39d0315708fb2d5' shell: bash - run: ./setup.sh -t -p -c '/tmp/flutter/:channel:-:version:-:hash:' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da' shell: bash