287 lines
12 KiB
YAML
287 lines
12 KiB
YAML
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_x64:
|
|
runs-on: ubuntu-latest
|
|
|
|
# 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 | 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 stable | grep '2.10.5'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 2 beta | grep '2.13.0-0.4.pre'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 2 any | grep 'beta'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 2 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 any | grep 'x64'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n any stable | grep 'stable'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n any stable | grep '3.7.7'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n any stable | grep 'x64'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 1 stable | grep '1.22.6'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 0 any | grep 'beta'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 0 any | grep '0.11.13'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p | grep 'flutter-linux-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p stable | grep 'flutter-linux-stable-3.7.7-x64-2ad6cd72c040113b47ee9055e722606a490ef0da'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p beta | grep 'flutter-linux-beta-3.9.0-0.1.pre-x64-f732038a8cf4562ce38a1d7debb30209ae3da896'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p dev | grep 'flutter-linux-dev-2.13.0-0.1.pre-x64-13a2fb10b838971ce211230f8ffdd094c14af02c'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p master | grep 'flutter-linux-master-any-x64-master'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 5b12b74 master | grep 'flutter-linux-master-5b12b74-x64-master'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 3.12.0-12.0.pre master | grep 'flutter-linux-master-3.12.0-12.0.pre-x64-master'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n stable master | grep 'flutter-linux-master-stable-x64-master'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 2 any | grep 'flutter-linux-beta-2.13.0-0.4.pre-x64-25caf1461b8f643092a9f6f5b224453b5c057d10'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 1 any | grep 'flutter-linux-beta-1.26.0-17.8.pre-x64-044f2cf5607a26f8818dab0f766400e85c52bdff'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 0 any | grep 'flutter-linux-beta-0.11.13-x64-58c8489fcdb4e4ef6c010117584c9b23d15221aa'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p | grep '/opt/hostedtoolcache/flutter/stable-3.7.7-x64'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p stable | grep '/opt/hostedtoolcache/flutter/stable-3.7.7-x64'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p beta | grep '/opt/hostedtoolcache/flutter/beta-3.9.0-0.1.pre-x64'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p dev | grep '/opt/hostedtoolcache/flutter/dev-2.13.0-0.1.pre-x64'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p master | grep '/opt/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:' | grep 'custom-stable-3.7.7-cdd49597e88c35e5de5184e9acff433dfbb3c075b74ef7b27790af7f57ce2420'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -c '/tmp/flutter/:channel:-:version:-:hash:' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -d '/tmp/flutter/:channel:-:version:-:hash:-pub-cache-path' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da-pub-cache-path'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -l '/tmp/flutter/:channel:-:version:-:hash:-pub-cache-key' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da-pub-cache-key'
|
|
shell: bash
|
|
|
|
|
|
test_print_output_arm64:
|
|
runs-on: macos-latest
|
|
|
|
# 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 | grep 'arm64'
|
|
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 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 | grep 'flutter-macos-stable-3.7.7-arm64-2ad6cd72c040113b47ee9055e722606a490ef0da'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p stable | grep 'flutter-macos-stable-3.7.7-arm64-2ad6cd72c040113b47ee9055e722606a490ef0da'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p beta | grep 'flutter-macos-beta-3.9.0-0.1.pre-arm64-8b9b90e75107181aadc303d8d7422205863a35dd'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p master | grep 'flutter-macos-master-any-arm64-master'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 5b12b74 master | grep 'flutter-macos-master-5b12b74-arm64-master'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n 3.12.0-12.0.pre master | grep 'flutter-macos-master-3.12.0-12.0.pre-arm64-master'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -n stable master | grep 'flutter-macos-master-stable-arm64-master'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-arm64'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p stable | grep '/Users/runner/hostedtoolcache/flutter/stable-3.7.7-arm64'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p beta | grep '/Users/runner/hostedtoolcache/flutter/beta-3.9.0-0.1.pre-arm64'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p master | grep '/Users/runner/hostedtoolcache/flutter/master-any-arm64'
|
|
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:' | grep 'custom-stable-3.7.7-0511b9f164a62f467b063e6c83d9c683bb3fb056ee556b2f45e987a2c2f4a260'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -c '/tmp/flutter/:channel:-:version:-:hash:' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -d '/tmp/flutter/:channel:-:version:-:hash:-pub-cache-path' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da-pub-cache-path'
|
|
shell: bash
|
|
- run: ./setup.sh -t -p -l '/tmp/flutter/:channel:-:version:-:hash:-pub-cache-key' | grep '/tmp/flutter/stable-3.7.7-2ad6cd72c040113b47ee9055e722606a490ef0da-pub-cache-key'
|
|
shell: bash
|