1
0
Fork 0
mirror of https://github.com/subosito/flutter-action.git synced 2024-08-16 10:19:50 +02:00

format README

This commit is contained in:
Bartek Pacia 2024-03-31 19:30:30 +02:00
parent 46719f5374
commit e2c456ecd7
No known key found for this signature in database

164
README.md
View file

@ -1,6 +1,7 @@
# flutter-action # flutter-action
Flutter environment for use in GitHub Actions. It works on Linux, Windows, and macOS. Flutter environment for use in GitHub Actions. It works on Linux, Windows, and
macOS.
The following sections show how to configure this action. The following sections show how to configure this action.
@ -10,59 +11,67 @@ Use specific version and channel:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
flutter-version: '3.16.9' flutter-version: 3.19.0
channel: 'stable' channel: stable
- run: flutter --version - run: flutter --version
``` ```
Use latest release for particular channel: Use latest release for particular channel:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
channel: 'stable' # or: 'beta', 'dev', 'master' (or 'main') channel: stable # or: beta, master (or main)
- run: flutter --version - run: flutter --version
``` ```
Use latest release for particular version and/or channel: Use latest release for particular version and/or channel:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
flutter-version: '1.22.x' flutter-version: 1.22.x
channel: 'dev' channel: dev
- run: flutter --version - run: flutter --version
``` ```
Use particular version on any channel: Use particular version on any channel:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: subosito/flutter-action@v2 - name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
flutter-version: '3.x' flutter-version: "3.x"
channel: 'any' channel: any
- run: flutter --version - run: flutter --version
``` ```
Use particular git reference on master channel: Use particular git reference on master channel:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: subosito/flutter-action@v2 - name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
flutter-version: '5b12b74' # tag, commit or branch flutter-version: 5b12b74 # tag, commit or branch
channel: 'master' channel: master
- run: flutter --version - run: flutter --version
``` ```
## Build Target ## Build Target
@ -71,27 +80,31 @@ Build **Android** APK and app bundle:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
flutter-version: '3.16.9' flutter-version: 3.19.0
- run: flutter pub get - run: flutter pub get
- run: flutter test - run: flutter test
- run: flutter build apk - run: flutter build apk
- run: flutter build appbundle - run: flutter build appbundle
``` ```
Build for **iOS** (macOS only): Build for **iOS** (macOS runners only):
```yaml ```yaml
jobs: jobs:
build: main:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
channel: 'stable' channel: stable
- run: flutter pub get - run: flutter pub get
- run: flutter test - run: flutter test
- run: flutter build ios --release --no-codesign - run: flutter build ios --release --no-codesign
@ -101,26 +114,30 @@ Build for the **web**:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
channel: 'stable' channel: "stable"
- run: flutter pub get - run: flutter pub get
- run: flutter test - run: flutter test
- run: flutter build web - run: flutter build web
``` ```
Build for **Windows**: Build for **Windows**:
```yaml ```yaml
jobs: jobs:
build: main:
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
channel: 'stable' channel: stable
- run: flutter build windows - run: flutter build windows
``` ```
@ -128,13 +145,15 @@ Build for **Linux** desktop:
```yaml ```yaml
jobs: jobs:
build: main:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
channel: 'stable' channel: stable
- run: | - run: |
sudo apt-get update -y sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev sudo apt-get install -y ninja-build libgtk-3-dev
@ -145,36 +164,41 @@ Build for **macOS** desktop:
```yaml ```yaml
jobs: jobs:
build: main:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
channel: 'stable' channel: "stable"
- run: flutter build macos - run: flutter build macos
``` ```
## Caching ## Caching
Integration with `actions/cache`: Integration with [`actions/cache`](https://github.com/actions/cache):
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- uses: subosito/flutter-action@v2 uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with: with:
channel: 'stable' channel: stable
cache: true cache: true
# optional parameters follow # optional parameters follow
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:' # optional, change this to force refresh cache cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" # optional, change this to force refresh cache
cache-path: '${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:' # optional, change this to specify the cache path cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" # optional, change this to specify the cache path
pub-cache-key: 'flutter-pub:os:-:channel:-:version:-:arch:-:hash:' # optional, change this to force refresh cache of dart pub get dependencies pub-cache-key: "flutter-pub:os:-:channel:-:version:-:arch:-:hash:" # optional, change this to force refresh cache of dart pub get dependencies
pub-cache-path: '${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:' # optional, change this to specify the cache path pub-cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" # optional, change this to specify the cache path
- run: flutter --version - run: flutter --version
``` ```
Note: `cache-key`, `pub-cache-key`, and `cache-path` has support for several dynamic values: Note: `cache-key`, `pub-cache-key`, and `cache-path` have support for several
dynamic values:
- `:os:` - `:os:`
- `:channel:` - `:channel:`
@ -187,12 +211,14 @@ Use outputs from `flutter-action`:
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - name: Clone repository
- id: flutter-action - uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2 uses: subosito/flutter-action@v2
id: flutter-action
with: with:
channel: 'stable' channel: stable
- run: | - run: |
echo CACHE-PATH=${{ steps.flutter-action.outputs.CACHE-PATH }} echo CACHE-PATH=${{ steps.flutter-action.outputs.CACHE-PATH }}
echo CACHE-KEY=${{ steps.flutter-action.outputs.CACHE-KEY }} echo CACHE-KEY=${{ steps.flutter-action.outputs.CACHE-KEY }}
echo CHANNEL=${{ steps.flutter-action.outputs.CHANNEL }} echo CHANNEL=${{ steps.flutter-action.outputs.CHANNEL }}