Skip to content

Updated ci.yaml pipeline to run service and native client tests in seperate jobs #255

Updated ci.yaml pipeline to run service and native client tests in seperate jobs

Updated ci.yaml pipeline to run service and native client tests in seperate jobs #255

Workflow file for this run

name: ITP
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
permissions:
contents: read
env:
REPORT_FORMATTER: mocha-reporter-gha
jobs:
build:
name: Build
runs-on: ubuntu-latest
environment: QA
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
- uses: actions/setup-node@v3
with:
node-version: 20
registry-url: https://registry.npmjs.org/
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- uses: actions/upload-artifact@v4
with:
name: build
path: dist
- name: Audit
run: npm audit
- name: Lint
run: npm run lint
- name: Test (Formatting)
run: npm run test:formatting
test_service:
name: Test (Service Client)
runs-on: ubuntu-latest
environment: QA
needs: build
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
- uses: actions/setup-node@v3
with:
node-version: 20
registry-url: https://registry.npmjs.org/
- name: Install dependencies
run: npm ci
- uses: actions/download-artifact@v4
with:
name: build
- name: Test (Service Client)
env:
ITP_API_URL: ${{ vars.ITP_API_URL }}
ITP_ISSUER_URL: ${{ vars.ITP_ISSUER_URL }}
ITP_SERVICE_CLIENT_ID: ${{ vars.ITP_SERVICE_CLIENT_ID }}
ITP_SERVICE_CLIENT_SECRET: ${{ secrets.ITP_SERVICE_CLIENT_SECRET }}
ITP_MAILINATOR_API_KEY: ${{ secrets.ITP_MAILINATOR_API_KEY }}
run: npm run test:service
test_native:
name: Test (Native Client)
runs-on: ubuntu-latest
environment: QA
needs: build
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 2
- uses: actions/setup-node@v3
with:
node-version: 20
registry-url: https://registry.npmjs.org/
- name: Install dependencies
run: npm ci
- uses: actions/download-artifact@v4
with:
name: build
- name: Test (Native Client)
env:
ITP_API_URL: ${{ vars.ITP_API_URL }}
ITP_ISSUER_URL: ${{ vars.ITP_ISSUER_URL }}
ITP_MAILINATOR_API_KEY: ${{ secrets.ITP_MAILINATOR_API_KEY }}
ITP_NATIVE_TEST_CLIENT_ID: ${{ vars.ITP_NATIVE_TEST_CLIENT_ID }}
ITP_TEST_USER_EMAIL: ${{ vars.ITP_TEST_USER_EMAIL }}
ITP_TEST_USER_PASSWORD: ${{ secrets.ITP_TEST_USER_PASSWORD }}
run: npm run test:native