Skip to content

Flutter Cache CI

Flutter Cache CI #278

name: Flutter Cache CI
on:
schedule:
- cron: '0 0 * * *'
push:
branches: [ main ]
paths-ignore:
- '**.md'
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
analyze-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
- name: Install dependencies
run: flutter pub get
- name: Verify formatting
run: dart format --output=none --set-exit-if-changed .
- name: Analyze project source
run: flutter analyze
test-channel:
runs-on: ubuntu-latest
strategy:
matrix:
channel: [ 'beta', 'stable' ]
steps:
- uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: ${{ matrix.channel }}
cache: true
- name: Install dependencies
run: flutter pub get
- name: Run tests
run: flutter test
test-min:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.7.0'
cache: true
- name: Install dependencies
run: flutter pub get
- name: Run tests
run: flutter test
publish-dry-run:
needs: [ analyze-format, test-channel, test-min ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
- name: Install dependencies
run: dart pub get
- name: Publish dry-run
run: dart pub publish --dry-run