feat(share_plus): SharePlus refactor #730
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Build Share Plus Example | |
name: share_plus | |
concurrency: | |
group: share_plus_${{ github.head_ref || github.ref_name }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash | |
on: | |
pull_request: | |
paths: | |
- "packages/share_plus/**" | |
- ".github/workflows/share_plus.yaml" | |
- "!**.md" | |
- "!**.gitignore" | |
env: | |
PLUGIN_SCOPE: "*share_plus*" | |
PLUGIN_EXAMPLE_SCOPE: "*share_plus_example*" | |
jobs: | |
analyze: | |
name: "Dart Analyzer" | |
timeout-minutes: 15 | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: | | |
./.github/workflows/scripts/install-tools.sh | |
- name: "Bootstrap Workspace" | |
run: melos bootstrap | |
- name: "Run Dart Analyze" | |
uses: invertase/github-action-dart-analyzer@v3 | |
with: | |
fatal-infos: false | |
fatal-warnings: true | |
annotate: true | |
working-directory: ./packages/share_plus | |
android_build: | |
runs-on: macos-14 | |
timeout-minutes: 30 | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: ./.github/workflows/scripts/install-tools.sh | |
- name: "Build Example" | |
run: ./.github/workflows/scripts/build-examples.sh android ./lib/main.dart | |
android_integration_test: | |
# Use non M1 machine till https://github.com/ReactiveCircus/android-emulator-runner/issues/350 is resolved | |
runs-on: macos-13 | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
android-api-level: [ 22, 26, 31, 34 ] | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: ./.github/workflows/scripts/install-tools.sh | |
- name: "Bootstrap Workspace" | |
run: melos bootstrap --scope="$PLUGIN_SCOPE" | |
- name: "Android Integration Test" | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: ${{ matrix.android-api-level }} | |
cores: 3 | |
target: google_apis | |
arch: x86_64 | |
force-avd-creation: false | |
profile: Nexus 5X | |
script: ./.github/workflows/scripts/integration-test.sh android share_plus_example | |
ios: | |
runs-on: macos-14 | |
timeout-minutes: 30 | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: ./.github/workflows/scripts/install-tools.sh | |
- name: "Build Example" | |
run: ./.github/workflows/scripts/build-examples.sh ios ./lib/main.dart | |
ios_integration_test: | |
runs-on: macos-14 | |
timeout-minutes: 30 | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: ./.github/workflows/scripts/install-tools.sh | |
- name: "Bootstrap Workspace" | |
run: melos bootstrap --scope="$PLUGIN_SCOPE" | |
- name: "Start Simulator" | |
uses: futureware-tech/simulator-action@v4 | |
with: | |
model: 'iPhone 15' | |
- name: "Run Integration Test" | |
run: ./.github/workflows/scripts/integration-test.sh ios share_plus_example | |
macos: | |
runs-on: macos-14 | |
timeout-minutes: 30 | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: ./.github/workflows/scripts/install-tools.sh | |
- name: "Build Example" | |
run: ./.github/workflows/scripts/build-examples.sh macos ./lib/main.dart | |
macos_integration_test: | |
runs-on: macos-14 | |
timeout-minutes: 30 | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: ./.github/workflows/scripts/install-tools.sh | |
- name: "Bootstrap Workspace" | |
run: melos bootstrap --scope="$PLUGIN_SCOPE" | |
- name: "Run Integration Test" | |
run: ./.github/workflows/scripts/integration-test.sh macos share_plus_example | |
linux: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: ./.github/workflows/scripts/install-tools.sh | |
- name: "Build Example" | |
run: ./.github/workflows/scripts/build-examples.sh linux ./lib/main.dart | |
linux_integration_test: | |
if: false # TODO: enable this if it is possible to register a mailto protocol handler on github hosted runners | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: ./.github/workflows/scripts/install-tools.sh | |
- name: "Bootstrap Workspace" | |
run: melos bootstrap --scope="$PLUGIN_SCOPE" | |
- name: "Run Integration Test" | |
run: ./.github/workflows/scripts/integration-test.sh linux share_plus_example | |
windows: | |
runs-on: windows-latest | |
timeout-minutes: 30 | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: ./.github/workflows/scripts/install-tools.sh | |
- name: "Build Example" | |
run: ./.github/workflows/scripts/build-examples.sh windows ./lib/main.dart | |
windows_integration_test: | |
runs-on: windows-latest | |
timeout-minutes: 30 | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: ./.github/workflows/scripts/install-tools.sh | |
- name: "Bootstrap Workspace" | |
run: melos.bat bootstrap --scope="$PLUGIN_SCOPE" | |
- name: "Run Integration Test" | |
run: ./.github/workflows/scripts/integration-test.sh windows share_plus_example | |
web: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
steps: | |
- name: "Checkout repository" | |
uses: actions/checkout@v4 | |
- name: "Install Flutter" | |
run: ./.github/workflows/scripts/install-flutter.sh stable | |
- name: "Install Tools" | |
run: ./.github/workflows/scripts/install-tools.sh | |
- name: "Build Example" | |
run: ./.github/workflows/scripts/build-examples.sh web ./lib/main.dart |