DEVEXP-488: Move AvailableNumbers and ActiveNumbers related operations #146
Workflow file for this run
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: 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 | |
servers=( | |
"authentication-server" | |
"fax-server" | |
"numbers-server" | |
"conversation-server" | |
"conversation-templates-server" | |
) | |
for server in "${servers[@]}"; do | |
SECONDS=0 | |
while ! docker inspect --format='{{json .State.Health.Status}}' $(docker-compose ps -q $server) | grep -q '"healthy"'; do | |
if [ $SECONDS -ge 30 ]; then | |
echo "Timeout: $server did not become healthy within 30 seconds." | |
exit 1 | |
fi | |
echo "Waiting for $server to be healthy..." | |
sleep 2 | |
done | |
echo "$server is healthy!" | |
done | |
- 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 | |
- 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/ | |
- 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 }} |