DEVEXP-515: E2E SMS/Batches (#123) #172
This file contains 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 Sinch Node.js SDK | |
on: [push] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.x, 20.x] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- run: yarn install | |
- run: npx eslint "packages/**/src/**/*.ts" | |
- run: npx eslint "packages/**/tests/**/*.ts" | |
- run: yarn run build | |
- run: yarn run test | |
e2e: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- 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: Build custom Docker image | |
run: | | |
cd sinch-sdk-mockserver | |
docker build -t sinch-sdk-mockserver -f Dockerfile . | |
- 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: Wait for the mock servers to be healthy | |
run: | | |
cd sinch-sdk-mockserver | |
chmod +x ./scripts/healthcheck.sh | |
./scripts/healthcheck.sh | |
- name: Create target directories for feature files | |
run: | | |
mkdir -p ./packages/fax/tests/e2e/features | |
mkdir -p ./packages/numbers/tests/e2e/features | |
mkdir -p ./packages/conversation/tests/e2e/features | |
mkdir -p ./packages/elastic-sip-trunking/tests/e2e/features | |
- name: Copy feature files | |
run: | | |
cp sinch-sdk-mockserver/features/fax/*.feature ./packages/fax/tests/e2e/features/ | |
cp sinch-sdk-mockserver/features/numbers/*.feature ./packages/numbers/tests/e2e/features/ | |
cp sinch-sdk-mockserver/features/conversation/*.feature ./packages/conversation/tests/e2e/features/ | |
cp sinch-sdk-mockserver/features/elastic-sip-trunking/*.feature ./packages/elastic-sip-trunking/tests/e2e/features/ | |
- name: Run e2e tests | |
run: | | |
yarn install | |
yarn run build | |
yarn run e2e | |
sonarcloud: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# Disabling shallow clone is recommended for improving relevancy of reporting | |
fetch-depth: 0 | |
- name: SonarCloud Scan | |
uses: sonarsource/sonarcloud-github-action@master | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT_CI }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |