feat: add multi-channel messaging gateway with Telegram Bot integration #69
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and Test | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| test-cli: | |
| name: Test Rust CLI | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache Cargo | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| cli/target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Build CLI | |
| working-directory: cli | |
| run: cargo build --verbose | |
| - name: Run CLI tests | |
| working-directory: cli | |
| run: cargo test --verbose | |
| - name: Check formatting | |
| working-directory: cli | |
| run: cargo fmt -- --check | |
| - name: Run clippy | |
| working-directory: cli | |
| run: cargo clippy -- -D warnings | |
| test-daemon: | |
| name: Test Dart Daemon | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Dart | |
| uses: dart-lang/setup-dart@v1 | |
| with: | |
| sdk: stable | |
| - name: Install dependencies | |
| working-directory: daemon | |
| run: dart pub get | |
| - name: Check formatting | |
| working-directory: daemon | |
| run: dart format --set-exit-if-changed . | |
| - name: Analyze code | |
| working-directory: daemon | |
| run: dart analyze | |
| - name: Run tests | |
| working-directory: daemon | |
| run: dart test | |
| lint: | |
| name: Lint and Format Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check YAML files | |
| uses: ibiqlik/action-yamllint@v3 | |
| with: | |
| file_or_dir: config/ | |
| - name: Check Markdown files | |
| uses: DavidAnson/markdownlint-cli2-action@v11 | |
| with: | |
| globs: | | |
| **/*.md | |
| !**/node_modules/** |