From e2c456ecd7651bd8dbf2c6cd2f256267d83ea632 Mon Sep 17 00:00:00 2001 From: Bartek Pacia Date: Sun, 31 Mar 2024 19:30:30 +0200 Subject: [PATCH] format README --- README.md | 242 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 134 insertions(+), 108 deletions(-) diff --git a/README.md b/README.md index 686f09d..0b4afaf 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # 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. @@ -10,59 +11,67 @@ Use specific version and channel: ```yaml steps: -- uses: actions/checkout@v4 -- uses: subosito/flutter-action@v2 - with: - flutter-version: '3.16.9' - channel: 'stable' -- run: flutter --version + - name: Clone repository + uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: 3.19.0 + channel: stable + - run: flutter --version ``` Use latest release for particular channel: ```yaml steps: -- uses: actions/checkout@v4 -- uses: subosito/flutter-action@v2 - with: - channel: 'stable' # or: 'beta', 'dev', 'master' (or 'main') -- run: flutter --version + - name: Clone repository + uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable # or: beta, master (or main) + - run: flutter --version ``` Use latest release for particular version and/or channel: ```yaml steps: -- uses: actions/checkout@v4 -- uses: subosito/flutter-action@v2 - with: - flutter-version: '1.22.x' - channel: 'dev' -- run: flutter --version + - name: Clone repository + uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: 1.22.x + channel: dev + - run: flutter --version ``` Use particular version on any channel: ```yaml steps: -- uses: actions/checkout@v4 -- uses: subosito/flutter-action@v2 - with: - flutter-version: '3.x' - channel: 'any' -- run: flutter --version + - uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: "3.x" + channel: any + - run: flutter --version ``` Use particular git reference on master channel: ```yaml steps: -- uses: actions/checkout@v4 -- uses: subosito/flutter-action@v2 - with: - flutter-version: '5b12b74' # tag, commit or branch - channel: 'master' -- run: flutter --version + - uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: 5b12b74 # tag, commit or branch + channel: master + - run: flutter --version ``` ## Build Target @@ -71,110 +80,125 @@ Build **Android** APK and app bundle: ```yaml steps: -- uses: actions/checkout@v4 -- uses: subosito/flutter-action@v2 - with: - flutter-version: '3.16.9' -- run: flutter pub get -- run: flutter test -- run: flutter build apk -- run: flutter build appbundle + - name: Clone repository + uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: 3.19.0 + - run: flutter pub get + - run: flutter test + - run: flutter build apk + - run: flutter build appbundle ``` -Build for **iOS** (macOS only): +Build for **iOS** (macOS runners only): ```yaml jobs: - build: + main: runs-on: macos-latest steps: - - uses: actions/checkout@v4 - - uses: subosito/flutter-action@v2 - with: - channel: 'stable' - - run: flutter pub get - - run: flutter test - - run: flutter build ios --release --no-codesign + - name: Clone repository + uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + - run: flutter pub get + - run: flutter test + - run: flutter build ios --release --no-codesign ``` Build for the **web**: ```yaml steps: -- uses: actions/checkout@v4 -- uses: subosito/flutter-action@v2 - with: - channel: 'stable' -- run: flutter pub get -- run: flutter test -- run: flutter build web + - name: Clone repository + uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: "stable" + - run: flutter pub get + - run: flutter test + - run: flutter build web ``` Build for **Windows**: ```yaml jobs: - build: - runs-on: windows-latest - steps: - - uses: actions/checkout@v4 - - uses: subosito/flutter-action@v2 - with: - channel: 'stable' - - run: flutter build windows + main: + runs-on: windows-latest + steps: + - name: Clone repository + uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + - run: flutter build windows ``` Build for **Linux** desktop: ```yaml jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: subosito/flutter-action@v2 - with: - channel: 'stable' - - run: | - sudo apt-get update -y - sudo apt-get install -y ninja-build libgtk-3-dev - - run: flutter build linux + main: + runs-on: ubuntu-latest + steps: + - name: Clone repository + uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + - run: | + sudo apt-get update -y + sudo apt-get install -y ninja-build libgtk-3-dev + - run: flutter build linux ``` Build for **macOS** desktop: ```yaml jobs: - build: - runs-on: macos-latest - steps: - - uses: actions/checkout@v4 - - uses: subosito/flutter-action@v2 - with: - channel: 'stable' - - run: flutter build macos + main: + runs-on: macos-latest + steps: + - name: Clone repository + uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: "stable" + - run: flutter build macos ``` ## Caching -Integration with `actions/cache`: +Integration with [`actions/cache`](https://github.com/actions/cache): ```yaml steps: -- uses: actions/checkout@v4 -- uses: subosito/flutter-action@v2 - with: - channel: 'stable' - cache: true - # optional parameters follow - 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 - 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 -- run: flutter --version + - name: Clone repository + uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + cache: true + # optional parameters follow + 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 + 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 + - 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:` - `:channel:` @@ -187,18 +211,20 @@ Use outputs from `flutter-action`: ```yaml steps: -- uses: actions/checkout@v4 -- id: flutter-action - uses: subosito/flutter-action@v2 - with: - channel: 'stable' -- run: | - 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 }} - echo PUB-CACHE-PATH=${{ steps.flutter-action.outputs.PUB-CACHE-PATH }} - echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }} - shell: bash + - name: Clone repository + - uses: actions/checkout@v4 + - name: Set up Flutter + uses: subosito/flutter-action@v2 + id: flutter-action + with: + channel: stable + - run: | + 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 }} + echo PUB-CACHE-PATH=${{ steps.flutter-action.outputs.PUB-CACHE-PATH }} + echo PUB-CACHE-KEY=${{ steps.flutter-action.outputs.PUB-CACHE-KEY }} + shell: bash ```