Skip to content

chore: migrate to SPM, remove CocoaPods and hotkey_manager dependency #1

chore: migrate to SPM, remove CocoaPods and hotkey_manager dependency

chore: migrate to SPM, remove CocoaPods and hotkey_manager dependency #1

Workflow file for this run

name: CI
on:
push:
branches: [main, dev]
pull_request:
branches: [main]
jobs:
lint:
name: Lint & Analyze
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.38.7'
channel: 'stable'
cache: true
- name: Install melos
run: dart pub global activate melos
- name: Add melos to PATH
run: echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
- name: Verify melos installation
run: dart pub global run melos --version
- name: Bootstrap melos
run: dart pub global run melos bootstrap
- name: Check code formatting
run: dart pub global run melos run format-check
- name: Analyze code
run: dart pub global run melos run analyze
test:
name: Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.38.7'
channel: 'stable'
cache: true
- name: Install melos
run: dart pub global activate melos
- name: Add melos to PATH
shell: bash
run: |
if [[ "$RUNNER_OS" == "Windows" ]]; then
echo "$USERPROFILE/.pub-cache/bin" >> $GITHUB_PATH
else
echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
fi
- name: Verify melos installation
run: dart pub global run melos --version
- name: Bootstrap melos
run: dart pub global run melos bootstrap
- name: Run tests
run: dart pub global run melos run test
# Linux build
build-linux:
name: Build Linux
runs-on: ubuntu-latest
needs: [lint]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.38.7'
channel: 'stable'
cache: true
- name: Install melos
run: dart pub global activate melos
- name: Add melos to PATH
run: echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
- name: Bootstrap melos
run: dart pub global run melos bootstrap
- name: Install Linux dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
- name: Build screen_retriever example Linux
run: |
cd packages/screen_retriever/example
flutter build linux --release
# macOS build
build-macos:
name: Build macOS
runs-on: macos-latest
needs: [lint]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.38.7'
channel: 'stable'
cache: true
- name: Install melos
run: dart pub global activate melos
- name: Add melos to PATH
run: echo "$HOME/.pub-cache/bin" >> $GITHUB_PATH
- name: Bootstrap melos
run: dart pub global run melos bootstrap
- name: Build screen_retriever example macOS
run: |
cd packages/screen_retriever/example
flutter build macos --release
# Windows build
build-windows:
name: Build Windows
runs-on: windows-latest
needs: [lint]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.38.7'
channel: 'stable'
cache: true
- name: Install melos
run: dart pub global activate melos
- name: Add melos to PATH
shell: bash
run: echo "$USERPROFILE/.pub-cache/bin" >> $GITHUB_PATH
- name: Bootstrap melos
run: dart pub global run melos bootstrap
- name: Build screen_retriever example Windows
run: |
cd packages/screen_retriever/example
flutter build windows --release