diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml new file mode 100644 index 0000000..c84200f --- /dev/null +++ b/.forgejo/workflows/ci.yml @@ -0,0 +1,49 @@ +# SPDX-FileCopyrightText: 2026 FocusFlow contributors +# SPDX-License-Identifier: AGPL-3.0-only + +# Forgejo-native CI for the Circuit-Forge focus-flow fork. +# +# Ashley's upstream .github/workflows/ci.yml targets GitHub-hosted +# ubuntu-latest/windows-latest/macos-latest runners, which don't exist on +# this self-hosted instance for non-org repos (that workflow shows every +# matrix job as "Has been cancelled" on eva/focus-flow). This workflow +# mirrors the working pattern already used by circuitforge-core, peregrine, +# and kiwi on this instance: ubuntu-latest only. + +name: CI + +on: + push: + branches: [main, 'feat/**', 'fix/**'] + pull_request: + branches: [main] + +jobs: + workspace: + name: Pure-Dart workspace packages + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dart-lang/setup-dart@v1 + with: + sdk: stable + - run: dart pub get + - run: dart analyze + - run: dart run scripts/test.dart + + flutter_app: + name: Flutter app (analyze, test, format) + runs-on: ubuntu-latest + defaults: + run: + working-directory: apps/focus_flow_flutter + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + flutter-version: 3.44.4 + channel: stable + - run: flutter pub get + - run: flutter analyze + - run: flutter test + - run: dart format --set-exit-if-changed lib test