Skip to content

fix(deps): update dependency firebase-functions to v6 - autoclosed #996

fix(deps): update dependency firebase-functions to v6 - autoclosed

fix(deps): update dependency firebase-functions to v6 - autoclosed #996

Workflow file for this run

name: Pull Request
on:
workflow_dispatch:
pull_request:
workflow_call:
secrets:
FIREBASE_ADMIN_SDK_SERVICE_ACCOUNT_DEV:
required: true
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-pull_request
cancel-in-progress: true
jobs:
changed-files:
timeout-minutes: 30
runs-on: ubuntu-latest
outputs:
app_pubspec_any_changed: ${{ steps.changed-files.outputs.app_pubspec_any_changed == 'true' }}
firebase_any_changed: ${{ steps.changed-files.outputs.firebase_any_changed == 'true' }}
update_si_any_changed: ${{ steps.changed-files.outputs.update_si_any_changed == 'true' }}
steps:
- uses: actions/[email protected]
with:
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v45
with:
files_yaml: |
app_pubspec:
- packages/*/pubspec.yaml
firebase:
- firebase.json
- firebase/**
update_si:
- packages/*/assets/svg/*
- packages/*/assets/si/*
- packages/*/pubspec.yaml
generate:
timeout-minutes: 30
runs-on: ubuntu-latest
permissions: # for KoheiKanagu/composite-actions/setup-firebase-cli@main
id-token: write
contents: read
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/[email protected]
with:
comment_on_pr: false
### Set up ###
- uses: actions/[email protected]
- name: Setup Flutter
uses: subosito/[email protected]
with:
channel: beta
flutter-version-file: pubspec.yaml
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:"
pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:"
- name: Flutter bootstrap
run: |
.github/workflows/flutter_bootstrap.sh
- name: Setup Firebase CLI Dev
uses: KoheiKanagu/composite-actions/setup-firebase-cli@main
with:
workload_identity_provider: ${{ vars.WORKLOAD_IDENTITY_PROVIDER_DEV }}
service_account: ${{ vars.SERVICE_ACCOUNT_DEV }}
### Generate ###
- run: |
melos run generate
git diff --exit-code
build_runner:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/[email protected]
with:
comment_on_pr: false
### Set up ###
- uses: actions/[email protected]
- name: Setup Flutter
uses: subosito/[email protected]
with:
channel: beta
flutter-version-file: pubspec.yaml
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:"
pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:"
- name: Flutter bootstrap
run: |
.github/workflows/flutter_bootstrap.sh
### Build ###
- run: |
melos run build_runner:build --no-select
git diff --exit-code
update-si:
timeout-minutes: 30
runs-on: ubuntu-latest
needs:
- changed-files
if: ${{ needs.changed-files.outputs.update_si_any_changed == 'true' }}
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/[email protected]
with:
comment_on_pr: false
### Set up ###
- uses: actions/[email protected]
- name: Setup Flutter
uses: subosito/[email protected]
with:
channel: beta
flutter-version-file: pubspec.yaml
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:"
pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:"
- name: Flutter bootstrap
run: |
.github/workflows/flutter_bootstrap.sh
### Update si ###
- run: |
melos run update-si
git diff --exit-code
fix-format:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/[email protected]
with:
comment_on_pr: false
### Set up ###
- uses: actions/[email protected]
- name: Setup Flutter
uses: subosito/[email protected]
with:
channel: beta
flutter-version-file: pubspec.yaml
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:"
pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:"
- name: Flutter bootstrap
run: |
.github/workflows/flutter_bootstrap.sh
### fix and format ###
- name: Fix and Format
run: |
melos run pub:get
melos run dart:fix:format
git diff --exit-code
analyze:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/[email protected]
with:
comment_on_pr: false
### Set up ###
- uses: actions/[email protected]
- name: Setup Flutter
uses: subosito/[email protected]
with:
channel: beta
flutter-version-file: pubspec.yaml
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:"
pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:"
- name: Flutter bootstrap
run: |
.github/workflows/flutter_bootstrap.sh
### Analyze ###
- run: melos run pub:get
- run: melos run dart:analyze
custom_lint:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/[email protected]
with:
comment_on_pr: false
### Set up ###
- uses: actions/[email protected]
- name: Setup Flutter
uses: subosito/[email protected]
with:
channel: beta
flutter-version-file: pubspec.yaml
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:"
pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:"
- name: Flutter bootstrap
run: |
.github/workflows/flutter_bootstrap.sh
### Custom Lint ###
- run: melos run pub:get
- run: melos run dart:custom_lint
test:
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/[email protected]
with:
comment_on_pr: false
### Set up ###
- uses: actions/[email protected]
- name: Setup Flutter
uses: subosito/[email protected]
with:
channel: beta
flutter-version-file: pubspec.yaml
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:"
pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:"
- name: Flutter bootstrap
run: |
.github/workflows/flutter_bootstrap.sh
### Test ###
- name: Test
run: |
melos run flutter:test --no-select
golden_test:
timeout-minutes: 30
runs-on: macos-14
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/[email protected]
with:
comment_on_pr: false
### Set up ###
- uses: actions/[email protected]
- name: Setup Flutter
uses: subosito/[email protected]
with:
channel: beta
flutter-version-file: pubspec.yaml
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:"
pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:"
- name: Flutter bootstrap
run: |
.github/workflows/flutter_bootstrap.sh
### Test ###
- name: Test
run: |
melos run flutter:golden:test --no-select
- name: Upload a Build Artifact
if: always()
uses: actions/[email protected]
with:
name: golden_failures
path: packages/*/test/**/failures/
pod_install:
timeout-minutes: 60
runs-on: macos-14
needs: changed-files
if: ${{ needs.changed-files.outputs.app_pubspec_any_changed == 'true' }}
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/[email protected]
with:
comment_on_pr: false
### Set up ###
- uses: actions/[email protected]
- name: Setup Flutter
uses: subosito/[email protected]
with:
channel: beta
flutter-version-file: pubspec.yaml
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:"
pub-cache-key: "flutter-pub-:os:-:channel:-:version:-:arch:"
- name: Flutter bootstrap
run: |
.github/workflows/flutter_bootstrap.sh
- name: Pods Cache
uses: actions/[email protected]
with:
path: |
packages/*/ios/Pods
~/Library/Caches/CocoaPods/Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
- name: Update CocoaPods
run: gem update cocoapods
### Build ###
- run: melos run pub:get
- run: melos run pod:install
- run: git diff --exit-code
firebase-test:
timeout-minutes: 30
runs-on: ubuntu-latest
permissions: # for KoheiKanagu/composite-actions/setup-firebase-cli@main
id-token: write
contents: read
needs: changed-files
if: ${{ needs.changed-files.outputs.firebase_any_changed == 'true' }}
steps:
- name: Collect Workflow Telemetry
uses: catchpoint/[email protected]
with:
comment_on_pr: false
### Set up ###
- uses: actions/[email protected]
- name: Setup Firebase CLI Dev
uses: KoheiKanagu/composite-actions/setup-firebase-cli@main
with:
workload_identity_provider: ${{ vars.WORKLOAD_IDENTITY_PROVIDER_DEV }}
service_account: ${{ vars.SERVICE_ACCOUNT_DEV }}
### Test ###
- name: Test
run: |
# https://github.com/firebase/firebase-admin-node/issues/1377
# Workaround for the issue above
echo ${{ secrets.FIREBASE_ADMIN_SDK_SERVICE_ACCOUNT_DEV }} | base64 --decode > service-account.json
# GOOGLE_APPLICATION_CREDENTIALS is only used in the current shell
export GOOGLE_APPLICATION_CREDENTIALS=$GITHUB_WORKSPACE/service-account.json
./firebase_emulators_test.sh
### Cleanup ###
- name: Cleanup
if: always()
run: |
rm -f service-account.json