Skip to content

feat: 0.2.1-beta

feat: 0.2.1-beta #4

Workflow file for this run

# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: Run test and build
on:
pull_request:
push:
branches:
- main
jobs:
test-dart:
timeout-minutes: 45
runs-on:
labels: ubuntu-latest-8core
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
- uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with:
channel: 'stable'
cache: true
- uses: bluefireteam/melos-action@dd3c344d731938d2ab2567a261f54a19a68b5f6a
with:
melos-version: '3.0.1'
- name: 'Run flutter test'
run: melos run test:dart
test-android:
timeout-minutes: 45
runs-on:
labels: ubuntu-latest-8core
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
- uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with:
flutter-version: '3.16.x'
channel: 'stable'
cache: true
- uses: bluefireteam/melos-action@dd3c344d731938d2ab2567a261f54a19a68b5f6a
with:
melos-version: '3.0.1'
- name: 'Run Android native unit tests'
run: melos run test:android
test-ios:
timeout-minutes: 45
runs-on:
labels: macos-latest-xlarge
strategy:
matrix:
working_directory:
['example']
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- uses: actions/cache@v3
with:
path: '**/Pods'
key: ${{ runner.os }}-pods-${{ hashFiles('**/*.podspec') }}
restore-keys: |
${{ runner.os }}-pods-
- uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with:
flutter-version: '3.16.x'
channel: 'stable'
cache: true
- uses: bluefireteam/melos-action@dd3c344d731938d2ab2567a261f54a19a68b5f6a
with:
melos-version: '3.0.1'
- name: Generate necessary files with flutter build
working-directory: ${{ matrix.working_directory }}
run: flutter build ios --config-only
- name: 'Run iOS native unit tests'
run: DEVICE='iPhone 14 Pro' melos run test:ios
build-android:
needs: [test-dart,test-android,test-ios]
if: contains(github.base_ref, 'main')
timeout-minutes: 45
runs-on:
labels: ubuntu-latest-8core
env:
MAPS_API_KEY: ${{ secrets.ACTIONS_API_KEY }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
- uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with:
channel: 'stable'
cache: true
- uses: bluefireteam/melos-action@dd3c344d731938d2ab2567a261f54a19a68b5f6a
with:
melos-version: '3.0.1'
- name: 'Run build for Android'
run: melos run flutter-build-android
build-ios:
needs: [test-dart,test-android,test-ios]
if: contains(github.base_ref, 'main')
timeout-minutes: 90
runs-on: macos-latest-xlarge
env:
MAPS_API_KEY: ${{ secrets.ACTIONS_API_KEY }}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- uses: subosito/flutter-action@48cafc24713cca54bbe03cdc3a423187d413aafa
with:
channel: 'stable'
cache: true
architecture: x64
- uses: bluefireteam/melos-action@dd3c344d731938d2ab2567a261f54a19a68b5f6a
with:
melos-version: '3.0.1'
- uses: actions/cache@v3
with:
path: '**/Pods'
key: ${{ runner.os }}-pods-${{ hashFiles('**/*.podspec') }}
restore-keys: |
${{ runner.os }}-pods-
- name: 'Run build for iOS'
run: melos run flutter-build-ios