Skip to content

DEVEXP-1243: Remove Voice and Verification V1 #162

DEVEXP-1243: Remove Voice and Verification V1

DEVEXP-1243: Remove Voice and Verification V1 #162

Workflow file for this run

name: Test Python SDK
on: [ push ]
env:
APPLICATION_KEY: ${{ secrets.APPLICATION_KEY }}
APPLICATION_SECRET: ${{ secrets.APPLICATION_SECRET }}
AUTH_ORIGIN: ${{ secrets.AUTH_ORIGIN }}
CONVERSATION_ORIGIN: ${{ secrets.CONVERSATION_ORIGIN }}
DISABLE_SSL: ${{ secrets.DISABLE_SSL }}
KEY_ID: ${{ secrets.KEY_ID }}
KEY_SECRET: ${{ secrets.KEY_SECRET }}
NUMBERS_ORIGIN: ${{ secrets.NUMBERS_ORIGIN }}
PROJECT_ID: ${{ secrets.PROJECT_ID }}
SERVICE_PLAN_ID: ${{ secrets.SERVICE_PLAN_ID }}
SMS_ORIGIN: ${{ secrets.SMS_ORIGIN }}
TEMPLATES_ORIGIN: ${{ secrets.TEMPLATES_ORIGIN }}
VERIFICATION_ORIGIN: ${{ secrets.VERIFICATION_ORIGIN }}
VOICE_CALL_ID: ${{ secrets.VOICE_CALL_ID }}
VOICE_ORIGIN: ${{ secrets.VOICE_ORIGIN }}
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .
pip install -r requirements-dev.txt
- name: Compile all examples
run: |
for file in $(find examples -name "*.py"); do
echo "Compiling $file..."
python -m py_compile "$file" || exit 1
done
echo "All examples compiled successfully."
- name: Check snippet coverage
run: |
pip install python-dotenv
python scripts/check_snippet_coverage.py
- name: Lint and format check with Ruff
run: |
ruff check sinch/domains/numbers --statistics
ruff format sinch/domains/numbers --check --diff
ruff check sinch/domains/sms --statistics
ruff format sinch/domains/sms --check --diff
ruff check sinch/domains/number_lookup --statistics
ruff format sinch/domains/number_lookup --check --diff
ruff check sinch/domains/conversation --statistics
ruff format sinch/domains/conversation --check --diff
- name: Test with Pytest
run: |
coverage run --source=. -m pytest
- name: Coverage Test Report
run: |
python -m coverage report --skip-empty
- name: Checkout sinch-sdk-mockserver repository
uses: actions/checkout@v3
with:
repository: sinch/sinch-sdk-mockserver
token: ${{ secrets.PAT_CI }}
fetch-depth: 0
path: sinch-sdk-mockserver
- name: Install Docker Compose
run: |
sudo apt-get update
sudo apt-get install -y docker-compose
- name: Start mock servers with Docker Compose
run: |
cd sinch-sdk-mockserver
docker-compose up -d
- name: Copy feature files
run: |
cp sinch-sdk-mockserver/features/numbers/available-regions.feature ./tests/e2e/numbers/features/
cp sinch-sdk-mockserver/features/numbers/callback-configuration.feature ./tests/e2e/numbers/features/
cp sinch-sdk-mockserver/features/numbers/numbers.feature ./tests/e2e/numbers/features/
cp sinch-sdk-mockserver/features/numbers/webhooks.feature ./tests/e2e/numbers/features/
cp sinch-sdk-mockserver/features/sms/delivery-reports.feature ./tests/e2e/sms/features/
cp sinch-sdk-mockserver/features/sms/delivery-reports_servicePlanId.feature ./tests/e2e/sms/features/
cp sinch-sdk-mockserver/features/sms/batches.feature ./tests/e2e/sms/features/
cp sinch-sdk-mockserver/features/sms/batches_servicePlanId.feature ./tests/e2e/sms/features/
cp sinch-sdk-mockserver/features/sms/webhooks.feature ./tests/e2e/sms/features/
cp sinch-sdk-mockserver/features/number-lookup/lookups.feature ./tests/e2e/number-lookup/features/
cp sinch-sdk-mockserver/features/conversation/messages.feature ./tests/e2e/conversation/features/
cp sinch-sdk-mockserver/features/conversation/webhooks-events.feature ./tests/e2e/conversation/features/
- name: Wait for mock server
run: .github/scripts/wait-for-mockserver.sh
shell: bash
- name: Run e2e tests sync
run: |
python -m behave tests/e2e/numbers/features
python -m behave tests/e2e/sms/features
python -m behave tests/e2e/conversation/features
python -m behave tests/e2e/number-lookup/features