rustpbx 0.4.7

A SIP PBX implementation in Rust
Documentation
name: E2E Tests

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

jobs:
  e2e-default:
    name: e2e (default features)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - name: install sipbot
        run: cargo install sipbot || true
      - name: Run default E2E tests
        run: cargo test --test e2e_p2p_comprehensive_test --test e2e_p2p_demo_test --test e2e_queue_comprehensive_test --test e2e_conference_test -- --nocapture
        timeout-minutes: 10

  e2e-wholesale:
    name: e2e (wholesale)
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          submodules: false
      - name: Configure CNB credentials
        env:
          CNB_USERNAME: ${{ secrets.CNB_USERNAME }}
          CNB_TOKEN: ${{ secrets.CNB_TOKEN }}
        run: |
          test -n "$CNB_USERNAME" || { echo "CNB_USERNAME secret is required"; exit 1; }
          test -n "$CNB_TOKEN" || { echo "CNB_TOKEN secret is required"; exit 1; }
          git config --global credential.helper store
          printf "protocol=https\nhost=cnb.cool\nusername=%s\npassword=%s\n\n" "$CNB_USERNAME" "$CNB_TOKEN" | git credential approve
      - name: Checkout wholesale submodule
        run: |
          git submodule sync --recursive src/addons/wholesale
          git submodule update --init --recursive --depth=1 src/addons/wholesale
      - uses: actions-rust-lang/setup-rust-toolchain@v1
      - name: install sipbot
        run: cargo install sipbot || true
      - name: Run wholesale E2E tests
        run: cargo test --features wholesale --test e2e_wholesale_test -- --nocapture
        timeout-minutes: 10