Skip to content

feat: Project CRUD (#5) #3

feat: Project CRUD (#5)

feat: Project CRUD (#5) #3

Workflow file for this run

name: 🔍 Continuous Integration
on:
push:
branches: [main]
paths:
- "{lib,test}/**"
- "pubspec.*"
pull_request:
branches: [main]
paths:
- "{lib,test}/**"
- "pubspec.*"
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
dependencies:
name: 📦 Setup Dependencies
runs-on: ubuntu-latest
steps:
- name: 📚 Code Checkout
uses: actions/checkout@v4
- name: 🐦 Setup Flutter SDK
id: fl-setup
uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.29.x
cache: true
cache-key: |
fl-:channel:-v:version:-:os:-:arch:-ci-${{ hashFiles('./pubspec.lock') }}
pub-cache-key: |
fl-pub-:channel:-v:version:-:os:-:arch:-ci-${{ hashFiles('./pubspec.lock') }}
- name: 📦 Get dependencies
run: flutter pub get
outputs:
fl-channel: ${{ steps.fl-setup.outputs.CHANNEL }}
fl-version: ${{ steps.fl-setup.outputs.VERSION }}
fl-cache-key: ${{ steps.fl-setup.outputs.CACHE-KEY }}
fl-pub-cache-key: ${{ steps.fl-setup.outputs.PUB-CACHE-KEY }}
lint:
name: 🔍 Code Linting
needs: dependencies
runs-on: ubuntu-latest
steps:
- name: 📚 Code Checkout
uses: actions/checkout@v4
- name: 📦 Restore Dependencies
uses: subosito/flutter-action@v2
with:
channel: ${{ needs.dependencies.outputs.fl-channel }}
flutter-version: ${{ needs.dependencies.outputs.fl-version }}
cache: true
cache-key: ${{ needs.dependencies.outputs.fl-cache-key }}
pub-cache-key: ${{ needs.dependencies.outputs.fl-pub-cache-key }}
- name: 🏗️ Build code utils
run: dart run build_runner build -d
- name: 🔍 Code Linting
run: |
flutter analyze || dart analyze
dart run custom_lint