Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .flutter-version

This file was deleted.

3 changes: 3 additions & 0 deletions .fvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"flutter": "3.41.9"
}
114 changes: 90 additions & 24 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,21 @@ jobs:

- uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- name: Get dependencies (plugin)
Expand Down Expand Up @@ -84,10 +95,21 @@ jobs:

- uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- name: Get dependencies
Expand Down Expand Up @@ -119,10 +141,21 @@ jobs:

- uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- name: Get dependencies (plugin — needed by gen)
Expand Down Expand Up @@ -155,10 +188,21 @@ jobs:

- uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- uses: actions/setup-java@v4
Expand Down Expand Up @@ -190,10 +234,21 @@ jobs:

- uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- name: Get dependencies
Expand Down Expand Up @@ -235,10 +290,21 @@ jobs:

- uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- name: Get dependencies
Expand Down
38 changes: 30 additions & 8 deletions .github/workflows/firebase-benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,10 +80,21 @@ jobs:

- uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- uses: actions/setup-java@v4
Expand Down Expand Up @@ -189,10 +200,21 @@ jobs:

- uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- name: Authenticate to Google Cloud (Workload Identity)
Expand Down
57 changes: 45 additions & 12 deletions .github/workflows/native_workmanager_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,21 @@ jobs:
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- name: Install dependencies
Expand All @@ -43,10 +54,21 @@ jobs:

- uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- uses: actions/setup-java@v4
Expand Down Expand Up @@ -74,10 +96,21 @@ jobs:

- uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- name: Install dependencies
Expand Down
19 changes: 15 additions & 4 deletions .github/workflows/pr-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,21 @@ jobs:

- uses: subosito/flutter-action@v2
with:
flutter-version-file: .flutter-version
# No `channel:` here on purpose — subosito/flutter-action lets channel
# WIN over flutter-version-file, so having both meant .flutter-version was
# silently ignored and every job ran whatever stable happened to be latest.
flutter-version-file: .fvmrc
# MUST be .fvmrc, not a plain .flutter-version text file. subosito/
# flutter-action's flutter-version-file only parses pubspec.yaml,
# .fvmrc or .fvm/fvm_config.json — a bare "3.41.9" file (the previous
# setup) silently failed to parse and fell back to the `channel`
# default of 'stable', floating to whatever was newest that day.
# `channel` is explicitly emptied too, since that default is
# non-empty even when this key is omitted and a non-empty channel
# wins over flutter-version-file when both resolve. Confirmed
# 2026-09-10: the plain-text pin said 3.41.9, CI actually ran 3.47.2
# (then 3.47.3 the next run) and reformatted files differently than
# local, turning an unrelated PR red. This project already manages
# Flutter locally via `fvm`, so .fvmrc is also the natural single
# source of truth for local `fvm use`.
channel: ''
cache: true

- name: Get dependencies (plugin)
Expand Down
Loading
Loading