Express checkout web #767
Workflow file for this run
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
name: packages (all) | |
on: | |
push: | |
branches: [master] | |
paths-ignore: | |
- "docs/**" | |
- "website/**" | |
- "**.md" | |
pull_request: | |
branches: ['**'] | |
paths-ignore: | |
- "docs/**" | |
- "website/**" | |
- "**.md" | |
jobs: | |
analyze: | |
name: analyze | |
timeout-minutes: 15 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: 'stable' | |
- name: "Install Tools" | |
run: | | |
./.github/workflows/scripts/install-tools.sh | |
- name: "Bootstrap Workspace" | |
run: melos bootstrap | |
- name: "Set env keys" | |
env: | |
STRIPE_PUBLISHABLE_KEY: ${{ secrets.STRIPE_PUBLISHABLE_KEY }} | |
run: | | |
./.github/workflows/scripts/env-files.sh | |
- name: "Run Analyze" | |
run: melos run analyze | |
- name: "Pub Check" | |
run: | | |
melos exec -c 1 --no-private --ignore="*example*" -- \ | |
flutter pub publish --dry-run | |
test: | |
name: test | |
timeout-minutes: 30 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: 'stable' | |
- name: "Install Tools" | |
run: | | |
./.github/workflows/scripts/install-tools.sh | |
- name: "Bootstrap Workspace" | |
run: melos bootstrap | |
- name: "Set env keys" | |
env: | |
STRIPE_PUBLISHABLE_KEY: ${{ secrets.STRIPE_PUBLISHABLE_KEY }} | |
STRIPE_SECRET_KEY: ${{ secrets.STRIPE_SECRET_KEY }} | |
run: | | |
./.github/workflows/scripts/env-files.sh | |
- name: "Run unittest" | |
run: melos run unittest | |
ios_integration_test: | |
name: integration test (iOS) | |
needs: [analyze, test] | |
timeout-minutes: 60 | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: subosito/flutter-action@v2 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: 'yarn' | |
cache-dependency-path: example/server/yarn.lock | |
- name: "Install Tools" | |
run: | | |
./.github/workflows/scripts/install-tools.sh | |
- name: "Bootstrap Workspace" | |
run: melos bootstrap | |
- name: "Set env keys" | |
env: | |
STRIPE_PUBLISHABLE_KEY: ${{ secrets.STRIPE_PUBLISHABLE_KEY }} | |
STRIPE_SECRET_KEY: ${{ secrets.STRIPE_SECRET_KEY }} | |
run: | | |
./.github/workflows/scripts/env-files.sh | |
- name: "Start dev server" | |
working-directory: example/server | |
run: yarn install && (yarn start:dev &) | |
- name: "Set IP address" | |
working-directory: example | |
run: | | |
echo "const kApiUrl='''$(ifconfig | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}')''';" > integration_test/ip.dart | |
cat integration_test/ip.dart | |
- name: "Start iOS Simulator" | |
run: | | |
xcrun simctl boot "iPhone 15" | |
- name: "Run Flutter Driver tests on iOS" | |
working-directory: example | |
run: "flutter drive --driver test_driver/integration_test.dart --target=integration_test/run_all_tests.dart" | |
android_integration_test: | |
name: integration test (Android) | |
needs: [analyze, test, ios_integration_test] | |
timeout-minutes: 60 | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: subosito/flutter-action@v2 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: 'yarn' | |
cache-dependency-path: example/server/yarn.lock | |
- name: Set up Java version | |
uses: actions/setup-java@v1 | |
with: | |
java-version: '17' | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
- name: "Install Tools" | |
run: | | |
./.github/workflows/scripts/install-tools.sh | |
- name: "Bootstrap Workspace" | |
run: melos bootstrap | |
- name: "Set env keys" | |
env: | |
STRIPE_PUBLISHABLE_KEY: ${{ secrets.STRIPE_PUBLISHABLE_KEY }} | |
STRIPE_SECRET_KEY: ${{ secrets.STRIPE_SECRET_KEY }} | |
run: | | |
./.github/workflows/scripts/env-files.sh | |
- name: "Start dev server" | |
working-directory: example/server | |
run: yarn install && (yarn start:dev &) | |
- name: "Set IP address" | |
working-directory: example | |
run: | | |
echo "const kApiUrl='''$(ifconfig | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}')''';" > integration_test/ip.dart | |
cat integration_test/ip.dart | |
- name: "Run integration test Android" | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: 34 | |
arch: x86_64 | |
working-directory: example | |
script: | | |
sleep 15; | |
flutter drive --driver test_driver/integration_test.dart --target=integration_test/run_all_tests.dart; | |
cd android && ./gradlew :app:connectedDebugAndroidTest; |