1
0
Fork 0
mirror of https://github.com/subosito/flutter-action.git synced 2024-08-16 10:19:50 +02:00
flutter/README.md
菘菘 6a13bd0836
feat: support to set architecture of SDK executable (#147)
* feat: support to set architecture of SDK executable

* docs: update

* fix: try fix tests

* ci: set `fail-fast` to false

* fix: get latest version sdk

* fix: test any version

* fix: legacy version format

* fix: tests

* revert changes for `.github/workflows/workflow.yml`

* Update workflow.yml

* rename `ARCHITECTURE` to `ARCH`

* follow the existing spacing

* style: simplified code

* Update setup.sh

* style
2022-04-19 16:08:46 +07:00

3.2 KiB

flutter-action

Flutter environment for use in GitHub Actions. It works on Linux, Windows, and macOS.

Usage

Use specific version and channel:

steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
  with:
    flutter-version: '2.8.0'
    channel: 'stable'
- run: flutter --version

Use latest release for particular channel:

steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
  with:
    channel: 'stable' # or: 'beta' or 'master'
- run: flutter --version

Use latest release for particular version and/or channel:

steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
  with:
    flutter-version: '1.22.x' # or, you can use 1.22
    channel: 'dev'
- run: flutter --version

Use particular version on any channel:

steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
  with:
    flutter-version: '2.x'
    channel: 'any'
- run: flutter --version

Build Android APK and app bundle:

steps:
- uses: actions/checkout@v2
- uses: actions/setup-java@v2
  with:
    distribution: 'zulu'
    java-version: '11'
- uses: subosito/flutter-action@v2
  with:
    flutter-version: '2.10.4'
- run: flutter pub get
- run: flutter test
- run: flutter build apk
- run: flutter build appbundle

Build for iOS (macOS only):

jobs:
  build:
    runs-on: macos-latest
    steps:
    - uses: actions/checkout@v2
    - uses: subosito/flutter-action@v2
      with:
        flutter-version: '2.10.4'
        architecture: x64
    - run: flutter pub get
    - run: flutter test
    - run: flutter build ios --release --no-codesign

Build for the web:

steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
  with:
    flutter-version: '2.10.4'
- run: flutter pub get
- run: flutter test
- run: flutter build web

Build for Windows:

jobs:
 build:
   runs-on: windows-latest
   steps:
     - uses: actions/checkout@v2
     - uses: subosito/flutter-action@v2
       with:
         channel: 'beta'
     - run: flutter config --enable-windows-desktop
     - run: flutter build windows

Build for Linux desktop:

jobs:
 build:
   runs-on: ubuntu-latest
   steps:
     - uses: actions/checkout@v2
     - uses: subosito/flutter-action@v2
       with:
         channel: 'beta'
     - run: |
        sudo apt-get update -y
        sudo apt-get install -y ninja-build libgtk-3-dev        
     - run: flutter config --enable-linux-desktop
     - run: flutter build linux

Build for macOS desktop:

jobs:
 build:
   runs-on: macos-latest
   steps:
     - uses: actions/checkout@v2
     - uses: subosito/flutter-action@v2
       with:
         channel: 'beta'
         architecture: x64
     - run: flutter config --enable-macos-desktop
     - run: flutter build macos

Integration with actions/cache:

steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
  with:
    flutter-version: '2.10.x'
    channel: 'stable'
    cache: true
    cache-key: flutter # optional, change this to force refresh cache
    cache-path: ${{ runner.tool_cache }}/flutter # optional, change this to specify the cache path
    architecture: x64 # optional, x64 or arm64
- run: flutter --version