feat: add reusable Flutter build actions for android, ios, macos, windows, and linux
Update README Actions Table / update-readme (push) Successful in 7s
Update README Actions Table / update-readme (push) Successful in 7s
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# Flutter Build iOS
|
||||
|
||||
Composite action to install Apple signing certificates and provisioning profiles into an isolated temporary keychain, build a Flutter iOS `.ipa`, and optionally push to TestFlight and Shorebird.
|
||||
|
||||
## Inputs
|
||||
|
||||
| Name | Description | Required | Default |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| `working_directory` | Path to the Flutter app package directory. | No | `.` |
|
||||
| `export_options_plist` | Relative path inside `working_directory` to `ExportOptions.plist`. | No | `ios/ExportOptions.plist` |
|
||||
| `build_args` | Extra arguments passed to `flutter build ipa / ios`. | No | `''` |
|
||||
| `disable_spm` | Disable Flutter Swift Package Manager before building. | No | `true` |
|
||||
| `artifact_prefix` | Optional prefix for copied versioned IPA in `output_dir`. | No | `''` |
|
||||
| `output_dir` | Directory to copy versioned IPA into when `artifact_prefix` is set. | No | `artifacts` |
|
||||
| `certificate_base64` | Base64-encoded Apple iOS distribution `.p12` certificate. | No | `''` |
|
||||
| `certificate_password` | Password for the Apple `.p12` certificate. | No | `''` |
|
||||
| `provisioning_profile_base64` | Base64-encoded `.mobileprovision` profile. | No | `''` |
|
||||
| `asc_key_id` | App Store Connect API Key ID. | No | `''` |
|
||||
| `asc_issuer_id` | App Store Connect API Issuer ID. | No | `''` |
|
||||
| `asc_private_key` | App Store Connect API Private Key (`.p8` content). | No | `''` |
|
||||
| `apple_id_username` | Fallback Apple ID email for `altool` upload. | No | `''` |
|
||||
| `apple_id_password` | Fallback Apple ID app-specific password for `altool` upload. | No | `''` |
|
||||
| `upload_to_testflight` | Whether to upload signed IPA to TestFlight when credentials are provided. | No | `true` |
|
||||
| `shorebird_token` | Shorebird token for optional Shorebird iOS release. | No | `''` |
|
||||
|
||||
## Outputs
|
||||
|
||||
| Name | Description |
|
||||
| :--- | :--- |
|
||||
| `version` | Resolved package version from `pubspec.yaml`. |
|
||||
| `ipa_path` | Path to the built or packaged `.ipa` file. |
|
||||
| `signed` | `'true'` if a signed App Store IPA was exported, `'false'` otherwise. |
|
||||
|
||||
## Example Usage
|
||||
|
||||
```yaml
|
||||
- name: Build & Release iOS
|
||||
uses: rodydavis/shared-actions/flutter-build-ios@main
|
||||
with:
|
||||
working_directory: packages/hfw_flutter
|
||||
artifact_prefix: hfw-ios
|
||||
certificate_base64: ${{ secrets.IOS_CERTIFICATE_BASE64 }}
|
||||
certificate_password: ${{ secrets.IOS_CERTIFICATE_PWD }}
|
||||
provisioning_profile_base64: ${{ secrets.IOS_PROVISIONING_PROFILE_BASE64 }}
|
||||
asc_key_id: ${{ secrets.APP_STORE_CONNECT_KEY_ID }}
|
||||
asc_issuer_id: ${{ secrets.APP_STORE_CONNECT_ISSUER_ID }}
|
||||
asc_private_key: ${{ secrets.APP_STORE_CONNECT_PRIVATE_KEY }}
|
||||
shorebird_token: ${{ secrets.SHOREBIRD_TOKEN }}
|
||||
```
|
||||
Reference in New Issue
Block a user